как прописать маршрут в windows 10 для vpn

Автоматическое добавление статических маршрутов после подключения к VPN

В современных версиях Windows есть интересная возможность автоматического добавления статических маршрутов при активации определённого VPN подключения. Когда VPN подключение разрывается, данный маршрут автоматически удаляется из таблицы маршрутизации Windows. Для добавления IPv4 или IPv6 маршрута для VPN подключения используется PowerShell командлет Add-VpnConnectionRoute.

Допустим, вы хотите, чтобы через ваше VPN подключение маршрутизировались только пакеты для двух подсетей (192.168.111.24/ и 10.1.0.0/16), а весь основной трафик должен идти через вашего провайдера.

Откройте консоль PowerShell и выведите список всех настроенных VPN подключений в Windows:

В первую очередь нужно отключить опцию “Use default gateway in remote network” (Использовать основной шлюз в удаленной сети). Это можно сделать в свойствах VPN подключения в панели управления или командой:

Добавим два статических маршрута для нашего VPN-соединения:

Если у вас активно VPN подключение, вам нужно переподключиться, чтобы новые маршруты добавились в таблицу маршрутизации.

Новые маршруты привязаны к VPN подключению и добавляются при его запуске. Когда вы отключаетесь от VPN сервера, маршруты автоматически удаляются.

Отключитесь от VPN и проверьте таблицу маршрутизации. Маршрут к вашей удаленной сети удалился автоматически, а Get-NetRoute вернет, что маршрут не найден:

Например, можно создать командный файл vpn_route.netsh для добавления маршрутов.

interface ipv4
add route prefix=192.168.111.24 interface=»workVPN» store=active
add route prefix=10.1.0.0/16 interface=»workVPN» store=active
exit

Данный файл нужно запускать через задание планировщика, которое срабатывает на событие установки VPN подключения в Event Viewer (RasMan 20225)

Источник

Решения о маршрутизации для VPN

Относится к:

Сетевые маршруты необходимы сетевому стеку, чтобы понять, какой интерфейс использовать для исходящего трафика. Один из важнейших критериев принятия решений о конфигурация VPN состоит в том, хотите ли вы отправлять все данные по VPN (принудительное использование тоннеля) или передавать только часть данных по VPN (разделение туннеля). Этот выбор влияет на планирование конфигурации и ресурсов, а также на уровень безопасности соединения.

Конфигурация разделение туннеля

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

Маршруты можно настроить с помощью параметра VPNv2/имя_профиля/RouteList в разделе Поставщик службы конфигурации (CSP) VPNv2.

Для каждого элемента маршрута в списке можно указать следующие параметры.

Адрес: VPNv2/ProfileName/RouteList/routeRowId/Address

Размер префикса: VPNv2/ProfileName/RouteList/routeRowId/Prefix

Маршрут исключения: VPNv2/ProfileName/RouteList/routeRowId/ExclusionRoute

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

Для приложений VPN платформы UWP маршруты также можно добавить во время подключении через сервер.

Конфигурация принудительного использования туннеля

В конфигурации с принудительным туннелированием весь трафик проходит через VPN. Это конфигурация по умолчанию, которая используется, если маршруты не заданы.

Этот параметр предназначен только для обработки записей маршрутизации. Для принудительного туннеля VPN V4 и V6 маршруты по умолчанию (например, 0.0.0.0/0) добавляются в таблицу маршрутизации с более низкой метрикой, чем для других интерфейсов. При этом трафик передается через VPN, пока не существует маршрута через физический интерфейс.

Для встроенной VPN этой настройкой можно управлять с помощью параметра MDM VPNv2/имя_профиля/NativeProfile/RoutingPolicyType.

Для подключаемого модуля VPN платформы UWP это свойство управляется непосредственно приложением. Если подключаемый модуль VPN указывает маршруты по умолчанию для IPv4 и IPv6 как единственные два маршрута включения, платформа VPN отмечает, что для туннель используется для подключения принудительно.

Настройка маршрутизации

Сведения о настройке XML см. в разделе Параметры профиля VPN и VPNv2 CSP.

