您好,我在同一网络上的 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 发送。