Переподключение vpn после разрыва windows 10

Настройка автоматического переподключения VPN соединений при разрыве связи в Windows 8 и Windows Server 2012

C удивлением, правда небольшим, обнаружил, что в Windows, начиная с версии 8 и в Windows Server, начиная с 2008, Microsoft слегка «доработал напильником» диалог настроек VPN соединения. Точнее, урезал настраиваемые параметры на вкладке Options. Вместо того, что было привычно в Windows 7 и выглядело как:

Окно свойств VPN подключения в Windows 7 Теперь убрали практически все и оставили только:

Параметры VPN соединения в WIndows Server 2012И возник закономерный вопрос– а как теперь настроить автоматическое переподключение и количество попыток повтора соединения если связь прервется?

Методов несколько. Давайте по порядку. По мере возрастания, так сказать, сложности.

Метод 1 — используем Notepad:

Установить нужные параметры вручную. Для этого необходимо перейти в папку

C:Users[USER]AppDataRoamingMicrosoftNetworkConnectionsPbk

Найти там (скорее всего единственный) файлик с именем rasphone.pbk. Это обычный текстовый файл, содерржащий настройки подключения к VPN

Файл можно открыть с помощью notepad.exe (Блокнот)

В общем случае, необходимо отыскать секцию, содержащую ваш VPN – например, такой [PPTP-VPN]

А в ней отыскать строки (TADA!)/ Если ничего не меняли, то выглядеть будет примерно так:

RedialAttempts=3
RedialSeconds=60
IdleDisconnectSeconds=0
RedialOnLinkFailure=1

То есть опять “Microsoft за вас подумали и все решил”.

Но теперь вы знаете, где искать и менять необходимые параметры.

  • RedialAttempts=3 – количество попыток пере-подключиться (максимум 99)
  • RedialSeconds=60 – количество секунд между попытками пере-подключиться
  • IdleDisconnectSeconds=0 — сколько выжидать, чтобы понять что линия оборвалась (0 – не ждать вовсе)
  • RedialOnLinkFailure=1 — Перенабрать, если связь оборвалась? 1 – да, 0 — нет

Чтобы параметры применились, необходимо, как и раньше, переподключить VPN.

А потом верить, что Microsoft Windows все сделает за вас 🙂

Примечание: Замечено, что Windows Server 2012 может, по собственной инициативе, использовать папку C:Users[USER]AppDataRoamingMicrosoftNetworkConnectionsPbk_hiddenPbk и положить файл rasphone.pbk в эту папку.

Метод 2 – настраиваем простейшую задачу:

Создать в Task Scheduler задачу, которая будет запускать bat-файл со строкой подключения к необходимому VPN и настроить эту задачу, на запуск, скажем, каждые 5 минут.

Напомню, командная строка для подключения VPN соединения выглядит так

C:windowssystem32rasdial.EXE entryname [username [password|*]] [/DOMAIN:domain]

Там еще параметры есть, но их, если интересно, посмотрите сами.

В задаче не забываем указать, что “запускать всегда”

Задаие планировщика для перезапуска VPN соединенияУказать выполняемый файл, например, такой

rasdial.batИли сказать, чтобы запускался rasdial.exe (VPN User Password – это название вашего VPN-соединения имя_пользователя и ваш_пароль)

rasdial.exeЗапускать, с интервалом 5 минут, каждый день.

repeat task every 5 minutesМетод 3. Настраиваем задачу “с вывертами” :)

  1. Создаем задачу в Task Scheduler
  2. Определяем в задаче два триггера. Один с использованием XML запроса (по аналогии со статьей Запуск задания планировщика после завершения определенного задания)
<QueryList>

<Query Id="0" Path="Application">

<Select Path="Application">*[System[Provider[@Name='RasClient'] and (EventID=20226)]] and *[EventData[Data[4]='829' or '629']]</Select>

</Query>

</QueryList>

Примечание. Коды: 829 — Remote Disconnect, 629 -Client Disconnect

Второй на базе отслеживания события в Event Log’e:

  • Название лога: Microsoft-Windows-NetworkProfile/Operational
  • Источник : NetworkProfile
  • Event ID: 10000
  • В качестве запускаемой программы, выбираем rasdial.exe с параметрами vpn-name username password
  • Дополнительно, на вкладке Conditions, можно доопределить следующие параметры

task-properties

Примечание: Чтобы убедиться заработает такая задача или нет, создайте еще один триггер с Event ID = 10001. Этoт Event появляется при ручном отключении (disconnet) VPN. После этого попробуйте вручную отключить VPN. Соединение сразу же будет восстановлено.

Ну вот, собственно и все.

Примечание Все описанное работает и в Windows 7

Далее под спойлером привожу, без перевода, длинное, подробное и нудное описание Метода 1 и 3 на английском языке, взятое с форума Technet.

Содержание

  1. Организация автозапуска VPN-соединения под Windows
  2. Автоматически инициируемые параметры профиля VPN
  3. Триггер приложений
  4. Триггер на основе имени
  5. Режим «Всегда включен»
  6. Сохранение пользователя Всегда на предпочтении
  7. Обнаружение доверенной сети
  8. Настройка VPN-подключения, инициируемого приложением
  9. AutoRedial для VPN соединений Windows 8/2008/10/2012
  10. VPN-сервер на роутере. Автоподключение VPN в Windows с блокировкой доступа к интернету кроме VPN-соединения
  11. Содержание:
  12. 1. Настройка VPN-сервера на роутере
  13. 2. Подключение к VPN через Windows
  14. 3. Автоподключение к VPN при включении ПК
  15. 4. Блокировка доступа к интернету кроме VPN-соединения (блокировка интернета без VPN)
  16. Автозапуск VPN в Windows
  17. RASDIAL. Установка VPN подключения из командной строки
  18. Автозапуск VPN подключения с помощью планировщика Windows
  19. Автозапуск VPN с помощью реестра
  20. Автоматическое подключение VPN с помощью автозагрузки
  21. Автостарт VPN с помощью системной службы

Организация автозапуска VPN-соединения под Windows

Мой компьютер включен почти всегда. Редкое исключение — длительные поездки далеко за пределы ДС.
Включен почти всегда, потому что очень часто, когда я нахожусь вне дома (на работе, в гостях, просто летом на даче), возникает необходимость зайти на него (по http или же через Remote Desktop) за какими-либо данными.

Всё бы ничего, но доступ в интернет обеспечивается через VPN-соединение.
Которое иногда обрывается. Из-за проблем у провайдера, из-за перезагрузки системы после установки критичных апдейтов или еще по каким-либо причинам.

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

Покопавшись в интернете, обнаружил, что запустить соединение можно, используя программу rasdial.exe, входящую в стандартный набор Windows:

C:Windowssystem32rasdial.exe элемент [пользователь [пароль|*]] [/DOMAIN:домен]
[/PHONE:номерТелефона] [/CALLBACK:ответныйНомер]
[/PHONEBOOK:файлАдреснойКниги] [/PREFIXSUFFIX]

Ну а дальше запустить соединение по расписанию — дело техники.
Кому-то ближе Планировщик задач + bat-файлы, мне ближе cron + perl.
Как и отношение к цвету и вкусу фломастеров, сложность скрипта — личное дело каждого.

c:windowssystem32rasdial.exe «имя_vpn_соединения» имя_юзера пароль_юзера

А можно чуть сложнее.
Например, у меня сначала идет проверка доступности канала (пингом на определенные адреса), а потом запуск одного из VPN-соединений. В случае его недоступности — запуск другого и так далее.

Еще один интересный случай (хотя реже нужный кому-либо) применения автозапуска VPN — переключение между несколькими соединениями по расписанию, например, для использования ночью одного, а днем другого. В этом случае поможет опция «разорвать соединение»:

Источник

Автоматически инициируемые параметры профиля VPN

Относится к:

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

Автоматические VPN-подключения не будут работать, если включено перенаправление папок для AppData. Либо перенаправление папок для AppData должно быть отключено, либо автоматический VPN-профиль должен быть развернут в системном контексте, что меняет путь к хранянию файла rasphone.pbk.

Триггер приложений

