我有三个网关:
192.168.10.1 on eth0 (default), 192.168.100.1 on eth0:0 192.168.101.1 on eth0:1
我试图让我的电脑从请求端口决定使用哪一个。 (请求来服务器端)
exemple.com:80 -> via 192.168.10.1 to exemple.com:80 exemple.com:81 -> via 192.168.100.1 to exemple.com:80 exemple.com:82 -> via 192.168.101.1 to exemple.com:80
我应该如何继续?
谢谢
你应该首先用iptables标记stream量,然后你可以设置相应的规则来处理这个stream量,如下所示:
iptables -A PREROUTING -p tcp --dport 80 -t mangle -j MARK --set-mark 1 iptables -A PREROUTING -p tcp --dport 81 -t mangle -j MARK --set-mark 2 iptables -A PREROUTING -p tcp --dport 82 -t mangle -j MARK --set-mark 3 ip rule add fwmark 1 table 1 ip rule add fwmark 2 table 2 ip rule add fwmark 3 table 3 ip route add default via 192.168.10.1 table 1 ip route add default via 192.168.100.1 table 2 ip route add default via 192.168.101.1 table 3
当然,下一跳需要处理NAT /等,我没有检查语法。