我尝试制作一个使用 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