У нас есть частная VLAN, которая маршрутизируется с хоста, подключенного как к ней, так и к нашей общедоступной сети. Хосты в частной VLAN имеют частный IP-адрес хоста шлюза (10.2.2.82), установленный в качестве шлюза по умолчанию. Это отлично работает, чтобы охватить почти все хосты в Интернете, за исключением тех, которые находятся в той же сети, что и шлюз.
Вот настройка на хосте шлюза:
[root@gateway ~]# ip rule show
0: from all lookup local
32764: from 10.2.2.0/24 lookup private
32765: from 1.2.3.0/24 lookup public
32766: from all lookup main
32767: from all lookup default
[root@gateway ~]# ip route show table public
1.2.3.0/24 dev eth0 scope link
default via 1.2.3.1 dev eth0
[root@gateway ~]# ip route show table private
10.2.2.0/24 dev eth0.200 scope link
Он также имеет стандартную настройку NAT MASQUERADE.
Небольшой пинг tcpdumping показывает, что для доступных хостов пакеты поступают на шлюз, затем покидают шлюз с соответствующим образом измененным адресом отправителя, а затем наблюдаются обратные пакеты. Пинги к хостам в той же подсети, что и машина шлюза, поступают на хост шлюза, но останавливаются там.
я пробовал ip route add default via 1.2.3.1 dev eth0 table private
но, похоже, это не помогает.
Вот вывод частной машины:
[root@internal /]# ping -c 1 10.2.2.82
PING 10.2.2.82 (10.2.2.82) 56(84) bytes of data.
64 bytes from 10.2.2.82: icmp_seq=1 ttl=64 time=0.217 ms
--- 10.2.2.82 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.214/0.214/0.214/0.000 ms
[root@internal /]# ping -c 1 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=49 time=15.5 ms
--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 15ms
rtt min/avg/max/mdev = 15.471/15.471/15.471/0.000 ms
[root@internal /]# ping -c 1 1.2.3.1
PING 1.2.3.1 (1.2.3.1) 56(84) bytes of data.
--- 1.2.3.1 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 10000ms
Что нам не хватает, чтобы частные хосты VLAN могли пинговать узлы в той же подсети (1.2.3.0/24), что и шлюз?