Тупой вопрос:
Есть ли в Windows аналог iptables? Могу ли я установить его через cygwin?
Реальный вопрос: как я могу сделать в Windows то, что я могу сделать с помощью iptables? Просто ищите базовые функции брандмауэра (например, блокирование определенных IP-адресов)
Один путь был бы с netsh
команда:
netsh firewall
(устарело после XP и 2003)netsh advfirewall
(Vista, 7 и 2008)Ниже приводится от: https://support.microsoft.com/en-us/kb/947709
Пример 1: включить программу
Старая команда Новая команда
netsh firewall add allowedprogram C:\MyApp\MyApp.exe "My Application" ENABLE
netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes
netsh firewall add allowedprogram program=C:\MyApp\MyApp.exe name="My Application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=Domain 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
netsh firewall add allowedprogram program=C:\MyApp\MyApp.exe name="My Application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=ALL
Выполните следующие команды:
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
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=private
Для получения дополнительной информации о том, как добавить правила брандмауэра, выполните следующую команду:
netsh advfirewall firewall add rule ?
Пример 2: включить порт
Старая команда Новая команда
netsh firewall add portopening TCP 80 "Open Port 80"
netsh advfirewall firewall add rule name="Open Port 80" dir=in action=allow protocol=TCP localport=80
Для получения дополнительной информации о том, как добавить правила брандмауэра, выполните следующую команду:
netsh advfirewall firewall add rule ?
Пример 3: Удалить включенные программы или порты
Старая команда Новая команда
netsh firewall delete allowedprogram C:\MyApp\MyApp.exe netsh advfirewall firewall delete rule name=rule name program="C:\MyApp\MyApp.exe"
delete portopening protocol=UDP port=500 netsh advfirewall firewall delete rule name=rule name protocol=udp localport=500
Для получения дополнительной информации о том, как удалить правила брандмауэра, выполните следующую команду:
netsh advfirewall firewall delete rule ?
Пример 4: настройка параметров ICMP
Старая команда Новая команда
netsh firewall set icmpsetting 8 netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow
netsh firewall set icmpsetting type=ALL mode=enable netsh advfirewall firewall add rule name="All ICMP V4" protocol=icmpv4:any,any dir=in action=allow
netsh firewall set icmpsetting 13 disable all netsh advfirewall firewall add rule name="Block Type 13 ICMP V4" protocol=icmpv4:13,any dir=in action=block
Для получения дополнительных сведений о настройке параметров ICMP выполните следующую команду:
netsh advfirewall firewall add rule ?
Пример 5: настройка ведения журнала
Старая команда Новая команда netsh firewall set logging %systemroot%\system32\LogFiles\Firewall\pfirewall.log 4096 ENABLE ENABLE
Выполните следующие команды:
netsh advfirewall set currentprofile logging filename %systemroot%\system32\LogFiles\Firewall\pfirewall.log
netsh advfirewall set currentprofile logging maxfilesize 4096
netsh advfirewall set currentprofile logging droppedconnections enable
netsh advfirewall set currentprofile logging allowedconnections enable
Для получения дополнительной информации выполните следующую команду:
netsh advfirewall set currentprofile ?
Если вы хотите настроить ведение журнала для определенного профиля, используйте одну из следующих опций вместо опции «currentprofile»:
Профиль домена
Частный профиль
Общедоступный профиль
Пример 6: Включение брандмауэра Windows
Старая команда Новая команда
netsh firewall set opmode ENABLE netsh advfirewall set currentprofile state on
netsh firewall set opmode mode=ENABLE exceptions=enable
Выполните следующие команды:
Netsh advfirewall set currentprofile state on
netsh advfirewall set currentprofile firewallpolicy blockinboundalways,allowoutbound
netsh firewall set opmode mode=enable exceptions=disable profile=domain
Выполните следующие команды:
Netsh advfirewall set domainprofile state on
netsh advfirewall set domainprofile firewallpolicy blockinbound,allowoutbound
netsh firewall set opmode mode=enable profile=ALL Run the following commands:
netsh advfirewall set domainprofile state on
netsh advfirewall set privateprofile state on
Для получения дополнительной информации выполните следующую команду:
netsh advfirewall set currentprofile ?
Если вы хотите установить состояние брандмауэра для определенного профиля, используйте одну из следующих опций вместо опции «currentprofile»: Domainprofile
Частный профиль
Общедоступный профиль
Пример 7: Восстановить настройки политики по умолчанию
Старая команда Новая команда
netsh firewall reset
netsh advfirewall reset
Для получения дополнительной информации выполните следующую команду: netsh advfirewall reset? Пример 8: Включение определенных служб
Старая команда Новая команда netsh firewall set service FileAndPrint netsh advfirewall firewall set rule group = "Общий доступ к файлам и принтерам" new enable = Да netsh firewall set service RemoteDesktop enable netsh advfirewall firewall set rule group = "remote desktop" new enable = Yes netsh firewall set service RemoteDesktop enable profile = ALL Выполните следующие команды:
netsh advfirewall firewall set rule group = "удаленный рабочий стол" новое включение = Да профиль = домен
netsh advfirewall firewall set rule group = "remote desktop" new enable = Yes profile = private
WIPFW выглядит очень многообещающе, особенно если после этого вы создадите правила iptables.
Eсть встроенный межсетевой экран в XP, Server 2003 и более поздних версиях.
Имеет API с помощью которого вы можете программно изменять, включать и отключать правила.