选择传入节点的网关

选择传入节点的网关

我在 2 个 Internet Access 后面有一台服务器。其 IP 如下:

-服务器:192.168.0.1

-ISP 1:192.168.0.253

-ISP 2:192.168.0.254

我希望来自 ISP 1 的数据包使用 ISP 1 作为网关接收响应,而来自 ISP 1 的数据包使用 ISP 2 接收响应。

有人知道我该怎么做吗?

非常感谢您的帮助。

程序

答案1

如果你有

-ISP 1 : 192.168.1.253 eth0 - default gateway
-ISP 2 : 192.168.0.254 eth1

以下命令通过 eth1 为带有标记 1 的数据包创建备用路由表

ip rule add fwmark 1 table 1
ip route add 127.0.0.0/0 table 1 dev lo
ip route add 0.0.0.0/0 table 1 dev eth1

另一半工作是识别必须获得标记 1 的数据包,用非默认路由接口的地址替换 192.168.0.254:

iptables -t mangle -A OUTPUT -m conntrack --ctorigdst 192.168.0.254 -j MARK --set-mark 1

以下内容不需要使用 ipfilter 进行任何数据包标记。传出(回复)数据包将具有最初用于连接到第二个接口的 IP 地址作为传出数据包上的源(发件)地址。

echo 200 isp2 >> /etc/iproute2/rt_tables
ip rule add from 192.168.0.254 dev eth1 table isp2
ip route add default via <gateway_IP> dev eth1 table isp2

相关内容