我有两个 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
只有当您的路由器是多宿主路由器时,您才可以这样做,并且只能对传出流量这样做。这意味着只有少数情况下才有可能。
在其他所有情况下,您将中断连接。或者对于传入流量,您无法控制其到达何处。