У меня проблемы с маршрутизацией трафика через VPN.
Вот моя установка
У меня 3 хоста, назовем их A, B и Z
B и Z имеют соединение VPN в ПОДСЕТИ 10.10.10.x. A и B имеют прямое соединение в ПОДСЕТИ 10.10.12.x
Я хочу иметь возможность маршрутизировать трафик от А до Я, например:
A <= 10.10.12.254 [LAN] 10.10.12.111 => B <= 10.10.10.152 [VPN] 10.10.10.10 => Z
На хосте B я настроил ip_forwarding: net.ipv4.ip_forward = 1
и маршрутизация на хосте B:
[root@hostB: ~]# ip route
10.10.10.10 dev ppp0 proto kernel scope link src 10.10.10.152
10.10.12.0/24 dev eth1 proto kernel scope link src 10.10.12.111
10.10.10.0/24 dev ppp0 scope link
169.254.0.0/16 dev eth1 scope link
маршрутизация на хосте A:
[root@hostA: ~]# ip route
10.10.10.0 via 10.10.12.111 dev eth1
10.10.12.0/24 dev eth1 proto kernel scope link src 10.10.12.254
169.254.0.0/16 dev eth1 scope link
default via 192.168.1.1 dev eth0
Но по-прежнему не удается пинговать 10.10.10.10 с хоста A.
Любая идея ? Я выдергиваю волосы.
На Z, если 10.10.10.10 находится на ppp0:
route add -net 10.10.12.0 netmask 255.255.255.0 gw 10.10.10.152 dev ppp0
Это даст вам обратный путь к A
Как сказал Майк ... Вам нужно два маршрута ... На A ---> Z и наоборот ... На Z ---> A .... Если вы пропустите хотя бы один из них, они не смогут чтобы общаться друг с другом, потому что пакеты не знают маршрута для возврата к источнику ... Итак, вам нужно сделать что-то вроде этого на A и Z ...
На маршруте Z добавьте -net 10.10.12.0 netmask 255.255.255.0 gw 10.10.10.152 dev ppp0
На маршруте A добавьте -net 10.10.10.0 netmask 255.255.255.0 gw 10.10.12.111 dev ppp0
Дайте нам знать!!!