![阻止特定远程 IP 地址的 IP 转发](https://linux22.com/image/632327/%E9%98%BB%E6%AD%A2%E7%89%B9%E5%AE%9A%E8%BF%9C%E7%A8%8B%20IP%20%E5%9C%B0%E5%9D%80%E7%9A%84%20IP%20%E8%BD%AC%E5%8F%91.png)
我使用 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 restrict规则将阻止来自所有远程主机的转发请求。
更新:当前 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
答案1
我认为你想得太多了。使用 iptables 阻止转发请求很简单,只要你喜欢就可以了。
当然,有一个默认设置 - 默认情况下可以允许或拒绝转发 - 您的当前设置是允许的。因此,要删除特定主机,只需添加 iptables 规则
iptables -I FORWARD -d source.rce.ip.add -j DROP
请务必记住删除规则以拒绝前向链中的所有内容。