
У меня есть «домашняя» локальная сеть в подсети 192.168.1.x, где мой маршрутизатор с выходом в Интернет, который также является шлюзом, имеет IP-адрес 192.168.1.1.
Вдобавок ко всему у меня есть «лабораторная» среда, работающая на ESXi, где я использую подсеть 10.xxx.
Я использую RRAS в качестве маршрутизатора со статическим маршрутом к подсети 192.168.1.0 и другим статическим маршрутом на моем маршрутизаторе, выходящем в Интернет, для доступа к подсети 10.xxx.
Все это прекрасно работает, когда я работаю на ноутбуке, но на моем настольном компьютере установлен VPN-клиент, который выдает мне IP-адрес в подсети 10.xxx, поэтому любые попытки связаться с моей внутренней подсетью 10.xxx перенаправляются через VPN.
Я знаю, что могу изменить это так, чтобы Windows отдавала предпочтение моему сетевому адаптеру, не поддерживающему VPN, но это будет означать, что внешний трафик также не будет направляться через VPN, что сделает VPN бесполезным.
Так как же мне получить доступ к моей подсети 10.xxx, будучи подключенным к VPN, и при этом гарантировать, что весь внешний трафик по-прежнему будет проходить через VPN?
Спасибо.
ИЗМЕНИТЬ1:
Схема сети:
https://creately.com/diagram/hoq2lfcn2/Ht609UGn1TpgWz29zeQsJVtrfwc%3D
PC1 использует Viscosity, клиент OpenVPN для подключения к VPN-сервису. IP-адрес VPN-сервиса меняется, но всегда находится в подсети 10.xxx, а маска подсети всегда 255.255.255.252.
Когда клиент OpenVPN отключен, я могу подключиться ко всем виртуальным машинам в подсети 10.xxx с ПК1, но не могу, когда подключен VPN, поскольку трафик направляется через VPN, а не за пределы туннеля.
С ПК2 (на котором нет VPN-клиента) я всегда могу подключиться ко всем виртуальным машинам в подсети 10.xxx.
решение1
Это зависит от того, чего именно вы хотите добиться. Если я правильно прочитал ваше сообщение, вы не заинтересованы в контакте с локальной сетью за вашим VPN-сервером, а только в использовании ее в качестве трамплина для доступа в Интернет (поправьте меня, если я ошибаюсь).
Если это действительно так, то нет никаких проблем. Все, что вам нужно сделать, это настроить два отдельных маршрута, один для подсети 10.xxx через интерфейс eth0, а другой для вашего VPN-маршрутизатора (допустим, у него IP 10.0.0.1) через интерфейс ppp0/tun0/tap0, в зависимости от типа VPN, который вы используете. Это должен быть маршрут для одного IP-адреса, 10.0.0.1/255.255.255.255. И это все. Это работает, потому что таблица маршрутизации всегда применяет сначала самые строгие правила (а ничто не может быть более строгим, чем маршрут для одного IP), а затем более полные.
Если же вместо этого вы также заинтересованы в достижении локальной сети за вашим VPN-маршрутизатором, ситуация более сложная. В основном это зависит от того, перекрываются ли две подсети, 10.xxx/mask1 и 10.yyy/mask2, или нет. Чтобы решить этот случай, вам придется опубликовать свою таблицу маршрутизации и ipconfig.