Vpn-профили Windows 10 или Windows 11 можно настроить для автоматического подключения при запуске определенного набора приложений. Вы можете настроить классические приложения и приложения универсальной платформы Windows (UWP) для активации VPN-подключения. Можно также настроить VPN для отдельного приложения и указать правила трафика для каждого приложения. Дополнительные сведения см. в разделе Фильтры трафика.

Идентификатор классического приложения — это путь к файлу. Идентификатор приложения UWP — это имя семейства пакетов.

Триггер на основе имени

Вы можете настроить правило на основе имени домена, чтобы определенное имя домена активировало VPN-подключение.

Автоматический триггер на основе имени можно настроить с помощью параметра VPNv2/имя_профиля/DomainNameInformationList/dniRowId/AutoTrigger в разделе Поставщик службы конфигурации (CSP) VPNv2.

Существует четыре типа триггеров на основе имени.

Режим «Всегда включен»

Always On — это функция Windows 10 и Windows 11, которая позволяет активному профилю VPN автоматически подключаться на следующих триггерах:

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

Если на устройстве несколько профилей с триггерами «Всегда включен», пользователь может задать активный профиль в разделе Параметры > Сеть и Интернет > VPN > Профиль VPN, установив флажок Разрешить приложениям автоматически использовать это VPN-подключение. По умолчанию первый профиль, настроенный в MDM, отмечен как активный. Устройства с несколькими пользователями имеют одно и то же ограничение: только один профиль и, следовательно, только один пользователь сможет использовать триггеры Always On.

Сохранение пользователя Всегда на предпочтении

Windows имеет функцию для сохранения предпочтений пользователя AlwaysOn. Если пользователь вручную отключает Подключение автоматически, Windows запомнит это имя профиля, добавив имя профиля к значению AutoTriggerDisabledProfilesList.

Если средство управления удалит или добавит одно и то же имя профиля и задает AlwaysOn значение true, Windows не будет проверять поле, существует ли имя профиля в следующем значении реестра, чтобы сохранить предпочтения пользователей.

Клавиша: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRasManConfig
Значение: AutoTriggerDisabledProfilesList
Тип: REG_MULTI_SZ

Обнаружение доверенной сети

Эта функция настраивает VPN таким образом, чтобы подключение не активировалось, если пользователь находится в доверенной корпоративной сети. Значение этого параметра — список суффиксов DNS. Стек VPN изучает DNS-суффикс на физическом интерфейсе и, если он соответствует любому из настроенных в списке, и сеть является частной или настроена MDM, VPN не активируется.

Обнаружение доверенной сети можно настроить с помощью параметра VPNv2/имя_профиля/TrustedNetworkDetection в разделе VPNv2 CSP.

Настройка VPN-подключения, инициируемого приложением

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

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

vpn app trigger

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

Источник

AutoRedial для VPN соединений Windows 8/2008/10/2012

C удивлением, правда небольшим, обнаружил, что в Windows, начиная с версии 8 и в Windows Server, начиная с 2008, Microsoft слегка «доработал напильником» диалог настроек VPN соединения. Точнее, урезал настраиваемые параметры на вкладке Options. Вместо того, что было привычно в Windows 7 и выглядело как:

vpn connection options windows 7Теперь убрали практически все и оставили только:

vpn connection options windows 2012И возник закономерный вопрос– а как теперь настроить автоматическое переподключение и количество попыток повтора соединения если связь прервется?

Методов несколько. Давайте по порядку. По мере возрастания, так сказать, сложности.

Метод 1 — используем Notepad:

Установить нужные параметры вручную. Для этого необходимо перейти в папку

C:Users[USER]AppDataRoamingMicrosoftNetworkConnectionsPbk

Найти там (скорее всего единственный) файлик с именем rasphone.pbk. Это обычный текстовый файл, содерржащий настройки подключения к VPN

Файл можно открыть с помощью notepad.exe (Блокнот)

В общем случае, необходимо отыскать секцию, содержащую ваш VPN – например, такой [PPTP-VPN]

А в ней отыскать строки (TADA!)/ Если ничего не меняли, то выглядеть будет примерно так:

То есть опять “Microsoft за вас подумали и все решил”.

Но теперь вы знаете, где искать и менять необходимые параметры.

Чтобы параметры применились, необходимо, как и раньше, переподключить VPN.

А потом верить, что Microsoft Windows все сделает за вас 🙂

Метод 2 – настраиваем простейшую задачу:

Создать в Task Scheduler задачу, которая будет запускать bat-файл со строкой подключения к необходимому VPN и настроить эту задачу, на запуск, скажем, каждые 5 минут.

Напомню, командная строка для подключения VPN соединения выглядит так

C:windowssystem32rasdial.EXE entryname [username [password|*]] [/DOMAIN:domain]

Там еще параметры есть, но их, если интересно, посмотрите сами.

В задаче не забываем указать, что “запускать всегда”

vpn redial task1Указать выполняемый файл, например, такой

rasdial batИли сказать, чтобы запускался rasdial.exe (VPN User Password – это название вашего VPN-соединения имя_пользователя и ваш_пароль)

rasdialЗапускать, с интервалом 5 минут, каждый день.

repeat task every 5 minutМетод 3. Настраиваем задачу “с вывертами” :)

task properties

Ну вот, собственно и все.

Далее под спойлером привожу, без перевода, длинное, подробное и нудное описание Метода 1 и 3 на английском языке, взятое с форума Technet.

Had this problem for a few weeks but finally got a chance to spend some time on it last night. Came across this thread….My guess is that with Microsoft making the VPN connection RT-Like, they missed part of the dialog or put it that way for RT Tablets with the thought that you wouldn’t want the VPN reconnecting and using up data/battery. Of course they missed the point of keeping it for desktops…..

Anyways I was hoping that the dialogs info was missed by the actual code wasn’t as is the case sometimes. Looked promising when I checked the VPN config and found the settings generated in a Windows 8 connection. Unfortunately while the settings are enabled for redial, the redial function doesn’t work. I tried establishing a VPN connection with rasdial though dos but still no luck. Just occurred to me as I’m typing this email that I may try renaming the rasdial.pbk and loading it with the Rasdial comment to establish a VPN connection, maybe it will use the settings. Will give it a try later.

The C:UsersJoeAppDataRoamingMicrosoftNetworkConnectionsPbkrasphone.pbk actually has the redial settings enabled in it…

RedialAttempts=3
RedialSeconds=60
IdleDisconnectSeconds=0
RedialOnLinkFailure=1 (This is set to one in Windows 7 when you enable the Redial checkbox)

In case anyone is interested, came up with a fairly good workaround last night until MS releases an update to put the settings back. I like this solution better than running a 3rd party solution to try to keep the VPN up. You can setup a Task Schedule job to trigger on a disconnect. I gave it a try last night and the VPN immediately reconnected. I’m checking for client/remote disconnect error codes excluding the «user disconnect» code to avoid it reconnecting when you actually want to disconnect. These are just two error codes I noted in the event log, MS lists a lot more error codes but I haven’t experienced them on disconnects though they could be added. If anyone uses this and thinks more codes should be added please update the xml query or let me know and I’ll update it. Forgive the XML query, not something I usually do so if it can be formatted better, let me know…for learning 😉

Here is a list of some error codes (this is not complete for Win8 but I didn’t spend much time searching)

How to setup a Scheduled Task to Trigger on a VPN Disconnect

General Tab

Name: VPN Redial
For descriptive use, you can use any name you want like My Company VPN Redial….whatever…..

Select: Run whether user is logged on or not
Provided you have a password associated to your login account, this option will prevent the dos window from opening everytime the job runs. If you don’t have a password, leave it and see the notes below these steps.
Triggers Tab

Click New button
To create a new trigger we will use to activate the job when the VPN connect disconnects

Begin the task: On an Event
The job will be triggered by an Application event log entry

Select: Custom
Custom gives us the flexibility of creating a more detailed query

Click New Event Filter… button
Here is where we build the query for the trigger

Click the XML tab
This tab allows us to write our own query (even more flexible)

Check Edit query manually
To start a manual edit

Copy the following query
This query will trigger on an Application Event for RasClient with an EventID of 20226 and error codes 829 (Remote Disconnect), 629 (Client Disconnect). Copy from and including to

Ensure Enabled is checked
Check it if it’s not checked to make sure the job will be enabled

Actions Tab

Click New
To create an action to be performed when the job is triggered

