在 Ubuntu 上运行。我有机器 1 < - > 机器 2 < - > 机器 3。我不知道机器 1 或机器 3 的 IP。它可以是任何 IP。机器 1 向机器 3 发送数据包,机器 3 向机器 1 发送数据包。
机器2作为桥梁:
ifconfig eth0 0.0.0.0
ifconfig eth2 0.0.0.0
brctl addbr br0
brctl addif br0 eth0 eth2
ifconfig br0 up
我希望在机器 2 中有一个 iptable 规则,将所有进入 eth0 的流量添加到 nfqueue1,将所有进入 eth2 的流量添加到 nefqueue2。
现在我有以下规则:
iptables -A FORWARD -p tcp -j NFQUEUE --queue-num 0
这对我来说并不好,因为我想区分来自机器 3 的流量和来自机器 1 的流量,所以我想要有 2 条规则。
将 -i eth0 添加到规则中没有帮助。
答案1
因为你在操作一座桥,所以你需要使用-m physdev
为了使用,运行iptables -m physdev -h
- 如果您编译自己的内核,则可能需要添加此模块。