Вопрос Проблема с постоянными маршрутами и VPN-подключением в Windows 7


У моего домашнего ПК есть VPN-соединение с моим офисом. Офисная сеть имеет межсетевой экран с защищенной зоной на 192.168.0. * И DMZ на 10.0.0. *

Извне, маршруты www.mycompany.com к публичному IP - скажем 1.2.3.4. Наши брандмауэры NAT, которые до 10.0.0.4. Из локальной сети офиса мы используем записи DNS на наших контроллерах домена для разрешения www.mycompany.com прямо до 10.0.0.4, потому что мы не можем перейти к общему интерфейсу нашего собственного брандмауэра.

Когда я подключаю VPN из дома, я получаю IP-адрес 192.168.0. *, Назначенный через DHCP, но поскольку я не использую VPN в качестве моего шлюза по умолчанию, я не могу маршрутизировать до 10.0.0. * Адресов, если не вручную добавьте маршрут.

Я создал постоянный маршрут для передачи трафика для подсети 10.0.0. * Через шлюз по умолчанию в безопасной зоне брандмауэра:

route add -p 10.0.0.0 mask 255.255.255.0 192.168.0.1

Вот проблема. Когда я перезагружаюсь, маршрут по-прежнему отображается в таблице маршрутизации - отлично. Если я подключу VPN, маршрут появится, но не сработает - я не могу маршрутизировать что-либо в подсети 10.0.0.0. НО, если я удалю, а затем снова добавлю маршрут ПОСЛЕ подключения VPN, он отлично работает.

Я понятия не имею, почему это так. Конфигурация до / после имеет IDENTICAL - тот же IP-адрес, та же таблица маршрутов, но если я создаю маршрут, то подключаюсь, он терпит неудачу; если я подключу VPN и затем создаю маршрут, он будет успешным.

Ищете какие-либо советы о том, как я могу либо стабилизировать конфигурацию, либо автоматически создавать маршрут при подключении VPN?


5
2018-04-29 12:24


происхождения




ответы:


Честно говоря, есть несколько раз, почему это не будет работать должным образом. Но давайте пропустить это пока.

Вместо того, чтобы добавлять произвольный маршрут к IP-адресу, попробуйте добавить маршрут с указанным «интерфейсом».

то есть при подключении к VPN, если вы выполните:

route print

и найдите «Интерфейс» в списке, он должен иметь номер, назначенный интерфейсу VPN.

 19 ... 00 0e 2e 65 ca 61 ...... Realtek RTL8139 / 810x Family Fast Ethernet NIC
 12 ... 00 26 55 44 95 3c ... Broadcom NetXtreme Gigabit Ethernet
 28 ... 00 00 00 00 00 00 ... Интерфейс MyVPN Thingie
  1 ........................... Программный интерфейс Loopback 1
 13 ... 00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP
 11 ... 00 00 00 00 00 00 00 e0 Адаптер туннелирования Microsoft Teredo

в моем примере ... # 28 - мой vpn. Итак, когда вы добавляете маршрут ... сделайте следующее:

route add -p 10.0.0.0 mask 255.255.255.0 192.168.0.1 if 28

Что это должен сделайте для вас, добавьте маршрут ... только тогда, когда этот интерфейс встанет. Он по-прежнему будет находиться в «постоянных маршрутах» ... но фактически не будет добавлен в таблицу маршрутизации до тех пор, пока этот интерфейс не станет ... и он снова будет удален, когда интерфейс исчезнет.


5
2018-04-29 13:37



Ваше решение отлично работает - спасибо! - но мне бы хотелось узнать, что такое «несколько бит» - маршрутизация - одна из тех вещей, которые я всегда взламывал до тех пор, пока она не работает, но никогда на самом деле не смотрела в глубину - получилась ссылка на соответствующий ресурс, который объяснит, что я «Неправильно?» - Dylan Beattie
По существу ... «несколько бит» относятся к способу выбора маршрутов. Поскольку этот маршрут существовал до того, как VPN был активным, он автоматически предполагает, что интерфейс, который он должен использовать для подключения к этой подсети, является другим сетевым интерфейсом. (возможно, ваше локальное подключение к локальной сети или WIFI) Это не изменится, пока вы не удалите и не добавите маршрут. Предварительно определяя, какой интерфейс он должен использовать, он не будет пытаться и добавлять его до тех пор, пока этот интерфейс не будет подключен к сети. Просто будь рад, что ты не попал в метрический ад. (что является целым другим предметом) - TheCompWiz
Что такое «метрический ад»? У меня есть постоянный маршрут 3 как его метрику, но она проявляется как 28 в таблице маршрутизации. - Gabe


Если у вас несколько виртуальных частных сетей, вы можете столкнуться с проблемой, что при их подключении в случайном порядке их идентификаторы интерфейса меняются. В этом случае нормальный ROUTE -P ADD 10.0.0.0 MASK 255.255.0.0 10.0.0.1 IF 42 не работает. В следующий раз, когда подключается VPN, у него может быть другой номер интерфейса.

У Powershell есть командлет, который добавляет маршруты в VPN-соединение и удаляет их снова, когда VPN отключается: Надстройка VpnConnectionRoute, Он работает без указания идентификатора интерфейса.

Основной синтаксис выглядит так:

Add-VpnConnectionRoute -ConnectionName "VPN Connection Name" -DestinationPrefix 10.0.0.0/16

После ввода этой команды маршруты будут автоматически создаваться / удаляться при подключении / отключении VPN.


1
2018-01-29 15:44