Action: Start a program
Selection this option will allow us to start rasdial to reestablish the VPN connection

Program/script: rasdial
Should already be in path so just enter rasdial command

Add arguments (optional): «VPN Name» username password
VPN name is the name you defined for your dialup connection. Example, when you click the network icon in the system tray, the name that’s listed for your VPN, make sure you enter it in exactly as displayed. Following the connect would be your username and password. Example, «MY VPN Connection» username password

Conditions Tab (not required unless you are using a laptop)

Uncheck: Stop if the computer switches to battery power

Settings TAB

Enable: If the task fails, restart every: 1 minute
In case there is a temporary issue re-establishing the VPN connection. You can specify whatever value you want instead of 1 minute

Attempt to restart up to: 7 times
Again in case there is a temporary issue re-establishing the VPN connection. You can specify whatever value you want instead of 7 times

Click Ok
Notes

4. I’m checking error codes because I don’t want the job to be reconnected if I purposely disconnect the VPN which generates a 631 code under Event ID 20226.

Источник

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

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

Статья написана достаточно подробно, с расчетом даже на тех людей, кто впервые зашел в раздел Windows «Сетевые подключения».

Для чего это может пригодиться:

Содержание:

1. Настройка VPN-сервера на роутере

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

1. Подключаемся к роутеру. Вводим локальный IP роутера в адресную строку браузера. В моем случае это 192.168.0.1. Посмотреть его можно на наклейке на нижней части роутера, либо в интернете.

image loader

2. Вводим логин/пароль. Обычно логин и пароль одинаковы: admin. Если нет, смотрите в инструкции к своему роутеру или в интернете.

3. Переходим во вкладку «VPN/PPTP сервер». На других роутерах это может быть сразу вкладка «VPN-сервер». Если ничего подобного нет, скорее всего, ваш роутер не поддерживает VPN.

image loader

4. Включаем сервер PPTP, включаем шифрование. Добавляем Имя пользователя (Логин) и Пароль для подключение к этому серверу. Сохраняем.

image loader

Настройка сервера VPN на роутере закончена. Переходим к настройкам Windows.

2. Подключение к VPN через Windows

Настройка будет проводиться на примере чистой Windows 7. На более старших версиях процедура отличается не сильно.

1. Переходим в «Панель управленияСеть и ИнтернетЦентр управления сетями и общим доступом». Нажимаем «Настройка нового подключения или сети».

image loader

2. Выбираем поочередно «Подключение к рабочему месту/Нет, создать новое сетевое подключение/Использовать мое подключение к интернету (VPN)».

image loader

3. В следующем окне в поле «Интернет-адрес» вводим IP нашего VPN-сервера. В поле «Имя местоназначения» указываем любое название на английском без пробелов (например vpn-lab).

Чтобы узнать внешний IP ранее настроенного роутера, нужно зайти с любого устройства, подключенного к роутеру-VPN-серверу, на сайт 2ip.ru. Вписываем указанный там IP в поле.

image loader

4. Вводим Логин и Пароль для подключения к сети VPN, которые добавлялись ранее. Нажимаем «Подключиться».

image loader

5. Если все сделано правильно, в списке подключений отобразится созданное VPN-подключение. Открываем свойства этого подключения.

image loader

6. Настраиваем пункты во вкладках как показано на рисунках ниже. Нажимаем ОК.

image loader

7. Проверяем работоспособность. Теперь при проверке внешнего IP (например, через сайт 2ip.ru) должен отображаться IP-адрес роутера-сервера, а не ваш.

3. Автоподключение к VPN при включении ПК

1. Запускаем «Планировщик заданий».

image loader

2. Выбираем «Создать простую задачу».

image loader

3. В поле «Имя» вводим любое имя (Например AutoVPNConncet).

image loader

4. В поле «Триггер» выбираем «При входе в Windows».

image loader

5. Действие — «Запустить программу».

image loader

6. Далее в поле «Программа или сценарий» вводим «C:Windowssystem32rasdial.exe». В поле «Добавить аргументы» вводим » » без кавычек. В моем случае это было «vpn-lab TestUser TestPassword».

image loader

7. Ставим галочку на «Открыть окно „Свойства“ после нажатия кнопки „Готово“». Нажимаем «Готово».

image loader

8. В открывшемся окне ставим галочку на «Выполнить с наивысшими правами». Нажать ОК.

image loader

9. Готово. Осталось проверить. Перезагрузите компьютер. После этого проверьте свой IP в сети (например на 2ip.ru). Он должен совпадать с VPN-адресом.

4. Блокировка доступа к интернету кроме VPN-соединения (блокировка интернета без VPN)

1. Переходим в «Панель управленияСеть и ИнтернетЦентр управления сетями и общим доступом».

image loader

2. VPN-подключение определяем как «Домашняя сеть», сетевое подключение как «Общественная сеть».

image loader

3. Открываем «Брандмауэр Windows в режиме повышенной безопасности» и нажимаем на «Свойства брандмауэра Windows».

image loader

4. Во вкладке «Общий профиль» блокируем Входящие и Исходящие соединения. В «Защищенные сетевые подключения» выбрать все.

image loader

5. Переходим во вкладку «Правила для входящих соединений». Нажимаем «Создать правило».

image loader

image loader

7. Переходим во вкладку «Правила для исходящих соединений». Нажимаем «Создать правило» и делаем все как в предыдущем пункте.

8. Проверяем работоспособность. Теперь при отключенном VPN должен отсутствовать доступ в интернет.

image loader

Буду благодарен всем за конструктивные замечания и предложения.

Источник

Автозапуск VPN в Windows

В последние несколько лет все более популярной становится технология организации удаленного рабочего места (будь то отдельный сотрудник и целый офис) за счет технологии VPN. Однако пользователю не очень удобно каждый раз при загрузке компьютера вручную инициировать VPN соединение. Как сделать так, чтобы VPN подключение поднималось автоматически при загрузке Windows или при входе пользователя в систему и не требовало бы от пользователя никаких дополнительных манипуляций? Попробуем в этом разобраться.

Предположим, что для подключения к VPN, вы используете специально созданное подключение с именем «vpn_office». В том случае, если новое VPN создавалось с настройками по-умолчанию, скорее всего его название будет содержать пробелы или русские символы (процесс создания VPN подключения в Windows 8). Для дальнейшей работы, лучше его переименовать, так, чтобы имя VPN подключения содержало только английский символы, а пробелы в названии отсутствовали (Правой клавишей по значку соединения и «Переименовать»).

windows vpn connection1

В параметрах VPN подключения снимите галочки у параметров:

vpn connection properties

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

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

RASDIAL. Установка VPN подключения из командной строки

Утилита rasdial появилась еще в самых ранних версиях Windows и использовалась для управления удаленными подключениями. Найти утилиту rasdial.exe можно в системном каталоге C:Windowssystem32.

Список текущих удаленных подключений можно отобразить, набрав команду rasdial без параметров.

Чтобы отключить удаленное соединение, нужно воспользоваться командой:

Нас в данном случае интересует процесс как с помощь данной утилиты можно установить VPN подключение. Формат команды в этом случае будет такой:

[Имя_VPN_подключения] — название VPN подключения в системе

[имя_пользователя] [пароль] – информация, выданная вашим ISP или администратором.

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

В моем случае, команда подключения будет такой:

rasdial windows vpn

В случае успешной установки VPN соединения и прохождения авторизации, отобразится строка «Command completed successfully», это означает, что соединение с VPN сервером установлено.

Следующий шаг – настройка автоматического запуска данной команды.

Автозапуск VPN подключения с помощью планировщика Windows

Попробуем настроить автозапуск VPN с помощью функций планировщика (Task Sheduller) Windows. Для этого запустите программу Start->All Programs-> Accessories-> System Tools->Task Scheduler, или же в командной строке выполните: taskschd.msc

Создадим новое простое задание планировщика с именем «AutoConnectVPN»windows task AutoConnectVPN

Далее нужно указать, когда необходимо выполнять задачу. В данном случае нас интересуют следующие возможности планировщика:

vpn task

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

Затем указываем что планировщик должен запустить программу (Start a program).new task for vpn connection

connect vpn sheduller

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

