server2 (10.0.0.2) <--> **server1** <--> server3 (10.0.1.3)
在server1中输出。
netstat -rn
Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 enp131s0f1
10.0.1.0 0.0.0.0 255.255.255.0 U 0 0 0 enp131s0f0
ip route
10.0.0.0/24 dev enp131s0f1 proto kernel scope link src 10.0.0.1 metric 102
10.0.1.0/24 dev enp131s0f0 proto kernel scope link src 10.0.1.4 metric 103
我有 3 台服务器。服务器 2 和服务器 3 通过 10G 以太网电缆连接到服务器 1。
现在,服务器 2 和服务器 3 可以与服务器 1 通信。但是,我不确定如何让服务器 3 和服务器 2 直接通过服务器 1 相互通信。我无法用更多电缆连接它们。我想我可以使用网桥来实现这一点。但是,我还没有让它工作。
答案1
server2 和 server3 是不同的 IP 子网,因此通常不会使用网桥。您希望 server1 充当路由器,而不是网桥。
看起来 server1 已经在 server2 的网络上拥有 IP 10.0.0.1,并且在 server3 的网络上拥有 IP 10.0.1.4。
首先,在server1上开启IP转发:
sysctl -w net.ipv4.ip_forward=1
接下来,您需要路由。如果 server1 已经是 server2 和 server3 的默认网关,那么您就大功告成了。如果不是,您需要以某种方式设置路由。静态路由是最简单的:
在server2上:
ip route add 10.0.1.0/24 via 10.0.0.1 dev XXX
在服务器3上:
ip route add 10.0.0.0/24 via 10.0.1.4 dev YYY
其中 XXX 和 YYY 是这些服务器上适当的以太网接口名称。