Брандмауэром 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