Настройка брандмауэра windows из командной строки

Брандмауэром Windows можно управлять не только привычным всем способом — через окна панели управления. Командная строка Windows так же имеет команды для управления собственным файрволом операционной системы Microsoft.

Брандмауэром Windows можно управлять не только привычным всем способом — через окна панели управления. Командная строка Windows так же имеет команды для управления собственным файрволом операционной системы Microsoft.

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

Рассмотрим подробнее какие команды есть для настройки брандмауэра Windows из командной строки CMD.

Для управление брандмауэром с помощью команд, командную строку CMD необходимо запустить с правами администратора.

Выключение и включение брандмауэра

Выключение брандмауэра:

netsh advfirewall set allprofiles state off

Включение брандмауэра:

netsh advfirewall set allprofiles state on

Выключение сетевых профилей:

netsh advfirewall set domainprofile state off
netsh advfirewall set privateprofile state off
netsh advfirewall set publicprofile state off

Включение сетевых профилей:

netsh advfirewall set domainprofile state on
netsh advfirewall set privateprofile state on
netsh advfirewall set publicprofile state on

Запрет всех входящих соединений и разрешение исходящих:

netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound

Разрешение прохождения сетевых протоколов

Следующее правило принимает входящий трафик по ICMP-протоколу, проще говоря разрешает ping:

netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow

Закрытие и открытие портов брандмауэра

Разрешение входящих протоколов TCP и UDP на 80 порт:

netsh advfirewall firewall add rule name="Open Port 80" dir=in action=allow protocol=TCP localport=80
netsh advfirewall firewall add rule name="Open Port 80" dir=in action=allow protocol=UDP localport=80 

Запрет входящих протоколов на 80 порт:

netsh advfirewall firewall add rule name="HTTP" protocol=TCP localport=80 action=block dir=IN
netsh advfirewall firewall add rule name="HTTP" protocol=UDP localport=80 action=block dir=IN

Открыть диапозон портов для исходящего UDP трафика

netsh advfirewall firewall add rule name="Port range" protocol=UDP localport=5000-5100 action=allow dir=OUT

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

netsh advfirewall firewall delete rule name="HTTP"

Ограничения сетевого трафика по IP адресам

правило ограничивающие подключение одно ip-адреса

netsh advfirewall firewall add rule name="HTTP" protocol=TCP localport=80 action=allow dir=IN remoteip=192.168.0.1

Ограничение подключений с диапазона ip-адресов или сетей.

netsh advfirewall firewall add rule name="HTTP" protocol=TCP localport=80 action=block dir=IN remoteip=192.168.0.0/24
netsh advfirewall firewall add rule name="HTTP" protocol=TCP localport=80 action=allow dir=IN remoteip=192.168.0.50-192.168.0.70
netsh advfirewall firewall add rule name="HTTP" protocol=TCP localport=80 action=block dir=IN remoteip=localsubnet

Правила для приложений

Разрешить соединения для программы MyApp.exe

netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes

Комбинирование параметров

Можно использовать длинные выражения путем комбинирования сразу нескольких параметров:

netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domain

Мы создали правило, которое разрешает входящие соединения к приложению MyApp из сетей с ip-адресами 157.60.0.1,172.16.0.0/16 и доменным профилем сетевого подключения.

На официальном сайте Microsoft можно ознакомится с примерами сравнения старого контекста Windows XP и нового, который начал использоваться в Windows 7.

http://support.microsoft.com/kb/947709

Все команды необходимо выполнять из командной строки, запущенной с правами администратора

Импорт и экспорт настроек

  • Сохранить текущую политику брандмауэра можно командой:
netsh advfirewall export C:\conf.wfw
  • Импортируется политика аналогичной командой, только через import
netsh advfirewall import C:\conf.wfw

Управление брандмауэром и профилями

  • Отключение брандмауэра
netsh advfirewall set allprofiles state off
  • Включение брандмауэра
netsh advfirewall set allprofiles state on
  • Также управление отдельными профилями, выключение:
