- Записки IT специалиста
- Автоматическое добавление маршрутов для VPN-соединения в Windows
- Дополнительные материалы:
- VPN routing decisions
- Split tunnel configuration
- Force tunnel configuration
- Configure routing
- Решения о маршрутизации для VPN VPN routing decisions
- Конфигурация разделение туннеля Split tunnel configuration
- Конфигурация принудительного использования туннеля Force tunnel configuration
- Настройка маршрутизации Configure routing
- Настройка VPN в Windows, изменение параметров маршрутизации
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
- Главная
- Автоматическое добавление маршрутов для VPN-соединения в Windows
Автоматическое добавление маршрутов для VPN-соединения в Windows
В последнее время значительно вырос интерес к технологиям удаленного доступа для обеспечения работы сотрудников из любого места. Ключевую роль здесь играет VPN, как универсальное и безопасное средство для получения доступа во внутреннюю сеть предприятия. Наиболее привлекательно использовать для этого те протоколы, которые штатно поддерживаются в Windows, что позволяет организовать соединение на любом ПК без установки на него стороннего ПО. Но у данного способа есть одна проблема — добавление маршрутной информации, сегодня мы рассмотрим один из штатных способов, позволяющих легко управлять маршрутами для VPN-соединений.
Стандартные сетевые возможности Windows многим хороши, кроме одного — управление маршрутами для VPN-соединений. Именно это заставляло многих системных администраторов выбирать альтернативные технологии, например, OpenVPN, но это не совсем удобно если речь идет о личных устройствах сотрудников, так как требует установки дополнительного ПО, что, к тому же, не всегда возможно. Кроме того, мы неоднократно сталкивались с ситуациями, когда пользователи удаляли данное ПО, устанавливали конфликтующие приложения, теряли ярлыки для подключения, блокировали его антивирусным ПО и т.д. и т.п.
Подключение средствами ОС в этом плане более привлекательно, так как позволяет снять большую часть указанных выше проблем и подразумевает единообразие пользовательского интерфейса, что позволяет сделать простые и понятные инструкции.
Но вернемся к нашему вопросу. Для добавления маршрутов в удаленную сеть традиционно использовали несколько методов:
- Статическая маршрутизация — на первый взгляд все просто, что прописали руками — то и работает. Но добавление маршрутов требует привилегий администратора, не всегда возможно заранее прописать маршрут из-за отсутствия интерфейса, при переподключении маршруты могут стать недействительными.
- Маршрутизация на основе классов — требует тщательного планирования адресного пространства, нет возможности прокинуть дополнительные маршруты, сложно работать с сетями 192.168.х.х.
- CMAK и различные скрипты — требуют административных привилегий, сложны в настройке, непрозрачны.
В тоже время начиная с Windows 8 существует штатное решение в виде командлета PowerShell, которое позволяет привязать маршруты к VPN-подключению и добавлять их при его запуске, при отключении соединения маршруты будут автоматически удалены.
Запустим консоль PowerShell и прежде всего узнаем имена имеющихся в системе VPN-подключений:
Результатом работы команды будет информация обо всех коммутируемых подключениях, нас интересует поле Name:
Теперь добавим маршрут к удаленной сети для подключения с именем L2TP MT:
где в параметр ConnectionName содержит имя подключения, взятое в кавычки, а DestinationPrefix — необходимую сеть назначения или узел.
Теперь проверим как это все работает. Проверим таблицу маршрутизации при отключенном VPN-подключении и убедимся, что маршруты в удаленную сеть отсутствуют:
Теперь подключимся к VPN-серверу и снова проверим таблицу маршрутизации — в ней появится указанный нами маршрут к удаленной сети:
Если нужно добавить несколько маршрутов — выполняем команду несколько раз. При этом можно добавлять маршруты не только к удаленной сети, но и к определенному узлу, что в ряде случаев более предпочтительно по соображениям безопасности, например:
Данная команда добавит маршрут к узлу 192.168.111.101, к другим узлам удаленной сети доступа у VPN-пользователя не будет.
Чтобы удалить маршрут следует воспользоваться командой Remove-VPNConnectionRoute, синтаксис которой полностью повторяет команду добавления маршрута:
Как видим, современные версии Windows дают нам в руки достаточно простой и удобный инструмент управления маршрутами для VPN-подключений.
Важно! Данные возможности не поддерживаются в Windows 7.
Дополнительные материалы:
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
VPN routing decisions
Applies to
- WindowsВ 10
- WindowsВ 10 Mobile
Network routes are required for the stack to understand which interface to use for outbound traffic. One of the most important decision points for VPN configuration is whether you want to send all the data through VPN (force tunnel) or only some data through the VPN (split tunnel). This decision impacts the configuration and the capacity planning, as well as security expectations from the connection.
Split tunnel configuration
In a split tunnel configuration, routes can be specified to go over VPN and all other traffic will go over the physical interface.
Routes can be configured using the VPNv2/ProfileName/RouteList setting in the VPNv2 Configuration Service Provider (CSP).
For each route item in the list, the following can be specified:
Address: VPNv2/ProfileName/RouteList/routeRowId/Address
Prefix size: VPNv2/ProfileName/RouteList/routeRowId/Prefix
Exclusion route: VPNv2/ProfileName/RouteList/routeRowId/ExclusionRoute
Windows VPN platform now supports the ability to specify exclusion routes that specifically should not go over the physical interface.
Routes can also be added at connect time through the server for UWP VPN apps.
Force tunnel configuration
In a force tunnel configuration, all traffic will go over VPN. This is the default configuration and takes effect if no routes are specified.
The only implication of this setting is the manipulation of routing entries. In the case of a force tunnel, VPN V4 and V6 default routes (for example. 0.0.0.0/0) are added to the routing table with a lower metric than ones for other interfaces. This sends traffic through the VPN as long as there isn’t a specific route on the physical interface itself.
For built-in VPN, this decision is controlled using the MDM setting VPNv2/ProfileName/NativeProfile/RoutingPolicyType.
For a UWP VPN plug-in, this property is directly controlled by the app. If the VPN plug-in indicates the default route for IPv4 and IPv6 as the only two Inclusion routes, the VPN platform marks the connection as Force Tunneled.
Configure routing
See VPN profile options and VPNv2 CSP for XML configuration.
When you configure a VPN profile in Microsoft Intune, you select a checkbox to enable split tunnel configuration.
Next, in Corporate Boundaries, you add the routes that should use the VPN connection.
Решения о маршрутизации для VPN VPN routing decisions
Относится к: Applies to
- Windows 10 Windows 10
- Windows10 Mobile Windows 10 Mobile
Сетевые маршруты необходимы сетевому стеку, чтобы понять, какой интерфейс использовать для исходящего трафика. Network routes are required for the stack to understand which interface to use for outbound traffic. Один из важнейших критериев принятия решений о конфигурация VPN состоит в том, хотите ли вы отправлять все данные по VPN (принудительное использование тоннеля) или передавать только часть данных по VPN (разделение туннеля). One of the most important decision points for VPN configuration is whether you want to send all the data through VPN (force tunnel) or only some data through the VPN (split tunnel). Этот выбор влияет на планирование конфигурации и ресурсов, а также на уровень безопасности соединения. This decision impacts the configuration and the capacity planning, as well as security expectations from the connection.
Конфигурация разделение туннеля Split tunnel configuration
В конфигурации с разделением туннеля можно указать маршруты, которые будут проходить через VPN, а весь другой трафик будут проходить через физический интерфейс. In a split tunnel configuration, routes can be specified to go over VPN and all other traffic will go over the physical interface.
Маршруты можно настроить с помощью параметра VPNv2/имя_профиля/RouteList в разделе Поставщик службы конфигурации (CSP) VPNv2. Routes can be configured using the VPNv2/ProfileName/RouteList setting in the VPNv2 Configuration Service Provider (CSP).
Для каждого элемента маршрута в списке можно указать следующие параметры. For each route item in the list, the following can be specified:
Адрес: VPNv2/ProfileName/RouteList/routeRowId/Address Address: VPNv2/ProfileName/RouteList/routeRowId/Address
Размер префикса: VPNv2/ProfileName/RouteList/routeRowId/Prefix Prefix size: VPNv2/ProfileName/RouteList/routeRowId/Prefix
Маршрут исключения: VPNv2/ProfileName/RouteList/routeRowId/ExclusionRoute Exclusion route: VPNv2/ProfileName/RouteList/routeRowId/ExclusionRoute
VPN-платформа Windows теперь позволяет указать маршруты исключения, которые не должны проходить через физический интерфейс. Windows VPN platform now supports the ability to specify exclusion routes that specifically should not go over the physical interface.
Для приложений VPN платформы UWP маршруты также можно добавить во время подключении через сервер. Routes can also be added at connect time through the server for UWP VPN apps.
Конфигурация принудительного использования туннеля Force tunnel configuration
В конфигурации с принудительным туннелированием весь трафик проходит через VPN. In a force tunnel configuration, all traffic will go over VPN. Это конфигурация по умолчанию, которая используется, если маршруты не заданы. This is the default configuration and takes effect if no routes are specified.
Этот параметр предназначен только для обработки записей маршрутизации. The only implication of this setting is the manipulation of routing entries. Для принудительного туннеля VPN V4 и V6 маршруты по умолчанию (например, In the case of a force tunnel, VPN V4 and V6 default routes (for example. 0.0.0.0/0) добавляются в таблицу маршрутизации с более низкой метрикой, чем для других интерфейсов. 0.0.0.0/0) are added to the routing table with a lower metric than ones for other interfaces. При этом трафик передается через VPN, пока не существует маршрута через физический интерфейс. This sends traffic through the VPN as long as there isn’t a specific route on the physical interface itself.
Для встроенной VPN этой настройкой можно управлять с помощью параметра MDM VPNv2/имя_профиля/NativeProfile/RoutingPolicyType. For built-in VPN, this decision is controlled using the MDM setting VPNv2/ProfileName/NativeProfile/RoutingPolicyType.
Для подключаемого модуля VPN платформы UWP это свойство управляется непосредственно приложением. For a UWP VPN plug-in, this property is directly controlled by the app. Если подключаемый модуль VPN указывает маршруты по умолчанию для IPv4 и IPv6 как единственные два маршрута включения, платформа VPN отмечает, что для туннель используется для подключения принудительно. If the VPN plug-in indicates the default route for IPv4 and IPv6 as the only two Inclusion routes, the VPN platform marks the connection as Force Tunneled.
Настройка маршрутизации Configure routing
Сведения о настройке XML см. в разделе Параметры профиля VPN и VPNv2 CSP. See VPN profile options and VPNv2 CSP for XML configuration.
При настройке VPN-профиля в Microsoft Intune установите флажок, чтобы включить конфигурацию с разделением туннеля. When you configure a VPN profile in Microsoft Intune, you select a checkbox to enable split tunnel configuration.
Затем в разделе Корпоративные границы добавьте маршруты, которые будут использовать VPN-подключение. Next, in Corporate Boundaries, you add the routes that should use the VPN connection.
Настройка VPN в Windows, изменение параметров маршрутизации
Часто бывает, когда нам требуется VPN соединение с рабочей сетью из дома. Для начала нам требуется создать этот самый VPN, конечно при условии, что есть сервер, к которому мы будем подключаться, а так же логин и пароль для авторизации. После того как мы создаём соединение в WINDOWS, подключаемся, кроме доступа к сети мы ещё и получаем интернет, который так же работает через рабочую сеть. А это по разным причинам может быть не всегда удобно, низкая скорость каналов, большие задержки ping, есть ограничения на доступ к ресурсам и т.д.
В этой статье коротко о том, как создать подключение к VPN. А так же как настроить маршрутизацию для туннеля, созданного стандартными средствами windows (7/8/10/2012/2016), так, что бы через него шёл только тот трафик, который нам необходим.
1. Создание подключения.
1.1 Переходим в центр управления сетями и общим доступом. (нажать на значок сети правой кнопкой мыши)
1.2 Выбираем «Создание и настройка нового подключения или сети»
1.3 Выбираем «Подключение к рабочему месту»
1.4 Выбираем «Использовать мое подключение к интернету»
1.5 Указываем IP адрес или доменное имя вашего сервера. Вводим название нашего подключения
1.6 Далее (для win 8/10) нажимаем на панели задач на значок сети, выбираем подключение, нажимаем на него левой кнопкой мыши
1.7 Находим подключение с нашим названием, нажимаем левой кнопкой мыши, нажимаем кнопку подключиться.
1.8 Вводим логин и пароль.
После этого подключение должно работать.
Но что же делать, если нам надо пустить через VPN только какую-то часть трафика, например для определённых сетей?
2. Настройка маршрутизации для VPN подключения
2.1 Заходим снова в центр управления сетями и общим доступом. (нажать на значок сети правой кнопкой мыши)
2.2 Выбираем раздел «Изменение параметров адаптера»
2.3 Находим наше VPN подключение, нажимаем правой кнопкой мыши и выбираем пункт «Свойства»
2.4 Переходим на вкладку «Сеть» и нажимаем кнопку «Свойства»
2.5 Находим кнопку «Дополнительно»
2.6 На вкладке «Параметры IP» убираем галочку «Использовать основной шлюз удалённой сети»
Закрываем все окна, нажимая кнопку «ОК», пока не дойдём до окошка с вашим VPN. Как показано в пункте 1.6 подключаем соединение. Всё, теперь подключение установлено, но в удалённую сеть не будет идти никакой трафик, т.к мы отключили использование шлюза и ничего не добавили в маршрутизацию.
3. Настройка маршрутизации
3.1 Нажимаем снова на Ваше подключение правой кнопкой мыши, выбираем пункт «Подробно», если его нет, то «Состояние». Но тогда придётся сначала подключить Ваше VPN, зайти в состояние, посмотреть адрес шлюза и записать его.
3.2 В разделе «Подробно» смотрим на поле «Адрес сервера», записываем данные.
3.3 Открываем поиск, в панели задач и вводим cmd (командная строка)
3.4 Вводим команду:
route add 192.168.0.0 MASK 255.255.255.0 172.239.0.1
192.168.0.0 — адрес Вашей рабочей сети.
MASK 255.255.255.0 -маска Вашей подсети
172.239.0.1 — шлюз
После введения команды нажимаем Enter.