
您好,我在同一網路的 Openstack 雲端上部署了 3 台 Linux 伺服器。
伺服器A----->伺服器B----->伺服器C
- 每個伺服器的私有IP位址範圍是192.168.10.x/24。
所有 3 台伺服器都在 192.168.10.x IP 範圍內相互通訊。我希望伺服器 A 應該將流量轉送到伺服器 B(如果它屬於伺服器 C),反之亦然。
為此,我在伺服器 A 上建立了一條靜態路由,如果目標是伺服器 C,則透過伺服器 B 傳送該路由,並針對該流量在伺服器 C 上建立相同的反向路由。
問題是,如果我們新增此特定路由,伺服器 A 和伺服器 C 之間的通訊就會停止。我可以在伺服器 B 上看到資料包,但它不會到達伺服器 C。
我嘗試在每台伺服器上啟用 IP 轉發,但問題仍然相同。
[root@serverB ~]# cat /proc/sys/net/ipv4/ip_forward
1
[root@serverB ~]#
答案1
您需要將伺服器 B 和伺服器 C 放入各自的子網路中192.168.11.0/24
。
伺服器 A 和伺服器 B 保留在 中192.168.10.0/24
。
為此,您需要在伺服器 B 中有兩個接口,連接到兩個不同的乙太網路。
之後,您可以設定B在A和C之間轉送封包。
您還需要在A和C上設定對應的路由表:
- 在 A 上,您需要設定
192.168.11.0/24
要透過 B 傳送的資料包。 - 在 C 上,您需要設定
192.168.10.0/24
要透過 B 傳送的資料包。