Я хочу создать установку в Linux, где трафик между двумя хостами (HostA и HostC) будет проходить через третий хост (HostB), который будет действовать как GW для VM1. У меня есть три виртуальные машины:

  1. HostA с ens0: 10.10.0.2/24
  2. HostB с ens0: 10.10.0.3/24 и ens1: 192.168.0.1/24
  3. HostC с ens1: 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, выступающая в качестве GW для 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. Я вижу трафик от A на обоих интерфейсах B, но не на C. На CI вижу только случайные запросы ARP от GW (HostB)

Я настроил на всех машинах переадресацию IP с помощью команды:

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

0