При настройке VPN-профиля в Microsoft Intune установите флажок, чтобы включить конфигурацию с разделением туннеля.

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

Источник

Добавление маршрутов при работе с VPN (VPN маршруты)

Добрый день, уважаемые читатели. Недавно столкнулся с одной проблемой, один из моих клиентов попросил настроить VPN тоннель на роутере для связи с одним из его серверов, я это настроил, но заметил, что после добавления VPN соединения на ПК с которого я подключаюсь к VPN серверу, доступ в интернет начинает по умолчанию идти через VPN подключение (что напрочь убивает скорость интернета на ПК). Я долго искал в интернете способы решения данного вопроса, но ничего толкового я не нашел. Однако я понимал что дело в маршруте через который идет доступ в Интернет. Я долго копался в метриках и маршрутах и решил данную проблему следующим образом:

1. Заходим в центр управления сетями и общим доступом и переходим во вкладку изменение параметров адаптера:

2. Кликаем правой клавишей по ранее созданному VPN подключению, заходим в свойства, в свойствах находим раздел Сеть и заходим в настройки протокола Интернет версии 4.

О том как создать VPN подключение на ПК под управлением ОС семейства Windows я писал в своей статье.

3. Далее переходим во вкладку дополнительно:

4. Чтобы не использовать VPN сервер основным маршрутом выхода в Интернет ставим галочку на пункте «Отключить добавление маршрута основанное на классе» и сохраняем изменения.

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

route add 192.168.9.0 mask 255.255.255.0 192.168.2.1, где 192.168.9.0 — сетевой адрес, 255.255.255.0 — сетевая маска, 192.168.9.0 — сетевой шлюз (IP адреса настроенные на VPN сервере)

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

Источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

Управляем VPN-соединениями в Windows при помощи PowerShell

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

Для управления VPN-соединениями мы будем использовать PowerShell, данные возможности поддерживаются начиная с Windows 8 и Windows Server 2012.

Создание VPN-соединения

Для того, чтобы создать новое VPN-подключение используется командлет Add-VpnConnection, использовать который достаточно просто, обязательных параметров всего два: имя подключения и адрес сервера. Но это, конечно же, не наш метод, если возможности позволяют выполнить тонкую настройку, а они позволяют, то ее нужно выполнить. Поэтому давайте изучим доступные параметры, которые могут нам пригодиться:

Также нам пригодятся два служебных параметра:

Ниже мы рассмотрим команды для создания подключений всех поддерживаемых типов.

Устаревший и небезопасный протокол, то один из самых быстрых типов подключения, все еще продолжает использоваться там, где не предъявляются высокие требования к защите данных, либо для этого используются иные механизмы, например, SSL/TLS. В качестве способа аутентификации следует использовать MS-CHAP v2, а уровень шифрования не ниже Required, что соответствует параметру Обязательное (отключиться если нет шифрования) в графическом интерфейсе.

Также мы добавили опции для отключения перенаправления трафика в туннель и разрешили запоминать учетные данные.

Если вы указали параметр PassThru, то на экране появятся свойства созданного подключения, как на рисунке выше, без указания этого параметра вывод у команды отсутствуют.

L2TP/IPsec

В качестве L2TP будем рассматривать подключение с общим ключом, также используем MS-CHAP v2 и уровень шифрования Required и выше.

Обратите внимание, что в данной команде мы использовали ключ Force, чтобы предотвратить появление запроса о том, что подтверждаем ли мы передачу общего ключа в открытой форме. Также, как и с PPTP-подключением мы отключили шлюз в VPN-сети и разрешили запоминать учетные данные.

Для использования SSTP вам потребуется импортировать корневой CA-сертификат центра сертификации, выдавшего сертификат серверу в локальное хранилище компьютера, а также использовать в качестве адреса сервера FQDN-имя, указанное в его сертификате. В остальном все несложно, соединение создается уже привычной командой:

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

IKEv2

А вот здесь уже интереснее, мы будем настраивать соединение с аутентификацией по сертификатам. Здесь вам также потребуется импортировать сертификаты в хранилище компьютера: сертификат CA и сертификат пользователя. А для настройки соединения используем следующую команду:

