在我的服务器中,我有两张以太网卡:
enp0s17
、本地 IP192.168.0.7
、路由器的公共地址x.x.x.x
、网络掩码255.255.255.255
enp0s18
、本地 IP172.16.0.7
、路由器的公共地址y.y.y.y
、网络掩码255.255.255.0
在两个网络上,任何传入流量两个公共 IP 中的路由到服务器。因此,实际上任何前往 的 SSH、HTTP 等x.x.x.x
都应转发至192.168.0.7
,任何前往 的流量y.y.y.y
都应转发至172.16.0.7
。
不幸的是,这只适用于其中一个。有时(断开并重新连接服务器到互联网后,例如重启后)这种方法有效,但enp0s17
有时enp0s18
永远不会两者兼而有之同时。(因此,两个路由器都路由正常,似乎是服务器的问题。)
使用 测试的传出流量也存在相同的问题curl --interface enp0s1X ...
。
另一方面,任何本地交通路由正确。在两个网络中,服务器始终在其本地 IP 上可用。
有谁知道可能导致该问题的原因是什么或如何解决它?
为了测试目的,我完全禁用了防火墙,所以这应该不是问题。
(两个接口也都使用 IPv6 前缀委派,但我将其省略,因为它运行正常。)
两个路由器都是 Ubiquiti EdgeRouters。IP 由路由器上的 DHCP 服务器静态提供。网络配置使用 完成netplan
。使用 Ubuntu 20.04。
我的netplan
配置:
network:
version: 2
renderer: networkd
ethernets:
enp0s17:
dhcp4: yes
dhcp6: yes
enp0s18:
dhcp4: yes
dhcp6: yes