Как мне настроить брандмауэр Windows, чтобы разрешить определенным компьютерам подключаться к Экземпляр SQL Server?

Я пытаюсь разрешить только определенным компьютерам в моем домене подключаться к экземпляру SQL Server, но, похоже, я случайно блокирую подключение всех компьютеров.

Когда я ухожу in, чтобы настроить брандмауэр на сервере, на котором размещена база данных, после настройки компьютеров, на которых я хочу иметь доступ к экземпляру. Он блокирует их всех. После установки правила обратно в исходное состояние оно работает.

  • Действие: Разрешите соединение, если оно безопасное.
  • Удаленные компьютеры
    • Разрешить подключения только с этих компьютеров: Установлено
    • В диалоговом окне ниже указаны имена компьютеров, которые я хочу: DOMAIN \ PC1 $, DOMAIN \ PC2 $ и т. Д.
  • Установка этого правила приводит к подключению к время ожидания сервера истекает примерно через 60 секунд, а затем возвращается стандартное сообщение «сервер не существует или доступ запрещен».

    Какие правильные настройки мне нужно использовать?

    1
    задан 7 August 2016 в 00:00
    1 ответ

    Вы можете сделать это с помощью встроенного Windows Server 2012 в брандмауэре и с помощью простых и применимых команд брандмауэра Netsh AdvFirewall из командной строки (или пакетного сценария) запускаются от имени администратора .

    См. «Сценарии и команды» ниже «Объяснение». . .


    Объяснение

    По сути, вы должны разрешить входящие соединения следующим образом:

    1. По номеру порта TCP экземпляр SQL Server прослушивает сервер

      • [localport = {любой | Целое | rpc | rpc-epmap | тередо | [, ...]}]

        • Указывает, что совпадают сетевые пакеты с совпадающими номерами IP-портов по этому правилу. localport сравнивается с полем Source Port в исходящий сетевой пакет. Он сравнивается с полем Destination Port. входящего сетевого пакета.

          • Целое число . Задает точный номер порта , который должен присутствовать для пакета, соответствующего правилу. Значения портов могут быть отдельными числами от 0 до 65535 , диапазоном, например 5000-5020 , , или списком чисел и диапазонов, разделенных запятыми.

        Для localport можно указать несколько записей, разделив их запятой. Не включайте пробелы.

        Если localport не указан, по умолчанию будет любым .

    2. Разрешив соединения только через этот TCP-порт из определенного ( или набор) IP-адресов

      • [localip = {Адреса}]

        • Указывает, что сетевые пакеты с совпадающие IP-адреса соответствуют этому правилу. localip сравнивается с полем IP-адреса назначения входящего сетевого пакета. Он сравнивается с полем IP-адреса источника исходящего сетевого пакета.

          • IPAddress. Соответствует только точному адресу IPv4 или IPv6 .

        Для localip можно указать несколько записей , разделив их запятой. Не включайте пробелы.

        Если localip не указан, значение по умолчанию - любое .


    Сценарии и команды

    Командная строка

    netsh advfirewall firewall add rule name="Inbound 1433 Access Per IP Address" dir=in  protocol=tcp  action=allow localip=192.168.1.10,192.168.1.20,192.168.1.30
    

    Пакетный сценарий Разрешить

    ECHO ON
    SET name="Inbound 1433 Access Per IP Address"
    SET dir=in 
    SET protocol=tcp 
    SET action=allow 
    SET localport=1433 
    SET localip=192.168.1.1,192.168.1.2,192.168.1.1
    
    netsh advfirewall firewall add rule name=%name% dir=%dir% protocol=%protocol% action=%action% localip=%localip%
    

    Удаление правила

    netsh advfirewall firewall delete rule name="Inbound 1433 Access Per IP Address"
    

    Дополнительные ресурсы

    1
    ответ дан 3 December 2019 в 23:43

    Теги

    Похожие вопросы