如何使用 iproute2 重新路由繁忙的流量

如何使用 iproute2 重新路由繁忙的流量

我有两个 ISP 连接(Link1 和 Link2),我想通过 Link2 路由所有超过 1MB 的下载流量。

我已经创建了一个路由表 Link2 并路由所有已标记 2 的数据包。

ip route 通过 192.168.1.253 表 link2 添加默认 ip 规则添加 fwmark 2 表 link2

当我简单地将它与任何 http 数据包一起使用时它就可以工作

iptables -t mangle -A PREROUTING -p tcp -s 192.168.1.81 --dport 80 -j MARK --set-mark 2(有效)

现在,当我尝试标记下载大小是否超过 1MB 时,它无法按预期工作。

iptables -t mangle -A PREROUTING -p tcp -s 192.168.1.81 --dport 80 -m connbytes --connbytes 1048576: --connbytes-dir both --connbytes-mode bytes -j MARK --set-mark 2(不起作用)

有人可以告诉我这里是否遗漏了什么吗?

答案1

简而言之,你想要的是不可能的。

答案2

只有当您的路由器是多宿主路由器时,您才可以这样做,并且只能对传出流量这样做。这意味着只有少数情况下才有可能。

在其他所有情况下,您将中断连接。或者对于传入流量,您无法控制其到达何处。

有关的:如何使用 iptables 识别下载流量

相关内容