У меня есть VPS под управлением ubuntu 18.04. Я установил сервер pritunl.
На этом VPS у меня также есть 2 клиента из других VPN.
netstat -rn
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 93.XXX.96.1 0.0.0.0 UG 0 0 0 ens3
10.29.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun1
93.XXX.96.0 0.0.0.0 255.255.255.0 U 0 0 0 ens3
192.168.58.0 0.0.0.0 255.255.255.0 U 0 0 0 tun2
192.168.60.0 0.0.0.0 255.255.255.0 U 0 0 0 tun3
Когда я использую vpn-клиент с этого vpn-сервера (клиент 192.168.58.X), я не могу пинговать 10.29.0.XXX
Как я могу это сделать, если у меня есть vpn-клиент (из 192.168.58.X), пингующий IP-адреса других подсетей? например 10.29.0.XXX или 192.168.60.X
Вы должны добавить маршруты на стороне клиента vpn в эти дополнительные сети через сервер vpn. Поскольку pritunl является дополнением к openvpn, вы можете использовать механику openvpn для отправки маршрутов на сторону клиента. Что-то такое:
push "route 10.29.0.0 255.255.255.0"
push "route 192.168.58.0 255.255.255.0"
push "route 192.168.60.0 255.255.255.0"
Обратитесь к документации по pritunl о том, как это сделать.
Также вы можете вручную добавлять соответствующие маршруты на стороне клиента, не редактируя конфигурацию сервера. Использовать ip route
на клиентских хостах linux и route
в другой ОС.
Если вы используете openvpn на клиентских хостах, вы можете отредактировать файл конфигурации openvpn, чтобы добавить маршруты после появления туннеля vpn.
route 10.20.0.0 255.255.255.0
route 192.168.58.0 255.255.255.0
route 192.168.60.0 255.255.255.0