Назад | Перейти на главную страницу

Блокировать переадресацию IP для определенного удаленного IP-адреса

Я использую ubuntu как шлюз для нескольких хостов. Мне нужен совет, как заблокировать переадресацию IP для определенного IP-адреса или определенного диапазона IP-адресов?

Я попытался заблокировать ip через правила запрета ufw, но похоже, что настройки переадресации ip не могут быть изменены с помощью правил, и его можно применять только глобально (DEFAULT_FORWARD_POLICY в / etc / default / ufw)

Также я попытался напрямую изменить правила iptables:

iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited 

После этой команды правило отклонения ip forwarding блокирует пересылку запросов со всех удаленных хостов.

Обновление: текущий вывод iptable:

root@mtu90:/home/pi# iptables -L -n -v
Chain INPUT (policy ACCEPT 5671 packets, 927K bytes)
 pkts bytes target     prot opt in     out     source               destination 
    0     0 DROP       all  --  *      *       0.0.0.0/0            172.16.1.77 
  192 15408 DROP       all  --  *      *       172.16.1.77          0.0.0.0/0   

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 
  895  136K            all  --  *      *       0.0.0.0/0            0.0.0.0/0   
  518 30999 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 119 packets, 14872 bytes)
 pkts bytes target     prot opt in     out     source               destination 

Я думаю, вы слишком задумываетесь над проблемой. Блокировать запросы пересылки с помощью iptables на любом основании - тривиально.

Конечно, есть настройка по умолчанию - пересылка может быть разрешена или запрещена по умолчанию - текущая настройка разрешена. Таким образом, чтобы удалить конкретный хост, просто добавьте правило iptables

iptables -I FORWARD -d sou.rce.ip.add -j DROP

Убедитесь, что вы не забыли удалить правило ОТКЛОНЕНИЯ всего в прямой цепочке.