netsh advfirewall set domainprofile state off
netsh advfirewall set privateprofile state off
netsh advfirewall set publicprofile state off
  • Включение отдельных профилей
netsh advfirewall set domainprofile state on
netsh advfirewall set privateprofile state on
netsh advfirewall set publicprofile state on
  • Изменение поведения брандмауэра для входящих и исходящих подключений

Доступные значения:

blockinbound (по умолчанию) — блокировать входящие подключения, не соотверствующие ни одному правилу

allowinbound — разрешить все входящие подключения

blockoutbound — блокировать исходящие подключения, не соответствующие ни одному правилу

allowoutbound (по умолчанию) — разрешить все исходящие подключения

Так мы, например, разрешим все входящие и исходящие подключения, независимо от настроенных правил

netsh advfirewall set allprofiles firewallpolicy allowinbound,allowoutbound

Так запретим входящие соединения, не соответствующие правилам, исходящие — все разрешены (такое поведение по умолчанию)

netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound

Работа с правилами

  • Добавление правил для порта

Так мы добавим правило, разрешающее TCP и UDP подключения для порта 10050 (zabbix-агент)

netsh advfirewall firewall add rule name="MyRule" protocol=TCP localport=10050 action=allow dir=IN
netsh advfirewall firewall add rule name="MyRule" protocol=UDP localport=10050 action=allow dir=IN
  • Добавление правил для приложения
netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes
  • Удалить правила можно по имени
netsh advfirewall firewall delete rule name="MyRule"
  • Включение / выключение правил

Так мы включим все правила из группы «Удаленное завершение работы»

netsh advfirewall firewall set rule group="Удаленное завершение работы" new enable=yes

Выключение группы правил

netsh advfirewall firewall set rule group="Удаленное завершение работы" new enable=no

Аналогичным образом можно включить конкретное правило

netsh advfirewall firewall set rule name="MyRule" new enable=no

Еще один пример — включение правила для ICMP запросов в разделе «Входящие»

netsh advfirewall firewall set rule name="Общий доступ к файлам и принтерам (эхо-запрос - входящий трафик ICMPv4)" new dir=in enable=yes

Сброс настроек

  • сброс настроек к значениям по умолчанию
netsh advfirewall reset

Будьте осторожны, т.к. удалятся все настроенные ранее правила.

Публикуем чаще всего необходимые команды для управления брандмауэром Windows.
Команды, которые будут представлены в данной статье можно вводить в «Командной строке» либо в «Power Shell«.

1. Посмотреть текущие настройки брандмауэра Windows командой netsh.

netsh advfirewall firewall show rule name=all
show rules for the domain profile
netsh advfirewall firewall show rule name=all profile=domain,public,private

2. Сбросить настройки брандмауэра Windows на «настройки по-умолчанию».

netsh advfirewall reset

3. Включить (ON) и отключить (OFF) брандмауэр Windows.

netsh advfirewall set allprofiles state on
netsh advfirewall set allprofiles state off

4. Открыть порт в настройках брандмауэра Windows через командную строку. Одной из распространенных задач настройки Windows Firewall является открытие портов, используемых программами.
Откроем 21/tcp порт для FTP:

netsh advfirewall firewall
add rule name="Open FTP 21 TCP"
dir=in action=allow protocol=TCP localport=21

Удалить порт:

netsh advfirewall firewall
delete rule name="Open FTP 21 TCP"
dir=in action=allow protocol=TCP localport=21

5. Добавить запрещающее правило для порта брандмауэра Windows.
Запретим входящее подключение по 80 порту TCP\UDP протоколу.

netsh advfirewall firewall add rule name="HTTP" protocol=TCP localport=80 action=block dir=IN
netsh advfirewall firewall add rule name="HTTP" protocol=UDP localport=80 action=block dir=IN

6. Заблокировать (block), разрешить (allow) ICMP (ping) в брандмауэре.

netsh advfirewall firewall add rule name="All ICMP V4" dir=in action=block protocol=icmpv4
netsh advfirewall firewall add rule name="All ICMP V4" dir=in action=allow protocol=icmpv4

