强制来自同一桥上的服务器的所有stream量通过路由器接口

我和192.168.5.0/24networking中的所有主机都连接在一起,它们都通过一个辅助接口eth1连接到这个网桥。
我有一个路由器,通过192.168.5.1连接到networking上的其他人
在我的路由器上,我可以使用iptables过滤所有进出该networking的stream量,但是我无法过滤同一networking(192.168.5.0)上的所有stream量,
我相信这是因为如果例如192.168.5.2是ping通192.168.5.3的通信直接到桥而不通过我的路由器网关192.168.5.1
是否有可能强制同一子网的所有stream量先到路由器?
以下是我的静态路由摘录:

default 192.168.3.1 0.0.0.0 UG 0 0 0 eth0 link-local * 255.255.0.0 U 1002 0 0 eth0 link-local * 255.255.0.0 U 1003 0 0 eth1 192.168.3.0 * 255.255.255.0 U 0 0 0 eth0 192.168.5.0 * 255.255.255.0 U 0 0 0 eth1 

以下是我的ifcfg-ethx文件(CentOS)的摘录:

 DEVICE="eth0" BOOTPROTO="static" BROADCAST="192.168.3.255" GATEWAY="192.168.3.1" IPADDR="192.168.3.2" NETMASK="255.255.255.0" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Ethernet" DEVICE="eth1" BOOTPROTO="static" BROADCAST="192.168.5.255" IPADDR="192.168.5.2" NETMASK="255.255.255.0" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Ethernet" 

如果我没有弄错的话,那么编辑我的静态路由,特别是上面代码片段的最后一行,为192.168.5.0/24networking指定网关192.168.5.1。
我曾尝试添加GATEWAY =“192.168.5.1”ifcfg-eth1创build一个路由表作为默认的接口。 我如何维护3.1作为主要的网关,但也强制从192.168.5.0/24地址空间的所有stream量通过192.168.5.1?

把一些iptables规则放在你的桥接主机上。 这远比试图将stream量路由到不应该去的地方更为合适。 请记住,一个主机试图到达同一个networking上的对端只是不关心路由器。 源会发出一个ARP请求,计算出目标礼物的以太网地址并直接发送数据包给它。 这里直接表示桥接主机,然后使用其ARP表将数据包转发到目标。 所以这里没有路由的概念。

也许你可以在configurationeth1时删除内核在主机上添加的自然路由,然后在eth1上添加一个特定的路由到你的网关,然后添加另一个路由到eth1networking(192.168.5.0/24),指定你的路由器为网关。但是只有这样的描述才能让你理解它是多么的糟糕。

真的,你应该更喜欢在桥上使用iptables