VM 环境中三个主机之间的 GW 路由

VM 环境中三个主机之间的 GW 路由

我想在 Linux 中创建一个设置,其中两个主机(HostA 和 HostC)之间的流量将通过第三个主机(HostB)进行传输,该主机将充当 VM1 的网关。我有三台虚拟机:

  1. 带有 ens0 的 HostA:10.10.0.2/24
  2. HostB 的 ens0 为:10.10.0.3/24,ens1 为:192.168.0.1/24
  3. 带有 ens1 的 HostC:192.168.0.2/24

HostA路由表:

$ route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.10.0.1       0.0.0.0         UG    0      0        0 ens0
10.10.0.0       0.0.0.0         255.255.255.0   U     0      0        0 ens0
192.168.0.1     10.10.0.3       255.255.255.255 UGH   0      0        0 ens0
192.168.0.2     10.10.0.3       255.255.255.255 UGH   0      0        0 ens0

HostB 路由表(作为 HostA 的网关)

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.10.0.1       0.0.0.0         UG    0      0        0 ens0
10.10.0.0       0.0.0.0         255.255.255.0   U     0      0        0 ens0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 ens1

HostC 的路由表:

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.10.0.2      192.168.0.1   255.255.255.255     UGH   0      0        0 ens1
192.168.0.0    0.0.0.0         255.255.255.0     U     0      0        0 ens1

不幸的是,当我尝试检查新的路由表时,我没有看到从 HostA 到 HostC 的流量。我在 B 的两个接口上都看到了来自 A 的流量,但在 C 上看不到。在 CI 上,只看到偶尔来自 GW(HostB)的 ARP 请求

我已经使用以下命令在所有机器上配置了 IP 转发:

sysctl -w net.ipv4.ip_forward=1
sudo service procps restart

相关内容