Linux

如何在兩個私有網路下連接 3 個伺服器

  • April 6, 2020
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 是這些伺服器上相應的乙太網介面名稱。

引用自:https://serverfault.com/questions/1011061