Доступ в Internet минуя VPN канал (на примере)

Недавно решил следующую интересную задачу: требовалось обеспечить подключение до ресурсов на работе по защищенному каналу, при этом, использовать свой домашний интернет, а не рабочий интернет сквозь VPN соединение.

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

У нас имеется настроенное VPN соединение (VPN активен). Подключим его и проверим параметры интерфейсов. Для этого запустим командную строку (здесь и далее, командная строка должна быть с правами администратора).

Выполним команду ipconfig

результат выполнения

нас интересуют текущий IP-адрес локальной машины (192.168.0.164) и IP-адрес адаптера VPN соединения (192.168.112.45).

Проверим и убедимся, что у нас доступен интернет и трафик идет через VPN канал.

Для этого выполним ping 8.8.8.8 до общедоступного DNS и
tracert 8.8.8.8

доступность и маршрут до интернета

Как видно, интернет есть, и он идет через IP VPN соединения по сети 192.168.112.0

Убедимся, что рабочий ресурс нам доступен, для этого выполним
ping 192.168.1.100 (это контроллер домена рабочей сети),
а также tracert 192.168.1.100

доступность и маршрут до рабочего сервера

Ресурс доступен.

Для решения нашей задачи необходимо настроить интерфейс VPN: Свойства VPN -> Свойства TCP/IPv4 -> Дополнительно… ->
снять чек «Использовать основной шлюз в удаленной сети»

Так как соединение было активно, требуется отключить и снова включить соединение, для вступления изменений в силу, о чем нас любезно предупредят.

Теперь весь трафик, который раньше шел через VPN – будет идти так, как было бы без него. Проведем эксперимент, для этого вновь проверим доступность интернета и как идет трафик

доступность и маршрут до интернет
доступность и маршрут до рабочего сервера

Как видно из тестов, интернет идет через нужный нам канал, но доступ до рабочих ресурсов пропал. Нам необходимо явно добавить маршрут (маршруты), для которых необходим доступ по VPN.

Нам понадобится IP адрес шлюза VPN соединения или IP адрес, назначаемый при VPN подключении, если шлюз не известен. Для нашего примера это адрес 192.168.112.45.

Посмотрим таблицу маршрутизации введя route print

таблица маршрутизации

Нас интересует номер VPN интерфейса (подсвечен). Обратите внимание, что у нас отсутствуют постоянные маршруты.

Далее нам необходимо определить адрес(а) или подсеть трафик в которую необходимо направлять через VPN соединение. В нашем случае это весь трафик для рабочей сети 192.168.1.0/24., который необходимо направлять через интерфейс VPN соединения 192.168.112.45.

Пропишем постоянный маршрут:
route add 192.168.1.0 mask 255.255.255.0 192.168.112.45 if 36 -p

Здесь, параметр -p означает, что добавляемый маршрут будет сохранён (persistent). Параметр if 36 означает, что этот маршрут будет применяться только при поднятом интерфейсе 36 (т.е. при подключенном VPN, который имеет этот номер). Если не указать параметр if, то маршрут будет работать только до отключения VPN-соединения. При отключении, Windows определит, что маршрут более неприменим, и удалит его. После повторного подключения VPN, маршрут не будет активным несмотря на то, что он создан с параметром -p. Если указан параметр if, то при отключении от VPN система определит, что маршрут не следует удалять, и временно отключит его до поднятия нужного интерфейса.
192.168.1.0 — имя сети (или IP адрес) в которую мы обращаемся,
mask 255.255.255.0 — определяет маску сети или конкретный адрес,
192.168.122.45 — адрес шлюза или интерфейса, через который должен направляться трафик.

результат сохранения маршрута ОК.

Посмотрим таблицу маршрутизации. У нас появился постоянный маршрут.

таблица маршрутизации после сохранения маршрута

Задача решена, проверим что все работает так как задумывалось.

доступность и маршрут до интернета

Интернет есть и трафик идет по обычному каналу.

доступность и маршрут до рабочего сервера

Доступ до рабочих ресурсов есть и идет внутри VPN.

Подобный подход можно использовать и для настройки одновременной работе двух (или больше) сетевых карт.

Добавить комментарий

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.