Бывает так, что вам нужно написать сценарий или удаленно подключиться к ПК и запустить команду для включения или отключения брандмауэра Windows. В большинстве ИТ-средах использование групповой политики — это самый простой способ настроить брандмауэр Windows на клиентских компьютерах.
Это также самый простой способ добавить исключения портов для таких сервисов, как HTTP, совместное использование файлов, программные приложения и т.д. Тем не менее, также хорошо знать, как настроить брандмауэр Windows из командной строки, только если у вас есть компьютеры и серверы, которых нет в Active Directory.
Управление брандмауэром Windows из командной строки
Во-первых, чтобы увидеть, включен ли брандмауэр Windows на сервере или компьютере, введите эту команду в командной строке:
netsh advfirewall show allprofiles
Убедитесь, что вы открыли командную строку администратора (нажмите «Пуск», введите CMD, а затем щелкните правой кнопкой мыши «Командная строка» и выберите «Запуск от имени администратора»). Вы должны получить что-то похожее на то, что показано ниже:
По умолчанию вы должны увидеть три отдельных списка: настройки профиля домена, настройки личного профиля и настройки общего профиля. Эти три настройки соответствуют трем состояниям, в которые вы можете поместить каждое сетевое соединение на своём компьютере. Если вы подключены к домашней сети и выбрали опцию «Домашняя сеть», будут применены настройки личного профиля.
Состояние означает, что брандмауэр включен или выключен. Политика брандмауэра сообщает вам, какие входящие и исходящие политики применяются к каждому профилю.
Чтобы отключить брандмауэр для определенного профиля, вы должны использовать следующую команду:
netsh advfirewall set privateprofile state off
Другими параметрами являются currentprofile, publicprofile, domainprofile и allprofiles. Поэтому, если вы хотите полностью отключить брандмауэр, вы должны использовать allprofiles вместо privateprofile. Чтобы снова включить, просто измените на on, а не на off.
Открыть порт в брандмауэре с помощью командной строки
Что если вы хотите открыть порт в брандмауэре с помощью командной строки? Это тоже просто!
Предположим, вы хотите открыть порт 3389, который предназначен для удаленного рабочего стола в Windows. Вы просто выполните эту команду:
netsh advfirewall firewall add rule name="Open Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
Команда довольно длинная, но ее довольно легко сломать. Вы добавляете правило, даете ему имя, выбираете протокол (TCP или UDP), выбираете направление (In или Out), указываете ему номер порта и выбираете действие (Разрешить или Запретить).
Если вы должны запустить эту команду, затем перейдите к разрешенным приложениям в брандмауэре Windows, вы увидите, что элемент «Удаленный рабочий стол» теперь проверен:
Если вам нужно открыть ряд портов, просто используйте простой тире. Например, здесь я открываю порты от 600 до 7000 для исходящего трафика UDP:
netsh advfirewall firewall add rule name="UDP ports" protocol=UDP dir=out localport=6000-7000 action=allow
Существует множество дополнительных команд, которые вы можете использовать для управления всеми аспектами брандмауэра Windows, поэтому обязательно используйте /? символов в конце любой команды, чтобы увидеть все варианты и примеры.