最近,我为我的 Debian 服务器添加了第二个 NIC。另一个 NIC 正在发货,这样 WAN 连接总数就达到 3 个。
假设 NIC 名为ens2
、ens3
和ens4
。“访问”是指与服务器的任何网络连接(SSH、VNC、ping 等)。
当我只有一个接口时,我可以使用的 IP 地址ens2
访问服务器。当我添加第二个接口时,我无法使用 上的 IP 访问服务器,但使用 的IP 访问服务器是可行的。ens2
ens3
ens2
ens3
当我禁用时ens3
,我可以再次通过ens2
的 IP 地址访问服务器。
如何从所有 WAN 接口访问服务器?我尝试弄乱路由表,但由于缺乏路由知识,导致无法从网络访问该机器。
答案1
无论连接来自哪个接口,路由表都会决定如何发送响应。例如,如果您将 ens2 设置为 10.1.2.3/24,将 ens3 设置为 10.1.9.3/24,并且服务器正在运行。数据包从 172.12.2.2 传入 10.1.9.3。服务器回复,默认网关设备是 ens2,因此响应从 10.1.2.3 返回到 172.12.2.2,什么都不起作用。
您希望数据包从同一接口返回。这将为第二个接口设置第二个路由表:
echo 200 isp2 >> /etc/iproute2/rt_tables
ip rule add from <ens2-ip> dev ens2 table isp2
ip route add default via <gateway_IP> dev ens2 table isp2