Я хочу создать установку в Linux, где трафик между двумя хостами (HostA и HostC) будет проходить через третий хост (HostB), который будет действовать как GW для VM1. У меня есть три виртуальные машины:
- HostA с ens0: 10.10.0.2/24
- HostB с ens0: 10.10.0.3/24 и ens1: 192.168.0.1/24
- 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