7. Запретить все входящие и разрешить все исходящие подключения.

netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound

8. Добавить программу в список разрешенных в брандмауэре Windows.

netsh advfirewall firewall
add rule name="Allow VNC" dir=in action=allow
program="C:\Program Files\RealVNC\VNC Viewer\vncviewer.exe"

9. Разрешить подключение к удаленному рабочему столу.

netsh advfirewall firewall set rule group=
"remote desktop allow" new enable=Yes

10.  Изменить путь хранения лог-файла брандмауэра Windows.
По умолчанию лог-файлы расположены в директории с:\Windows\system32\LogFiles\Firewall\pfirewall.log.

netsh advfirewall set currentprofile
logging filename "C:\Logs\pfirewall.log"

11. Экспорт/импорт настроек брандмауэра Windows.

netsh advfirewall export "C:\temp\WFconfiguration.wfw"
netsh advfirewall import "C:\temp\WFconfiguration.wfw"

10 полезных команд для настройки и запроса установок конфигурации Windows Firewall. Имейте в виду, что эти команды можно вызывать из сценариев PowerShell

Сегодня Windows PowerShell работает лишь с подмножеством функций управления Windows Server, хотя в Windows Server 8 будет реализовано примерно 2300 новых команд Windows PowerShell. Пока для настройки сети и брандмауэра Windows Server приходится использовать команды netsh. Ниже перечислены .

10. Запрос правил брандмауэра. Чтобы узнать текущие свойства конфигурации Windows Firewall, воспользуйтесь следующей командой:

netsh advfirewall firewall show rule name=all

9. Включение и выключение брандмауэра. Иногда во время тестирования или настройки нового приложения необходимо временно отключить Windows Firewall. Приведенные ниже команды позволяют выключить и затем вновь включить брандмауэр:

netsh advfirewall set allprofiles state on
netsh advfirewall set allprofiles state off

8. Сброс брандмауэра. Если вы допустили ошибку в настройке Windows Firewall, то с помощью следующей команды netsh можно вернуть брандмауэр к установкам по умолчанию:

netsh advfirewall reset

7. Настройка журнала. По умолчанию файлы журнала Windows Firewall сохраняются в папке \Windows\system32\LogFiles\Firewall\pfirewall.log. Изменить путь сохранения журналов на C:\temp можно с помощью команды:

netsh advfirewall set currentprofile
logging filename "C:\temp\pfirewall.log"

6. Контроль запросов проверки связи. С помощью netsh можно проверить отклик системы на запросы проверки связи. Приведенные ниже команды позволяют закрыть и затем открыть брандмауэр для запросов проверки связи:

netsh advfirewall firewall add rule name="All ICMP V4"
dir=in action=block protocol=icmpv4
netsh advfirewall firewall add rule name="All ICMP V4"
dir=in action=allow protocol=icmpv4

5. Открыть порт. Одной из распространенных задач настройки Windows Firewall является открытие портов, используемых программами. В следующем примере показано, как с помощью netsh создать правило открытия порта 1433, применяемого Microsoft SQL Server:

netsh advfirewall firewall
add rule name="Open SQL Server Port 1433"
dir=in action=allow protocol=TCP localport=1433

4. Разрешение выполнения программы. Бывает, что требуется открыть Windows Firewall для конкретной программы. Приведенный ниже пример иллюстрирует добавление правила, разрешающего программе Windows Live Messenger работать через Windows Firewall:

netsh advfirewall firewall
add rule name="Allow Messenger" dir=in action=allow
program="C:\programfiles\messenger\msnmsgr.exe"

3. Разрешение удаленного управления. Еще одна распространенная задача — разрешить удаленное управление, чтобы инструменты управления (например, консоль управления Microsoft) могли подключаться к удаленным узлам. Воспользуйтесь приведенной ниже командой, чтобы открыть брандмауэр для удаленного управления:

netsh advfirewall firewall set rule group=
"remote administration" new enable=yes

2. Подключение к удаленному рабочему столу. Чтобы облегчить управление удаленными системами, откройте Windows Firewall для подключения к удаленному рабочему столу с помощью команды:

