Чем плотней я знакомлюсь с серверной редакцией ОС Windows, тем меньше у меня смешных эпитетов для тех, кто администрирует windows серверы и о самой операционной системе. В ней есть все инструменты, позволяющие гибко конфигурировать систему как в графическом интерфейсе с помощью мыши, так и в консоли терминала. И сегодня я расскажу о том, как блокировать в файрволе по IP-адресам из консоли.
Все команды вводятся из-под администратора или пользователя с административными правами доступа к системе. Запуск консоли терминала производится с помощью команды cmd.
Заблокируем один адрес (или подсеть)
netsh advfirewall firewall add rule name="Блокировка IP" dir=in interface=any action=block remoteip=<IP-адрес>/24
В параметре “remoteip=” можно указать произвольную маску сети для блокировки как сети целиком, так и конкретного сегмента.
Рассмотрим рабочий пример по блокировке конкретного блока адресов 119.63.196.0/24
netsh advfirewall firewall add rule name="Блокировка IP" dir=in interface=any action=block remoteip=119.63.196.0/24
Следующим примером мы заблокируем только один адрес из приведенной в качестве примера сети - 119.63.196.1
netsh advfirewall firewall add rule name="Блокировка IP" dir=in interface=any action=block remoteip=119.63.196.1/32
А что если таких адресов не один не два, а более десятка? В этом случае заблокируем список адресов или подсетей.
Поместите список всех адресов или сетей/подсетей в текстовый файл по одному в каждой строке и назовите этот файл произвольным образом. К примеру “list-ip-for-block.txt”. Теперь выполняем команду:
for /f %i in (ilist-ip-for-block.txt) do echo netsh advfirewall firewall add rule name="Блокировка %i" dir=in protocol=any action=block remoteip=%i
Все адреса, указанные в файле, будут заблокированы.
Таким образом, можно заблокировать не только входящий трафик, но и исходящий. Для этого просто смените направление. За него отвечает параметр “dir=”. Таким образом, указав “dir=out”, вы заблокируете исходящий трафик. Если у вас будет чем дополнить меня, прошу не стесняться и писать в комментариях. Делиться опытом с другими владельцами серверов на Windows.