在我的服务器上通过NAT转发本地networking接口

我在我的服务器上有3个接口,

  • 首先是用于本地networking,
  • 第二和第三是互联网连接(每个都有自己的IP路由表)。

我如何强制服务器守护进程和命令行工具使用第一个接口来创build传出连接。 我想为我的服务器使用相同的iptables nat和过滤规则,我用于我的networking的其他机器。

eth0 192.168.0.1 eth1 9.9.9.9 eth2 9.9.9.10 

我不知道为什么现在使用eth1进行传出连接。

如果你跑步

 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 

从上面的输出中可以看出,任何通过默认路由的stream量都将通过eth0

所以这听起来像你需要做这样的事情:

 ip route delete default via <ip> dev eth1 

然后

 ip route add default via <ip> dev eth0 

你如何使这个变化永久取决于你的发行版。