Для Windows 7/ Win 8. В том случае, если соединение не установиться, попробуйте в планировщике задач найти созданное вами задание и в его свойствах на вкладке General укажите — Run with highest privileges (запускать с правами администратора), это должно помочь.

Автозапуск VPN с помощью реестра

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

Если нужно запускать подключение только для текущего пользователя, то эту операцию нужно произвести с разделом HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun

Автоматическое подключение VPN с помощью автозагрузки

Просто создать ярлык для нужного VPN подключения и скопируйте (перетяните) созданный ярлык в каталог Автозагрузка (C:ProgramDataMicrosoftWindowsStart MenuProgramsStartup) меню «Пуск».vpn on startup

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

Автостарт VPN с помощью системной службы

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

В командной строке с правами администратора, создадим новую службу командой:

Чтобы служба запускалась уже после запуска всех системных служб, поставим ее в зависимость от службы lanmanworkstation. В консоли services.msc должна появиться новая служба autoVPN, если она отсутствует, проверьте правильность введенной команды.

Учтите, что это псевдо-служба, и она не будет отображаться в процессах, отрабатывая один раз при запуске системы.

Удалить службу можно командой:

В этой статье мы разобрали наиболее популярные способы организации автоматического VPN подключения в Windows. Если что-то не заработало, или вы знаете собственный способ организации автозапуска VPN — описывайте все в комментариях. Указанную схему можно протестировав, подняв собственный VPN сервер на Windows 7 и отработать всю процедуру на нем.

page

page

page

mystery56

Remote Access error 623 — на Ваших данных.
Как решается?

Согласно KB320693:
You may receive this error message if the VPN connection is configured to use a dial-up connection that has been deleted.
Если по русски: скорее всего удалено подключение, используемое по умолчанию. Зайдите в Сетевые подключения, удалите лишние подключения. Затем выберите в качестве подключения по умолчанию любое из доступных. Потом в контекстном меню этого подключения выбирите “не использовать по-умолчанию»

mystery56

На Windows 8.1 последний способ не сработал. Если попробовать запустить службу вручную, появляется следующее сообщение: http://rghost.ru/56953509

такая же проблема при запуске службы

mystery56

Все предложенные способы предполагают хранить пароль в открытом виде. Как этого избежать?

mystery56

Напиши cmd для запуска vpn (через rasdial) и обфусцируй код.

mystery56

Перезалил скриншот:
[IMG]http://i65.fastpic.ru/big/2014/0917/a8/1ea84580f9f221d7bac08ef7fedb64a8.png[/IMG]

mystery56

Yerel, тоже столкнулся с такой же проблемой, как и вы, 3 дня подряд над ней просидел, удалось решить. Описываю последовательность действий. Здесь и далее примем, что у нас подключение PROVIDER, срабатывающее по логину login и паролю pass.

1) Удалите свою службу через командную строку набрав:
sc delete PROVIDER
2) Создайте файл блокнота со следующим содержанием:
CreateObject(«WScript.Shell»).Run «rasdial PROVIDER login pass», 0, false
3) Назовите полученный файл PROVIDER.vbs. Таким образом, вы получите скрипт на языке VBS, который вызывает все ту же самую команду RASDIAL, причем действует скрытно без всяких окон в фоновом режиме (флаг 0) и сразу по отрабатыванию закрывается (флаг false)
4) Создайте в этой же папке еще один файл блокнота с таким содержанием:
copy PROVIDER.vbs %windir%System32PROVIDER.vbs
sc create PROVIDER start= auto binPath= «wscript PROVIDER.vbs» depend= lanmanworkstation obj= «NT AUTHORITYLocalService» DisplayName= «PROVIDER»
5) Назовите его PROVIDER.bat. Сейчас вы получили исполняемый файл, который делает 2 действия. Сначала он копирует только что созданный вами скрипт в системную папку System32. А затем создается служба PROVIDER, автоматически отрабатывающая при старте системы, зависимая от «Рабочей станции», исполняемая от лица «Локальной службы» и вызывающая созданный вами скрипт из папки System32 через скрипт-хост WScript.
6) Запустите PROVIDER.bat и все заработает! Единственный минус — в журнале событий все равно будет вылезать та же самая ошибка, что на вашем скриншоте, и все равно служба вручную не запускается, но это незначительно, ведь VPN-то при загрузке системы теперь сама подключается! На будущее очень советую эти файлики надежно сохранить и запускать этот BAT-файл каждый раз после переустановки ОС и создания подключения. Проверено на Windows XP и Windows 7.

P.S. Администратору сайта — внесите этот вариант в ваш материал, уточнив вариант со службой и с планировщиком. В случае с реестром у меня не получилось гарантированно запустить скрипт, работало через раз, через HKLM и HKCU. Еще стоит отметить, что просто RASDIAL и в планировщике, и в реестре дает черное CMD-окно при подключении, а скрипт не дает.

mystery56

mystery56

Спасибо за ответ, но этот способ у меня тоже не сработал, увы. Кстати, батник можно сократить до такого вида:
sc create vpn start= auto binPath= vpn.vbs depend= lanmanworkstation obj= «NT AUTHORITYLocalService»

mystery56

Yerel, я даже догадываюсь, почему у вас не сработало, в силу «сокращения» батника. Допустим команду copy вы отметаете и копируете вручную, ваше право, но я автоматизировал процесс. Допустим, вы не присваиваете службе отображаемое имя. Но вот в параметре binPath вы допускаете ошибку. binPath — путь к бинарнику, т.е. к ехе-ншнику, dll-ке, на худой конец — батнику. А у вас просто ссылка на скрипт. Я тоже так делал, и это не работало. В журнале ошибок Windows посмотрите. Увидите «vpn.vbs не является приложением Win32, запуск службы невозможен». Запуск через Wscript здесь обязателен. Я 3 дня посвятил этой проблеме и проверил уже все возможные варианты.

mystery56

>Запуск через Wscript здесь обязателен.
Я пробовал оба варианта. Подключения не происходит, а в журнале появляются две ошибки:
«Превышение времени ожидания (30000 мс) при ожидании подключения службы «vpn».»
«Сбой при запуске службы «vpn» из-за ошибки
Служба не ответила на запрос своевременно.»

mystery56

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

mystery56

А Вы в курсе, что созданное VPN подключение Windows пароли хранит в открытом НЕ ЗАШИРОВАННОМ виде??

Вот софтяшка — которая благополучно с реестра windows вытягивает не зашифрованный пароль VPN.
http://www.nirsoft.net/utils/dialupass.html

Как по мне, в 100 раз безопаснее в батнике в открытом виде хранить пароль чем в ВПН подключении.
Как минимум — вирусы тупые — с реестра ВПН пароль вытянут, а вот открыть планировщик, найти батник, вытянуть от туда пароль — увы — не хватит интеллекта )))).

Ребята, просто откройте «Сетевые подключения», нажмите правой кнопкой на VPN соединении — «Создать ярлык», и поместите ярлык в автозагрузку. Этот вариант запустить соединение как-будто вы его запустили вручную, и никакие логины-пароли в открытом виде лежать не будут.

Сколько ни пытался, никак не получилось запустить vpn c помощью планировщика задач и rasdial. Способ нерабочий для windows server

mystery56

У тех у кого ошибка «Превышение времени ожидания (30000 мс) при ожидании подключения службы «vpn».» нужно добавить зависимости на запуск службы
sc create autoVPN start= auto binPath= «rasdial VPN Username Password» DisplayName= «AutoVPN» depend= RasMan/Netman/PolicyAgent/lanmanworkstation/lanmanserver obj= «NT AUTHORITYLocalService»

mystery56

Спасибо добрый человек, всё получилось через rasdial

Источник

This tip is about how to setup a VPN connection and reconnect with the task scheduler. You will learn about activation, connection, disconnection and deactivation of the VPN connection.

  • Download VPNRedial.zip — 2.2 KB

Introduction

During Corona times, home office becomes more and more important. Company’s resources are accessed by Virtual Private Networks (VPN). When using the build-in Windows VPN Client for PPTP, L2TP/IPSec, SSTP or IKEv2, connections are not reestablished automatically if the connection is lost. A VPN interruption might be caused by a change of the network or Internet network error.

