阻止特定远程IP地址的IP转发

我使用Ubuntu作为几个主机的网关。 我需要build议如何阻止特定的IP地址或特定的IP范围IP转发?

我尝试通过ufw拒绝规则来阻止ip,但它看起来像ip转发设置不能通过规则修改,它只能在全局应用(/ etc / default / ufw中的DEFAULT_FORWARD_POLICY)

另外我试图直接更改iptables规则:

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

在这个命令后,ip转发拒绝规则阻止所有远程主机转发请求。

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

确保你记得删除你的规则来拒绝正向链中的所有东西。