Ограничение запросов к локальному диапазону 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-адресам с помощью правил брандмауэра. Вот как добавить такие правила:

  1. Откройте окно “Брандмауэр Windows с расширенными функциями защиты”.
  2. Нажмите на “Создание правила…” в правой панели.
  3. Выберите тип правила “Программа” и нажмите “Далее”.
  4. Укажите путь к исполняемому файлу программы, которой нужно запретить доступ к локальным IP-адресам, или выберите “Все программы” для запрета доступа со всего компьютера.
  5. Выберите тип соединения, для которого необходимо ограничить доступ, например, “Исходящее соединение”.
  6. В следующем окне выберите “Локальные IP-адреса” и нажмите “Добавить…”.
  7. Введите 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”.
  8. Выберите действие, которое необходимо применить к соединениям с заблокированными IP-адресами, например, “Заблокировать соединение”.
  9. Введите имя правила и нажмите “Готово”.

После этого брандмауэр 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