In the everyday life of home workers and road warriors, a drop of a VPN connection leads to hectic activity, because remote desktop clients stop at first and then try to reconnect. The file explorer gets stuck and then tries to display server shares desperately. With a quick click, the experienced power user tries to reconnect the VPN before all applications say goodbye with a timeout error message and all programs have to be restarted. However, this does not succeed in all cases…

For these circumstances, Microsoft simply forgot the feature of an automatic reconnection for VPN connections. Probably, there is always somewhere a checkbox which is missing desperately…

Configuration and Script Code

VPN Connection Setup

To configure the automatic reconnection of a VPN, user name and password must be stored in the Windows Credential Manager. This behavior is specified during the setup:

Image 1

If the option «Remember my credentials» is checked, Windows will save the user name and password after the first connection of the VPN.

Reconnection with the Task Scheduler

Then, the reconnect VPN feature can be configured with build-in Windows tools. Starting point are the Windows event logs in which the following events occur:

Event Id Source Description
20226 RasClient ROUTERLOG_CORR_ID = The user %1 () dialled a connection named %2 () which has been terminated. The reason code returned on termination is %3 ().
10000 NetworkProfile Network connected.

Event 2226 occurs when a VPN connection has been terminated. In this case, an attempt is made to reconnect the VPN immediately. If the reconnection fails, the events 10000 and 8001 trigger a reconnection in the case of a new wired or WiFi network connection of the client.

A task can be imported as «My Connection (VPN) Redial.xml» with an XML format into the Task Scheduler and executed with the logged in user account:

  1  ="1.0"="UTF-16"
  2  <Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  3    <RegistrationInfo>
  4      <Date>2020-04-11T09:32:43.9830717</Date>
  5      <Author>LOGICLINKmarcus</Author>
  6      <URI>My Connection (VPN) Redial</URI>
  7    </RegistrationInfo>
  8    <Triggers>
  9      <EventTrigger>
 10        <Enabled>true</Enabled>
 11        <Subscription>&lt;QueryList&gt;&lt;Query Id="0" 
 12         Path="Application"&gt;&lt;Select Path="Application"
 13         &gt;*[System[Provider[@Name='RasClient'] and EventID=20226]]
 14         &lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription>
 15      </EventTrigger>
 16      <EventTrigger>
 17        <Enabled>true</Enabled>
 18        <Subscription>&lt;QueryList&gt;&lt;Query Id="0" 
 19         Path="Microsoft-Windows-NetworkProfile/Operational"&gt;
 20         &lt;Select Path="Microsoft-Windows-NetworkProfile/Operational"
 21         &gt;*[System[Provider[@Name='NetworkProfile'] and EventID=10000]]
 22         &lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription>
 23      </EventTrigger>
 24    </Triggers>
 25    <Principals>
 26      <Principal id="Author">
 27        <LogonType>InteractiveToken</LogonType>
 28        <RunLevel>LeastPrivilege</RunLevel>
 29      </Principal>
 30    </Principals>
 31    <Settings>
 32      <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
 33      <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
 34      <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
 35      <AllowHardTerminate>true</AllowHardTerminate>
 36      <StartWhenAvailable>false</StartWhenAvailable>
 37      <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
 38      <IdleSettings>
 39        <StopOnIdleEnd>true</StopOnIdleEnd>
 40        <RestartOnIdle>false</RestartOnIdle>
 41      </IdleSettings>
 42      <AllowStartOnDemand>true</AllowStartOnDemand>
 43      <Enabled>false</Enabled>
 44      <Hidden>false</Hidden>
 45      <RunOnlyIfIdle>false</RunOnlyIfIdle>
 46      <DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
 47      <UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>
 48      <WakeToRun>false</WakeToRun>
 49      <ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
 50      <Priority>7</Priority>
 51    </Settings>
 52    <Actions Context="Author">
 53      <Exec>
 54        <Command>%SystemRoot%System32rasdial.exe</Command>
 55        <Arguments>"My Connection (VPN)"</Arguments>
 56      </Exec>
 57    </Actions>
 58  </Task>

In line 55, the name of the VPN connection must be changed to the name of your VPN connection. The VPN connection should have been established manually with user and password before the first use. Thus, credentials do not have to be entered as parameters for rasdial.exe and stored in the task.

Furthermore, the task should be deactivated by default and only activated when the VPN is needed, thereby it does not establish VPN connections and consume bandwidth unnecessarily.

Activation and Connection of the VPN

The activation and deactivation are done by two batch programs:

The batch file «Enable My Connection (VPN).cmd» activates the task for automatic reconnection and then connects the VPN:

  1  @echo off
  2  
  3  
  4  set VPN=My Connection (VPN)
  5  set TASK="My Connection (VPN) Redial"
  6  
  7  
  8  net session >nul 2>&1
  9  if NOT %errorLevel% == 0 (
 10  	echo Current permissions insufficient. Run script as administrator.
 11  	pause
 12  	exit 1
 13  )
 14  
 15  schtasks /Change /TN %TASK% /ENABLE
 16  runas /trustlevel:0x20000 "rasdial.exe "%VPN%""

In lines 4 and 5, the two variables VPN and TASK identify the VPN connection and the task of the Task Scheduler and must be changed to your individual names accordingly. Using these variables, you can configure multiple batch files for several VPNs.

In the next step, the batch file checks if it was started with administrative rights. The administrative rights are required for the activation of tasks in Task Scheduler. If the batch file was not “Run as administrator”, an error message is displayed and the batch file terminates.

Next, the task TASK is activated in the Task Scheduler. For the connection of the VPN with stored credentials, administrative rights have to be returned. Thus, rasdial.exe is called via runas.exe with user rights by the trustlevel 0x20000.

Disconnection and Deactivation of the VPN Connection

The deactivation and disconnection is done in the batch file «DisableMy Connection (VPN).cmd» by the same commands:

  1  @echo off
  2  
  3  
  4  set VPN=My Connection (VPN)
  5  set TASK="My Connection (VPN) Redial"
  6  
  7  
  8  net session >nul 2>&1
  9  if NOT %errorLevel% == 0 (
 10  	echo Current permissions insufficient. Run script as administrator.
 11  	pause
 12  	exit 1
 13  )
 14  
 15  schtasks /Change /TN %TASK% /DISABLE
 16  rasdial "%VPN%" /DISCONNECT

The two variables VPN and TASK in lines 4 and 5 must be changed according to your names also. During the termination of the VPN connection, the administrative rights do not interfere and therefore, rasdial.exe can be called directly.

References

  • RasClient 20226 event
  • Auto Reconnect VPN on Disconnection due to any reason – Persistent VPN

History

  • 4th May, 2020: Initial version

This tip is about how to setup a VPN connection and reconnect with the task scheduler. You will learn about activation, connection, disconnection and deactivation of the VPN connection.

  • Download VPNRedial.zip — 2.2 KB

Introduction

During Corona times, home office becomes more and more important. Company’s resources are accessed by Virtual Private Networks (VPN). When using the build-in Windows VPN Client for PPTP, L2TP/IPSec, SSTP or IKEv2, connections are not reestablished automatically if the connection is lost. A VPN interruption might be caused by a change of the network or Internet network error.

In the everyday life of home workers and road warriors, a drop of a VPN connection leads to hectic activity, because remote desktop clients stop at first and then try to reconnect. The file explorer gets stuck and then tries to display server shares desperately. With a quick click, the experienced power user tries to reconnect the VPN before all applications say goodbye with a timeout error message and all programs have to be restarted. However, this does not succeed in all cases…

For these circumstances, Microsoft simply forgot the feature of an automatic reconnection for VPN connections. Probably, there is always somewhere a checkbox which is missing desperately…

Configuration and Script Code

VPN Connection Setup

To configure the automatic reconnection of a VPN, user name and password must be stored in the Windows Credential Manager. This behavior is specified during the setup:

Image 1

If the option «Remember my credentials» is checked, Windows will save the user name and password after the first connection of the VPN.

Reconnection with the Task Scheduler

Then, the reconnect VPN feature can be configured with build-in Windows tools. Starting point are the Windows event logs in which the following events occur:

Event Id Source Description
20226 RasClient ROUTERLOG_CORR_ID = The user %1 () dialled a connection named %2 () which has been terminated. The reason code returned on termination is %3 ().
10000 NetworkProfile Network connected.

