Linux

阻止特定遠端 IP 地址的 IP 轉發

  • May 4, 2014

我使用 ubuntu 作為多台主機的網關。我需要建議如何阻止特定 IP 地址或特定 IP 範圍的 IP 轉發?

我試圖通過 ufw 拒絕規則阻止 ip,但似乎無法通過規則修改 ip 轉發設置,並且只能全域應用(/etc/default/ufw 中的 DEFAULT_FORWARD_POLICY)

我也嘗試直接更改 iptables 規則:

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

在此命令之後 ip forwarding reject 規則阻止來自所有遠端主機的轉發請求。

更新:目前 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

確保您記得刪除規則以拒絕正向鏈中的所有內容。

引用自:https://serverfault.com/questions/593036