Обращает внимание новый метод аутентификации MachineCertificate и отсутствие параметра RememberCredential, в данном случае пользователю не нужно вводить никаких учетных данных, поэтому и запоминать тут нечего. В качестве имени сервера используем FQDN или IP, в зависимости от того, что указано в Common Name сертификата сервера.

Изменение параметров VPN-соединения

Создавать подключения мы уже научились, но как быть, когда нам требуется что-то в них изменить? На помощь придёт командлет Set-VpnConnection, он использует все те же параметры что и Add-VpnConnection и позволяет изменить любой из них, для указания подключения используется параметр Name. Скажем, мы хотим изменить адрес сервера для PPTP подключения, нет ничего проще, указываем имя подключения, требуемый параметр и его новое значение:

Например, включим разрешение запоминать учетные данные:

Для отключения введите:

В тоже время служебные параметры PassThru и Force можно просто указывать без ввода значения, само их наличие воспринимается как Истина.

Получение информации о VPN-соединении

Для получения информации о настроенных VPN-соединениях мы можем использовать командлет Get-VpnConnection, из параметров он поддерживает только Name и AllUserConnection, что позволяет отобразить параметры конкретного соединения и уточнить, что мы хотим видеть соединения всех пользователей, а не только текущего.

Чтобы увидеть все VPN-соединения выполните:

Для получения данных о конкретном соединении:

Возможностей у командлета немного, но со своей работой он справляется.

Удаление VPN-соединения

Добавление маршрута при подключении

Например, добавим маршрут к сети 192.168.111.0/24 через подключение L2TP PS:

Автоматизация создания VPN-соединения

Для автоматического создания соединения важно чтобы конечный пользователь совершал минимум необходимых действий. В целях безопасности PowerShell скрипты нельзя запустить двойным кликом, поэтому будем использовать старый добрый CMD, в котором уже будем запускать PS и передавать ему нужные команды.

Ниже пример простого командного файла, который создает VPN-соединение и прописывает маршрут для него:

Обратите внимание, что команда полностью берется в двойные кавычки, а все двойные кавычки внутри команды заменены на одинарные. Данное содержимое вносим в Блокнот и сохраняем с расширением .bat или .cmd, для создания подключения не требуется повышения прав.

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

Если вам нужно внести какие-либо изменения в параметры подключения, вы точно также можете создать новый командный файл, в котором будете использовать командлет Set-VpnConnection.

В целом PowerShell предоставляет достаточно широкие возможности по простому и удобному управлению VPN-соединениями на компьютере и позволяет решать множество связанных с этим задач в один клик, используя скрипты и командные файлы.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Или подпишись на наш Телеграм-канал:

Источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

Автоматическое добавление маршрутов для VPN-соединения в Windows

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

Но вернемся к нашему вопросу. Для добавления маршрутов в удаленную сеть традиционно использовали несколько методов:

В тоже время начиная с Windows 8 существует штатное решение в виде командлета PowerShell, которое позволяет привязать маршруты к VPN-подключению и добавлять их при его запуске, при отключении соединения маршруты будут автоматически удалены.

Запустим консоль PowerShell и прежде всего узнаем имена имеющихся в системе VPN-подключений:

Результатом работы команды будет информация обо всех коммутируемых подключениях, нас интересует поле Name:

Теперь добавим маршрут к удаленной сети для подключения с именем L2TP MT:

Теперь проверим как это все работает. Проверим таблицу маршрутизации при отключенном VPN-подключении и убедимся, что маршруты в удаленную сеть отсутствуют:

Данная команда добавит маршрут к узлу 192.168.111.101, к другим узлам удаленной сети доступа у VPN-пользователя не будет.

Чтобы удалить маршрут следует воспользоваться командой Remove-VPNConnectionRoute, синтаксис которой полностью повторяет команду добавления маршрута:

Как видим, современные версии Windows дают нам в руки достаточно простой и удобный инструмент управления маршрутами для VPN-подключений.

Важно! Данные возможности не поддерживаются в Windows 7.

Дополнительные материалы:

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Или подпишись на наш Телеграм-канал:

Источник

Операционные системы и программное обеспечение