iptables 按桥接接口过滤

iptables 按桥接接口过滤

我尝试制作一个使用 IMQ 接口的 QOS 服务器来监控入口。

我的设置:

                     br0
                      |
WAN <=> eth1 => IMQ1 <|> eth0 <=> LAN

一切都很顺利,直到我尝试添加 iptables 规则以将传入流量从 eth1 重定向到 IMQ1。

似乎我不能说:将所有传入数据包从 eth1 发送到目标 IMQ。

iptables -t mangle -A PREROUTING -i eth1 -j IMQ --todev 1

一个更简单的例子是,没有一个数据包符合该规则的“-i eth1”部分。

看到这个:

# iptables -t mangle -A PREROUTING -i eth1 -p TCP -j ACCEPT
# iptables -t mangle -A PREROUTING  -p TCP -j ACCEPT

# iptables -x -n -v -t mangle -L PREROUTING         
> Chain PREROUTING (policy ACCEPT 4 packets, 305 bytes)
>     pkts      bytes target     prot opt in     out     source             destination         
>        0        0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           
>      125     8214 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0    

如何说“我希望所有从 eth1 传入的流量都转到 IMQ”?

答案1

看起来“-i”不是为桥接接口设计的。

手册解释说,模块 physdev 就是为此而制作的。

我的工作规则是:

iptables -t mangle -A PREROUTING -m physdev --physdev-in eth1 -j IMQ --todev 1

相关内容