Я пытаюсь подключить клиента к сети vpn, не перенаправляя весь мой трафик в сеть через openvpn. Дело в том, что я хочу иметь возможность подключаться и общаться со всеми другими подключенными vpn-машинами и их службами, но я хочу, чтобы весь мой обычный трафик (http и т. Д.) Уходил и входил через мой маршрут / сеть по умолчанию, как обычно, когда не подключен к vpn.
Вот мои конфиги и маршруты, если они кому-то помогают (все маршруты, относящиеся к tun0, добавляются openvpn):
user@machine:~# ip route
0.0.0.0/1 via 10.8.0.9 dev tun0
default via 192.168.0.1 dev wlan0 proto static
10.8.0.1 via 10.8.0.9 dev tun0
10.8.0.9 dev tun0 proto kernel scope link src 10.8.0.10
xx.xx.xx.xx via 192.168.0.1 dev wlan0
128.0.0.0/1 via 10.8.0.9 dev tun0
192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.187
192.168.80.0/24 dev wlan0-1 proto kernel scope link src 192.168.80.1
Я попытался использовать параметр конфигурации route-nopull, и хотя я смог подключиться к vpn и получить IP-адрес, другие пользователи vpn не смогли получить доступ к моим службам, таким как ssh. Если я удалю параметр route-nopull, они смогут получить доступ к моей службе ssh, но теперь весь трафик ящиков перенаправляется через vpn.
client
dev tun
proto udp
remote xx.xx.xx.xx YYYYY
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
verb 3
ca ca.crt
cert vpn.crt
В целом я ищу способ подключиться к сети vpn и разрешить другим пользователям vpn получать доступ к моим службам без перенаправления всего моего обычного трафика в сеть vpn.
Надеюсь, то, чего я пытаюсь достичь, имеет смысл.
Спасибо за уделенное время.
На клиенте вы можете использовать --route-up
сценарий:
ip route del 0.0.0.0/1
ip route del 128.0.0.0/1
exit 0
Используя также --route-noexec
вариант, вы можете написать скрипт для условного добавления маршрутов - т.е. все, кроме 0.0.0.0/1 и 128.0.0.0/1. Маршруты можно читать из переменных среды. Это сложнее, чем слепое удаление, поскольку для этого требуется некоторая логика обработки в скрипте.