У меня есть два клиента, один из которых подключен к серверу vpn через vpn, а другой без vpn. Я могу пинговать обоих клиентов со своего сервера, но я не могу напрямую использовать одного клиента для другого.
Я добавляю таблицы маршрутов для всех этих клиентов и сервера. Обратите внимание: 10.10.0.2 и 10.10.0.1 являются частными IP-адресами vpn.
Таблица маршрутов для всех трех:
Kernel IP routing table for 10.30.0.190 vpn client Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.30.0.1 0.0.0.0 UG 0 0 0 eth0 10.10.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0 10.20.0.0 10.10.0.1 255.255.0.0 UG 0 0 0 tun0 10.30.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 route table for 10.20.0.180 private subnet connected to vpn Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.20.0.1 0.0.0.0 UG 0 0 0 eth0 10.20.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 route table for 10.20.0.99 - vpn server Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.20.0.1 0.0.0.0 UG 0 0 0 eth0 10.10.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0 10.20.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 10.30.0.0 10.10.0.2 255.255.0.0 UG 0 0 0 tun0
Скорее всего, вы пропустили маршруты.
На вашем VPN-сервере добавьте эту директиву, чтобы добавить маршруты в вашу локальную подсеть: push
"route 10.20.0.0 255.255.255.0"
. Это укажет клиентам VPN направлять трафик через VPN для этой подсети. Похоже, вы могли это сделать, но имейте в виду, что у вас маска подсети / 16, а в таблице маршрутизации на клиенте LAN есть / 24.
На маршрутизаторе шлюза 10.20.0.1 обязательно добавьте маршрут для 10.10.0.0/24 через VPN-сервер (т. Е. ip route add 10.10.0.0/24 via 10.20.0.99
), так что обратный путь также можно направить.