Linux 机器之间的路由问题

Linux 机器之间的路由问题

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

相关内容