Ограничение запросов к локальному диапазону ip
Для Linux
Необходимо добавить правила в iptables. Дополнительно требуется добавить их в автозагрузку. Для применения после рестарта ОС.
iptables -A OUTPUT -d 172.16.0.0/12 -j DROP
iptables -A OUTPUT -d 10.0.0.0/8 -j DROP
iptables -A OUTPUT -d 192.168.0.0/16 -j DROP
iptables -A OUTPUT -d 100.64.0.0/10 -j DROP
iptables -A OUTPUT -d 169.254.0.0/16 -j DROP
iptables -A FORWARD -d 172.16.0.0/12 -j DROP
iptables -A FORWARD -d 10.0.0.0/8 -j DROP
iptables -A FORWARD -d 192.168.0.0/16 -j DROP
iptables -A FORWARD -d 100.64.0.0/10 -j DROP
iptables -A FORWARD -d 169.254.0.0/16 -j DROP
Автостарт для Ubuntu:
apt-get install iptables-persistent
В процессе установки на все запросы выбрать Yes
Для Windows
Как и в Linux, в Windows можно ограничить доступ к локальным IP-адресам с помощью правил брандмауэра. Вот как добавить такие правила:
- Откройте окно “Брандмауэр Windows с расширенными функциями защиты”.
- Нажмите на “Создание правила…” в правой панели.
- Выберите тип правила “Программа” и нажмите “Далее”.
- Укажите путь к исполняемому файлу программы, которой нужно запретить доступ к локальным IP-адресам, или выберите “Все программы” для запрета доступа со всего компьютера.
- Выберите тип соединения, для которого необходимо ограничить доступ, например, “Исходящее соединение”.
- В следующем окне выберите “Локальные IP-адреса” и нажмите “Добавить…”.
- Введите IP-адреса, которые нужно заблокировать, например, “172.16.0.0/12”, “10.0.0.0/8”, “192.168.0.0/16”, “100.64.0.0/10” и “169.254.0.0/16”.
- Выберите действие, которое необходимо применить к соединениям с заблокированными IP-адресами, например, “Заблокировать соединение”.
- Введите имя правила и нажмите “Готово”.
После этого брандмауэр Windows будет блокировать исходящие соединения к указанным локальным IP-адресам. Если нужно блокировать входящие соединения с этих адресов, выберите тип соединения “Входящее соединение” в шаге 5.
PowerShell Script
# Set the list of IP addresses to block $blockedIPs = @("172.16.0.0/12", "10.0.0.0/8", "192.168.0.0/16", "100.64.0.0/10", "169.254.0.0/16") # Set the connection type (Outbound or Inbound) $connectionType = "Outbound" # or "Inbound" for inbound connections # Set the action (Block the connection) $action = "Block" # Create a new firewall rule New-NetFirewallRule -DisplayName "Block Local IP Addresses" -Direction $connectionType -RemoteAddress $blockedIPs -Action $action -Profile Any -Enabled True