Event 2226 occurs when a VPN connection has been terminated. In this case, an attempt is made to reconnect the VPN immediately. If the reconnection fails, the events 10000 and 8001 trigger a reconnection in the case of a new wired or WiFi network connection of the client.

A task can be imported as «My Connection (VPN) Redial.xml» with an XML format into the Task Scheduler and executed with the logged in user account:

  1  ="1.0"="UTF-16"
  2  <Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  3    <RegistrationInfo>
  4      <Date>2020-04-11T09:32:43.9830717</Date>
  5      <Author>LOGICLINKmarcus</Author>
  6      <URI>My Connection (VPN) Redial</URI>
  7    </RegistrationInfo>
  8    <Triggers>
  9      <EventTrigger>
 10        <Enabled>true</Enabled>
 11        <Subscription>&lt;QueryList&gt;&lt;Query Id="0" 
 12         Path="Application"&gt;&lt;Select Path="Application"
 13         &gt;*[System[Provider[@Name='RasClient'] and EventID=20226]]
 14         &lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription>
 15      </EventTrigger>
 16      <EventTrigger>
 17        <Enabled>true</Enabled>
 18        <Subscription>&lt;QueryList&gt;&lt;Query Id="0" 
 19         Path="Microsoft-Windows-NetworkProfile/Operational"&gt;
 20         &lt;Select Path="Microsoft-Windows-NetworkProfile/Operational"
 21         &gt;*[System[Provider[@Name='NetworkProfile'] and EventID=10000]]
 22         &lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription>
 23      </EventTrigger>
 24    </Triggers>
 25    <Principals>
 26      <Principal id="Author">
 27        <LogonType>InteractiveToken</LogonType>
 28        <RunLevel>LeastPrivilege</RunLevel>
 29      </Principal>
 30    </Principals>
 31    <Settings>
 32      <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
 33      <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
 34      <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
 35      <AllowHardTerminate>true</AllowHardTerminate>
 36      <StartWhenAvailable>false</StartWhenAvailable>
 37      <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
 38      <IdleSettings>
 39        <StopOnIdleEnd>true</StopOnIdleEnd>
 40        <RestartOnIdle>false</RestartOnIdle>
 41      </IdleSettings>
 42      <AllowStartOnDemand>true</AllowStartOnDemand>
 43      <Enabled>false</Enabled>
 44      <Hidden>false</Hidden>
 45      <RunOnlyIfIdle>false</RunOnlyIfIdle>
 46      <DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
 47      <UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>
 48      <WakeToRun>false</WakeToRun>
 49      <ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
 50      <Priority>7</Priority>
 51    </Settings>
 52    <Actions Context="Author">
 53      <Exec>
 54        <Command>%SystemRoot%System32rasdial.exe</Command>
 55        <Arguments>"My Connection (VPN)"</Arguments>
 56      </Exec>
 57    </Actions>
 58  </Task>

In line 55, the name of the VPN connection must be changed to the name of your VPN connection. The VPN connection should have been established manually with user and password before the first use. Thus, credentials do not have to be entered as parameters for rasdial.exe and stored in the task.

Furthermore, the task should be deactivated by default and only activated when the VPN is needed, thereby it does not establish VPN connections and consume bandwidth unnecessarily.

Activation and Connection of the VPN

The activation and deactivation are done by two batch programs:

The batch file «Enable My Connection (VPN).cmd» activates the task for automatic reconnection and then connects the VPN:

  1  @echo off
  2  
  3  
  4  set VPN=My Connection (VPN)
  5  set TASK="My Connection (VPN) Redial"
  6  
  7  
  8  net session >nul 2>&1
  9  if NOT %errorLevel% == 0 (
 10  	echo Current permissions insufficient. Run script as administrator.
 11  	pause
 12  	exit 1
 13  )
 14  
 15  schtasks /Change /TN %TASK% /ENABLE
 16  runas /trustlevel:0x20000 "rasdial.exe "%VPN%""

In lines 4 and 5, the two variables VPN and TASK identify the VPN connection and the task of the Task Scheduler and must be changed to your individual names accordingly. Using these variables, you can configure multiple batch files for several VPNs.

In the next step, the batch file checks if it was started with administrative rights. The administrative rights are required for the activation of tasks in Task Scheduler. If the batch file was not “Run as administrator”, an error message is displayed and the batch file terminates.

Next, the task TASK is activated in the Task Scheduler. For the connection of the VPN with stored credentials, administrative rights have to be returned. Thus, rasdial.exe is called via runas.exe with user rights by the trustlevel 0x20000.

Disconnection and Deactivation of the VPN Connection

The deactivation and disconnection is done in the batch file «DisableMy Connection (VPN).cmd» by the same commands:

  1  @echo off
  2  
  3  
  4  set VPN=My Connection (VPN)
  5  set TASK="My Connection (VPN) Redial"
  6  
  7  
  8  net session >nul 2>&1
  9  if NOT %errorLevel% == 0 (
 10  	echo Current permissions insufficient. Run script as administrator.
 11  	pause
 12  	exit 1
 13  )
 14  
 15  schtasks /Change /TN %TASK% /DISABLE
 16  rasdial "%VPN%" /DISCONNECT

The two variables VPN and TASK in lines 4 and 5 must be changed according to your names also. During the termination of the VPN connection, the administrative rights do not interfere and therefore, rasdial.exe can be called directly.

References

  • RasClient 20226 event
  • Auto Reconnect VPN on Disconnection due to any reason – Persistent VPN

History

  • 4th May, 2020: Initial version

Содержание

  1. Windows 10: нет подключения к Интернету после подключения к VPN-серверу (РЕШЕНО)
  2. Авто переподключение VPN на Windows 10
  3. Автоматически инициируемые параметры профиля VPN VPN auto-triggered profile options
  4. Триггер приложений App trigger
  5. Триггер на основе имени Name-based trigger
  6. Режим «Всегда включен» Always On
  7. Сохранение пользователя Всегда на предпочтении Preserving user Always On preference
  8. Обнаружение доверенной сети Trusted network detection
  9. Настройка VPN-подключения, инициируемого приложением Configure app-triggered VPN

Windows 10: нет подключения к Интернету после подключения к VPN-серверу (РЕШЕНО)

При подключении из дома к корпоративному серверу VPN (AlwaysOnVPN, Windows Server RRAS или OpenVPN) пользователи жалуются, что у них нет доступа в Интернет на своём компьютере с активным подключением VPN. В этой статье мы обсудим, почему вы не можете получить доступ к Интернету в Windows 10 при подключении к VPN и как решить эту проблему.

При создании нового VPN-соединения в Windows (все версии) опция Use default gateway on remote network (Использовать шлюз по умолчанию в удалённой сети) включена по умолчанию. Это означает, что весь трафик с вашего компьютера проходит через VPN-туннель. Если на сервере VPN удаленным клиентам разрешён доступ только к локальным корпоративным ресурсам, а доступ в Интернет ограничен, удалённый пользователь не сможет получить доступ к внешним веб-сайтам и другим Интернет-ресурсам со своего компьютера. После отключения от VPN весь пользовательский трафик будет проходить через обычную сеть и появится доступ в Интернет.

Режим, когда часть трафика (доступ к корпоративным ресурсам) отправляется через VPN-туннель, а остальной трафик (доступ в Интернет) проходит через подключение к локальной сети, называется split tunneling (раздельным туннелированием).

В Windows 10 вы можете включить разделённое туннелирование (отключить маршрутизацию интернет-трафика через VPN-туннель) тремя способами:

  • В настройках TCP/IP VPN-подключения
  • В файле rasphone.pbk
  • Использование командлета Set-VpnConnection с параметром SplitTunneling в PowerShell

Самый простой способ — изменить настройки TCP/IP вашего VPN-соединения через панель управления.

  1. Откройте список сетевых подключений в Панели управления (Панель управленияСеть и ИнтернетСетевые подключения) и перейдите в свойства вашего VPN-подключения;
  2. Откройте вкладку «Сеть», выберите «IP версии 4 (TCP/IPv4)» и нажмите «Свойства».
  3. На вкладки «Общие» нажмите кнопку «Дополнительно».
  4. Убедитесь, что на вкладке «Параметры IP» установлен флажок «Использовать шлюз по умолчанию в удаленной сети».

