如何阻止两个不同子网之间的通信?

如何阻止两个不同子网之间的通信?

我有一个这样的计划

路由器192.168.2.254/24

eth0-192.168.2.1

br0

以太网1-192.168.4.1/24

用户- 192.168.2.2/24

并像这样连接 eth0 和 eth1 以允许数据包通过 brctl addbr br0 brctl addif br0 eth0 brctl addif br0 eth1 dhclient br0

用户可以直接 ping 到路由器,但我想阻止该 ping

我什至尝试过

iptables -A 输出 -p icmp --icmp 类型回显请求 -j DROP

iptables -A FORWARD -p icmp --icmp-type echo-r​​equest -j DROP

用户仍然可以 ping 到路由器,我做错了什么?

答案1

桥接器用于连接两个接口相同的子网。

如果您有不同的子网并希望它们相互通信,则需要启用路由,echo 1 > /proc/sys/net/ipv4/ip_forward但默认情况下未启用路由,因此它们将无法相互通信。

编辑:桥接不同子网中的两个接口可以工作,但这不是传统的设置。如果您想保持这种配置,则必须使用ebtables而不是iptables阻止流量。

答案2

您应该使用路由器 IP 地址定义 iptables。任何用户都无法 ping 路由器 IP 地址。您的示例是一般 iptables 规则。删除 icmp 协议对于阻止 ping 是正确的。

相关内容