我有三个网关:
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
我该怎么办?
谢谢
答案1
您应该首先用 iptables 标记流量,然后您可以设置规则来相应地处理流量,类似于以下内容:
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/等等,我没有检查语法。