我的设置有一个位于两个物理接口上的桥接器
[root@CentOS8-Middle ~]# nmcli c s
NAME UUID TYPE DEVICE
br0 6bb79a71-235e-4c1b-b1bb-33262214144b bridge br0
vbr0-port1 bf6b5b16-0e64-4802-928f-534564203af3 ethernet ens224
vbr0-port2 251016a7-38e7-4390-a69a-8a91c37c64db ethernet ens256
ens192 573ba4c1-1c97-4704-ba36-c75a69635e8e ethernet ens192
[root@CentOS8-Middle ~]#
我能够过滤 iptalbes 中的流量,通过执行以下操作将其发送到 nfq 过滤器
-A FORWARD -i br0 -p icmp -j NFQUEUE --queue-num 1 --queue-bypass
不过,我想根据流量进入的物理接口进行过滤。我尝试了以下几行:
iotables -I FORWARD -i ens256 -p icmp -j NFQUEUE --queue-num 1 --queue-bypass
iptables -I INBOUND -i ens256 -p icmp -j NFQUEUE --queue-num 1 --queue-bypass
iptables -I OUTBOUND -i ens256 -p icmp -j NFQUEUE --queue-num 1 --queue-bypass
每次当我跑步时
iptables -L -nv
我看到了 FORWARD 链上的所有流量。这样可以吗?如果不是,我是否需要使用 iptalbles 进行转发(而不是 NetworkManager)?
答案1
下面的规则似乎解决了我的担忧。
iptables -I FORWARD -m physdev --physdev-is-bridged --physdev-in ens256 --physdev-out ens224 -j NFQUEUE --queue-num 1 --queue-bypass
iptables -I FORWARD -m physdev --physdev-is-bridged --physdev-in ens224 --physdev-out ens256 -j NFQUEUE --queue-num 2 --queue-bypass