После того как вы снимите флажок «Использовать шлюз по умолчанию в удаленной сети» (“Use default gateway on remote network”) и повторно подключитесь к шлюзу VPN, вы получите доступ в Интернет на своём компьютере через подключение к Интернет-провайдеру. Однако в некоторых сборках Windows 10 эта опция недоступна по некоторым причинам (есть разные проблемы: вы не можете редактировать поле, настройка не сохраняется или форма настройки не открывается при нажатии на свойства «IP версии 4 (TCP/IPv4)»), поэтому возможно, вам придётся использовать другие способы решения проблемы.

Файл rasphone.pbk находится в папке C:ProgramDataMicrosoftNetworkConnectionspbk (если вы создали VPN-соединение для всех пользователей компьютера) или в каталоге профиля пользователя C:UsersusernameAppDataRoamingMicrosoftNetworkConnectionsPbk (если VPN-соединение доступно только вашему пользователю).

Откройте rasphone.pbk в любом текстовом редакторе (подойдёт даже notepad.exe). В этом файле хранятся настройки всех настроенных VPN-подключений. Найдите параметр IpPrioritizeRemote. По умолчанию его значение равно 1. Измените его на , сохраните rasphone.pbk и перезапустите VPN-соединение.

Вы можете использовать rasphone.pbk для развёртывания правильно настроенного VPN-подключения к компьютерам пользователей.

Также вы можете настроить раздельное туннелирование VPN через PowerShell. Отобразите список всех доступных VPN-подключений:

Убедитесь, что SplitTunneling для подключения отключён (SplitTunneling: False).

Чтобы включить SplitTunneling, укажите имя вашего VPN-соединения:

Повторно подключитесь к своему VPN-серверу и убедитесь, что у вас есть доступ к Интернету на вашем компьютере и доступ к корпоративным ресурсам за VPN-шлюзом. Включение SplitTunneling делает то же самое, что и при снятии флажка «Использовать шлюз по умолчанию в удаленной сети» в настройках TCP/IPv4 вашего VPN-соединения. (Если вы запустите команду, показанную выше, этот параметр не будет изменён).

Ещё одна типичная проблема с активным VPN-соединением — проблема с разрешением имени DNS. Имя ресурсов в вашей локальной сети перестаёт распознаваться, поскольку по умолчанию используются DNS-серверы, указанные в настройках VPN-подключения. Проблема описана здесь: «Невозможно разрешить локальные записи DNS при подключении к VPN».

Авто переподключение VPN на Windows 10

В настоящее время я подключаюсь к Интернету через привязанное соединение с моей мобильной сетью передачи данных. Чтобы обойти провайдеров мобильной сети, настаивая на том, чтобы я платил им за использование той же услуги через другое устройство, я также использую VPN для фактического подключения к Интернету. Естественно, сетевой сигнал может легко пропадать и прерывать соединение, и это отключает VPN, даже если само привязанное соединение никогда не отключается.

По иронии судьбы отличный пример моей проблемы можно найти на следующей странице Microsoft Technet, посвященной замечательному решению для Windows 7 / Windows Server 2008 R2:https://technet.microsoft.com/en-us/library/dd637830(v= ws.10).aspx

Например, рассмотрим пользователя, едущего на работу в поезде. Чтобы максимально использовать свое время, она использует беспроводную мобильную широкополосную карту для подключения к Интернету, а затем устанавливает VPN-подключение к сети своей компании. Когда поезд проходит через туннель, она теряет подключение к Интернету. После выхода из туннеля беспроводная мобильная широкополосная карта автоматически подключается к Интернету. Однако в более ранних версиях Windows VPN не переподключается, и ей необходимо повторить многоэтапный процесс подключения к VPN. Это может быстро занять много времени для мобильных пользователей с прерывистой связью.

Однако я не могу найти ни следа этой функции в Windows 10, ни чего-либо подобного. Есть ли способ, чтобы VPN-соединение всегда пыталось переподключиться до тех пор, пока я не отключу явно (например, опция «Автоматически подключаться» в обычных сетях), или просто оставалось в живых, чтобы оно могло возобновиться после восстановления сетевого подключения?

Автоматически инициируемые параметры профиля VPN VPN auto-triggered profile options

Относится к: Applies to

  • Windows 10 Windows 10
  • Windows 10 Mobile Windows 10 Mobile

В Windows 10 были добавлены ряд функций для автоматической активации VPN, чтобы пользователям не приходилось вручную подключаться, если для доступа к необходимым ресурсам требуется VPN. In Windows 10, a number of features were added to auto-trigger VPN so users won’t have to manually connect when VPN is needed to access necessary resources. Существует три типа правил автоматически инициируемых правил. There are three different types of auto-trigger rules:

  • Триггер приложений App trigger
  • Триггер на основе имени Name-based trigger
  • Режим «Всегда включен» Always On

Триггер приложений App trigger

Можно настроить автоматическое подключение профилей VPN в Windows 10 при запуске указанного набора приложений. VPN profiles in Windows 10 can be configured to connect automatically on the launch of a specified set of applications. Вы можете настроить классические приложения и приложения универсальной платформы Windows (UWP) для активации VPN-подключения. You can configure desktop or Universal Windows Platform (UWP) apps to trigger a VPN connection. Можно также настроить VPN для отдельного приложения и указать правила трафика для каждого приложения. You can also configure per-app VPN and specify traffic rules for each app. Дополнительные сведения см. в разделе Фильтры трафика. See Traffic filters for more details.

Идентификатор классического приложения — это путь к файлу. The app identifier for a desktop app is a file path. Идентификатор приложения UWP — это имя семейства пакетов. The app identifier for a UWP app is a package family name.

Триггер на основе имени Name-based trigger

Вы можете настроить правило на основе имени домена, чтобы определенное имя домена активировало VPN-подключение. You can configure a domain name-based rule so that a specific domain name triggers the VPN connection.

Автоматический триггер на основе имени можно настроить с помощью параметра VPNv2/имя_профиля/DomainNameInformationList/dniRowId/AutoTrigger в разделе Поставщик службы конфигурации (CSP) VPNv2. Name-based auto-trigger can be configured using the VPNv2/ProfileName/DomainNameInformationList/dniRowId/AutoTrigger setting in the VPNv2 Configuration Service Provider (CSP).

Существует четыре типа триггеров на основе имени. There are four types of name-based triggers:

  • Короткое имя: например, если HRweb настроен как триггер и стек видит запрос на разрешение DNS для HRweb, активируется VPN-подключение. Short name: for example, if HRweb is configured as a trigger and the stack sees a DNS resolution request for HRweb, the VPN will be triggered.
  • Полное доменное имя (FQDN): например, если HRweb.corp.contoso.com настроен как триггер и стек видит запрос на разрешение DNS для HRweb.corp.contoso.com, активируется VPN-подключение. Fully-qualified domain name (FQDN): for example, if HRweb.corp.contoso.com is configured as a trigger and the stack sees a DNS resolution request for HRweb.corp.contoso.com, the VPN will be triggered.
  • Суффикс: например, если суффикс . corp.contoso.com настроен как триггер и стек видит запрос на разрешение DNS с соответствующим суффиксом (например, HRweb.corp.contoso.com), активируется VPN-подключение. Suffix: for example, if .corp.contoso.com is configured as a trigger and the stack sees a DNS resolution request with a matching suffix (such as HRweb.corp.contoso.com), the VPN will be triggered. VPN активируется для любого сопоставления короткого имени, а у DNS-сервера запрашивается короткое_имя.corp.contoso.com. For any short name resolution, VPN will be triggered and the DNS server will be queried for the ShortName.corp.contoso.com.
  • Все: если используется, любое разрешение DNS активирует VPN. All: if used, all DNS resolution should trigger VPN.

Режим «Всегда включен» Always On

Режим «Всегда включен» — это функция Windows 10, которая позволяет активному профилю VPN автоматически подключаться в следующих случаях (триггеры). Always On is a feature in Windows 10 which enables the active VPN profile to connect automatically on the following triggers:

  • Вход пользователя в систему. User sign-in
  • Изменение в сети. Network change
  • Включение экрана устройства. Device screen on

При активации триггер выполняется попытка подключения к VPN. When the trigger occurs, VPN tries to connect. Если возникает ошибка или требуется ввод пользователя, отображается всплывающее уведомление. If an error occurs or any user input is needed, the user is shown a toast notification for additional interaction.

