Linux
阻止特定遠端 IP 地址的 IP 轉發
我使用 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
確保您記得刪除規則以拒絕正向鏈中的所有內容。