netsh advfirewall firewall set rule group=
"remote desktop" new enable=Yes

1. Экспорт/импорт установок брандмауэра. Приведенные ниже команды позволяют экспортировать установки конфигурации Windows Firewall для повторного применения или импортировать их в другую систему:

netsh advfirewall export "C:\temp\WFconfiguration.wfw"
netsh advfirewall import "C:\temp\WFconfiguration.wfw"

Майкл Оти (motey@windowsitpro.com) — технический директор Windows IT Pro и SQL Server Magazine, автор Microsoft SQL Server 2008 New Features (Osborne/McGraw-Hill)

В Windows server 2008 (R2), а также в обычных Windows vista, 7, 8 есть встроенный брандмауэр (firewall). В этой статье расмотрим несколько примеров как создавать правила из командной строки, также эти команды можно использовать при написании своих пакетных сценариев cmd, bat, powershell.

Все команды нужно выполнять из коммандной строки cmd запущенной с правами администратора.

Включение, выключение

Включить брандмауэр:

netsh advfirewall set allprofiles state on

Выключить брандмауэр:

netsh advfirewall set allprofiles state off

Включение отдельных профилей:

netsh advfirewall set domainprofile state on
netsh advfirewall set privateprofile state on
netsh advfirewall set publicprofile state on

Выключение отдельных профилей:

netsh advfirewall set domainprofile state off
netsh advfirewall set privateprofile state off
netsh advfirewall set publicprofile state off

Запретить все входяшие соединения и разрешить все исходяшие:

netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound

Правила на порты

Разрешить входящие TCP и UDP соединения для 80 порта:

netsh advfirewall firewall add rule name="HTTP" protocol=TCP localport=80 action=allow dir=IN
netsh advfirewall firewall add rule name="HTTP" protocol=UDP localport=80 action=allow dir=IN

Запретить входящие на 80 порт:

netsh advfirewall firewall add rule name="HTTP" protocol=TCP localport=80 action=block dir=IN
netsh advfirewall firewall add rule name="HTTP" protocol=UDP localport=80 action=block dir=IN

Открыть диапозон портов для исходящего UDP трафика

netsh advfirewall firewall add rule name="Port range" protocol=UDP localport=5000-5100 action=allow dir=OUT

Удалять правила можно по имени

netsh advfirewall firewall delete rule name="HTTP"

Ограничения по IP адресам

Правила можно ограничивать для работы только с одним ip:

netsh advfirewall firewall add rule name="HTTP" protocol=TCP localport=80 action=allow dir=IN remoteip=192.168.0.1

Или ограничивать по подсетями причем можно использовать разный синтаксис:

netsh advfirewall firewall add rule name="HTTP" protocol=TCP localport=80 action=block dir=IN remoteip=192.168.0.0/24
netsh advfirewall firewall add rule name="HTTP" protocol=TCP localport=80 action=allow dir=IN remoteip=192.168.0.50-192.168.0.70
netsh advfirewall firewall add rule name="HTTP" protocol=TCP localport=80 action=block dir=IN remoteip=localsubnet

Правила для приложений

Разрешить соединения для программы MyApp.exe

netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes

Комбинирования параметров

Параметры можно соединять в довольно сложные цепочки:

netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domain

В данном случае мы создали правило для программы, которое работает при если компьютер подключен к доменну организации (profile=domain) и определенны три диапозона ip адресов.

Подробней о настройках брандмауэра можно прочитать на сайте микрософта там же есть отличия от сторого синтаксиса который использовался на Windows XP и Windows server 2003:

http://support.microsoft.com/kb/947709

Часть примеров были взяты из статьи на английском языке:

http://itblog.gr/213/configuring-windows-firewall-from-the-command-line/

Все об активации Windows 7 тут

weblifeplus.ru

  • Настройка браузера по умолчанию windows 11
  • Настройка времени в linux и windows
  • Настройка видеокарты nvidia на максимальную производительность windows 10
  • Настройка времени блокировки экрана windows 10
  • Настройка браузера microsoft edge в windows 10