我的服务器上有 3 个接口,
- 首先用于本地网络,
- 第二和第三是互联网连接(每个都有自己的 IP 路由表)。
如何强制服务器守护程序和命令行工具使用第一个接口来创建传出连接。我希望对我的服务器使用与我网络中其他机器相同的 iptables nat 和过滤规则。
eth0 192.168.0.1
eth1 9.9.9.9
eth2 9.9.9.10
我不知道为什么它现在使用 eth1 进行传出连接。
答案1
如果你跑
ip route
它将给出类似以下的结果:
default via 192.168.0.10 dev eth0 metric 2
127.0.0.0/8 via 127.0.0.1 dev lo
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.106 metric 2
从上面的输出可以看出,任何通过默认路由的流量都将通过 eth0
因此听起来您需要做这样的事情:
ip route delete default via <ip> dev eth1
然后
ip route add default via <ip> dev eth0
如何使此更改永久生效将取决于您的发行版。