Если на устройстве несколько профилей с триггерами «Всегда включен», пользователь может задать активный профиль в разделе Параметры > Сеть и Интернет > VPN > Профиль VPN, установив флажок Разрешить приложениям автоматически использовать это VPN-подключение. When a device has multiple profiles with Always On triggers, the user can specify the active profile in Settings > Network & Internet > VPN > VPN profile by selecting the Let apps automatically use this VPN connection checkbox. По умолчанию первый профиль, настроенный в MDM, отмечен как активный. By default, the first MDM-configured profile is marked as Active. Устройства с несколькими пользователями имеют одно и то же ограничение: только один профиль и, следовательно, только один пользователь сможет использовать триггеры Always On. Devices with multiple users have the same restriction: only one profile and therefore only one user will be able to use the Always On triggers.

Сохранение пользователя Всегда на предпочтении Preserving user Always On preference

Windows имеет функцию для сохранения предпочтений пользователя AlwaysOn. Windows has a feature to preserve a user’s AlwaysOn preference. В случае, если пользователь вручную отключает контрольный ящик «Подключение автоматически», Windows запомнит это предпочтение пользователя для этого имени профиля, добавив имя профиля к значению AutoTriggerDisabledProfilesList. In the event that a user manually unchecks the “Connect automatically” checkbox, Windows will remember this user preference for this profile name by adding the profile name to the value AutoTriggerDisabledProfilesList.

Если средство управления удаляет или добавляет одно и то же имя профиля и задает Значение AlwaysOn значение true, Windows не будет проверять поле, существует ли имя профиля в следующем значении реестра, чтобы сохранить предпочтения пользователей. Should a management tool remove or add the same profile name back and set AlwaysOn to true, Windows will not check the box if the profile name exists in the following registry value in order to preserve user preference.

Клавиша: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRasManConfig Key: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRasManConfig
Значение: AutoTriggerDisabledProfilesList Value: AutoTriggerDisabledProfilesList
Тип: REG_MULTI_SZ Type: REG_MULTI_SZ

Обнаружение доверенной сети Trusted network detection

Эта функция настраивает VPN таким образом, чтобы подключение не активировалось, если пользователь находится в доверенной корпоративной сети. This feature configures the VPN such that it would not get triggered if a user is on a trusted corporate network. Значение этого параметра — список суффиксов DNS. The value of this setting is a list of DNS suffices. Стек VPN изучает DNS-суффикс на физическом интерфейсе и, если он соответствует любому из настроенных в списке, и сеть является частной или настроена MDM, VPN не активируется. The VPN stack will look at the DNS suffix on the physical interface and if it matches any in the configured list and the network is private or provisioned by MDM, then VPN will not get triggered.

Обнаружение доверенной сети можно настроить с помощью параметра VPNv2/имя_профиля/TrustedNetworkDetection в разделе VPNv2 CSP. Trusted network detection can be configured using the VPNv2/ProfileName/TrustedNetworkDetection setting in the VPNv2 CSP.

Настройка VPN-подключения, инициируемого приложением Configure app-triggered VPN

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

На следующем рисунке показано связывание приложения с VPN-подключением в политике конфигурации VPN-профиля с помощью Microsoft Intune. The following image shows associating an app to a VPN connection in a VPN Profile configuration policy using Microsoft Intune.

Если после добавления связанного приложения установить флажок Только эти приложения могут использовать это VPN-подключение (VPN для отдельных приложений), приложение станет доступным в корпоративных границах, где можно настроить правила для приложения. After you add an associated app, if you select the Only these apps can use this VPN connection (per-app VPN) checkbox, the app becomes available in Corporate Boundaries, where you can configure rules for the app. Дополнительные сведения см. в разделе Фильтры трафика. See Traffic filters for more details.

В настоящее время я подключаюсь к Интернету через привязанное соединение с моей мобильной сетью передачи данных. Чтобы обойти провайдеров мобильной сети, настаивая на том, чтобы я платил им за использование той же услуги через другое устройство, я также использую VPN для фактического подключения к Интернету. Естественно, сетевой сигнал может легко пропадать и прерывать соединение, и это отключает VPN, даже если само привязанное соединение никогда не отключается.

По иронии судьбы отличный пример моей проблемы можно найти на следующей странице Microsoft Technet, посвященной замечательному решению для Windows 7 / Windows Server 2008 R2:https://technet.microsoft.com/en-us/library/dd637830(v= ws.10).aspx

Например, рассмотрим пользователя, едущего на работу в поезде. Чтобы максимально использовать свое время, она использует беспроводную мобильную широкополосную карту для подключения к Интернету, а затем устанавливает VPN-подключение к сети своей компании. Когда поезд проходит через туннель, она теряет подключение к Интернету. После выхода из туннеля беспроводная мобильная широкополосная карта автоматически подключается к Интернету. Однако в более ранних версиях Windows VPN не переподключается, и ей необходимо повторить многоэтапный процесс подключения к VPN. Это может быстро занять много времени для мобильных пользователей с прерывистой связью.

Однако я не могу найти ни следа этой функции в Windows 10, ни чего-либо подобного. Есть ли способ, чтобы VPN-соединение всегда пыталось переподключиться до тех пор, пока я не отключу явно (например, опция «Автоматически подключаться» в обычных сетях), или просто оставалось в живых, чтобы оно могло возобновиться после восстановления сетевого подключения?

Как известно, в Windows из коробки напрочь отсутствует способ автоматического дозвона, в частности установления надёжного соединения по VPN, чтобы оно не разрывалось никогда, и всегда восстанавливалось в случаях временного исчезновения интернета. Такая возможность давно есть в роутерах, например Mikrotik, но что делать, если в сети такого роутера нет и соединение необходимо поднять на Windows, причём исключительно средствами системы? Для этого нам на помощь приходит планировщик заданий и команда бесконечного дозвона из командной строки.

Первое, что нужно сделать — создать само VPN-соединение с нужными нам настройками, назовём его SmartVPN. По ходу мастера настройки обязательно нужно отметить «Разрешить использовать это подключение другим пользователям», так как дозваниваться мы будем от имени системы.

В параметрах соединения убираем галочки:

  • Отображать ход подключения
  • Запрашивать имя, пароль, сертификат и т. д.
  • Включать домен входа в Windows
  • Перезвонить при разрыве связи

При необходимости убираем использование основного шлюза в удалённой сети и корректируем другие настройки.

Второй этап состоит из создания задачи по запуску бесконечного цикла, который будет проверять и восстанавливать соединение, если оно не подключено. Для этого в планировщике создаём задачу, которая будет запускаться при включении компьютера и запускаться от имени системы, а действием указываем запуск программы:

cmd /c "for /l %x in (0,0,0) do (rasdial SmartVPN Login Pass & timeout 5)"

Где cmd — программа командной строки, а остальное — её параметры, при этом SmartVPN — название соединения, Login и Pass — логин и пароль для дозвона соответственно.

Команда timeout делает паузу в 5 секунд перед следующей попыткой дозвона, при этом если соединение уже установлено, то ничего не произойдёт. Также timeout не существует на WinXP/2003, так что если вы где-то её используете, нужно будет городить замену через ping. Запуск от имени системы позволяет скрыть консольные окна и дозвон можно будет увидеть разве что в процессах и по запущенной задаче в планировщике. Существует не консольная программа дозвона rasphone, где пароль указывать не нужно (будет использован сохранённый в системе для этого соединения), но пользоваться ей никак нельзя — при ошибках она будет выводить графические сообщения и дозвон прекратится.

P. S. Если вы хотите сделать так, чтобы задача не висела в планировщике в статусе работы, замените «cmd /c» в начале команды на «cmd /c start cmd /c», таким образом процесс дозвона дальше не будет зависеть от планировщика.

Готовый xml-файл задачи для импорта: SmartVPN.xml [3 KB]

Понравилась статья? Поделить с друзьями:
  • Перестал быть администратором компьютера windows 10
  • Перепиши слова расставляя их по алфавиту windows
  • Перестает работать интернет до перезагрузки windows 10
  • Переставить жесткий диск с установленной windows 7 на другой компьютер
  • Переопределить режим масштабирования высокого разрешения windows 10