绑定到具有多个网关的 Linux 服务器上的特定网络接口

绑定到具有多个网关的 Linux 服务器上的特定网络接口

我正在尝试在本地计算机上运行服务器程序。它有 2 条通往互联网的路线:

  • 10.0.0.1/24oneth0是具有最快连接速度的接口上的网关和子网;但是,防火墙阻止我访问绑定到 TCP 端口的任何服务器。
  • 10.8.0.1/24oneth1是较慢接口上的网关和子网;但是,我可以控制网关设备,并能够成功地通过它进行端口转发,并且服务器在互联网上可见。

在我的计算机上,我有以下路线:

default via 10.0.0.1 dev eth0 src 10.0.0.x metric 203 default via 10.8.0.1 dev eth1 metric 800 10.8.0.0/24 dev eth1 proto kernel scope link src 10.8.0.y 10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.x metric 203

显然,在正常情况下,通过的路由eth0将优先;但是,对于我的服务器进行端口转发,它需要使用接口上的默认eth1网关没有通过同一接口重定向所有其他流量。

到目前为止,我尝试过将服务器绑定到地址,10.8.0.y这意味着它只接受以该 IP 地址为目标的连接。但是,它无法在相反方向路由流量。我已经使用验证了tcpdump -i eth1 -p 25561正在接收入站连接,但在监控两者时eth0eth1我没有看到出站回复。如果未收到回复,则远程客户端上的连接将超时。

有没有其他人尝试过做类似的事情并且可以提供一些关于我如何设置的见解?

相关内容