
Итак, я студент, и мне нужно очень часто подключаться к университетскому VPN, чтобы использовать Matlab, AutoCAD и т. д. Я использую их сеть OpenVPN вместо Windows PPTP, потому что у меня больше контроля. Эта сеть VPN заставляет направлять весь трафик через их сервер, и мне это не нравится, поэтому мне удалось отключить это, добавивмаршрут-nopullв конфигурацию клиента. На этом этапе программы не могут подключиться к университетскому серверу лицензий, поэтому я проверил, как выглядят таблицы маршрутизации после подключения к VPN (см. рис.). Теперь я знаю, что VPN-сервер выдает IP-адреса из этой сети2xx.xx.26.0/30поэтому каждый компьютер находится в другой подсети. Как вы можете видеть на картинке, этот IP-сервер дал мне2xx.xx.26.105, поэтому единственный вариант - это шлюз2xx.xx.26.106. IP-адрес сервера лицензий в сети2xx.xx.28.34и идентификатор интерфейса, который я использую, это29поэтому я добавил правило маршрутизации с помощью следующей команды: route add 2xx.xx.28.34 2xx.xx.26.106 if 29
(результат отмечен красным на картинке). Теперь я могу подключиться к серверу лицензий, но каждый раз, когда я переподключаюсь к VPN, он может перебросить меня в другую подсеть, шлюз меняется, и мне нужно добавить еще один статический маршрут. Можно ли что-то сделать, чтобы избежать этого? Это возможно?
МОЯ ТАБЛИЦА МАРШРУТИЗАЦИИ
решение1
Лучше всего использовать скрипт "--route-up"!
Затем вы можете использовать переменную среды «route_vpn_gateway» в этом скрипте для маршрутизации определенных сетей через VPN-шлюз:
#!/bin/sh
route del all default
route add 2xx.xx.28.34 $route_vpn_gateway if $dev
# do this for ebery net that needs to be routed via the VPN