Linux
如何在兩個私有網路下連接 3 個伺服器
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 相互通信。我無法用更多電纜連接它們。我想我可以使用橋樑來實現這一點。但是,我還沒有讓它工作。
server2 和 server3 是不同的 IP 子網,因此(通常)您不會在那裡使用網橋。您希望 server1 充當路由器,而不是網橋。
看起來 server1 在 server2 的網路上已經擁有 IP 10.0.0.1,在 server3 的網路上已經擁有 10.0.1.4。
首先在server1上開啟IP轉發:
sysctl -w net.ipv4.ip_forward=1
接下來,您需要路由。如果 server1 已經是 server2 和 server3 的預設網關,那麼您就完成了。如果不是,您將需要以某種方式設置路由。靜態路由是最簡單的:
在伺服器 2 上:
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 是這些伺服器上相應的乙太網介面名稱。