Автоматическое создание VPN соединения в Windows скриптом
Как настроить VPN соединение в Windows (VPN клиент). Автоматическое создание VPN соединения с автоматическим подключением.
На просторах интернета имеется большое количество информации на тему виртуальных частных сетей.Однако очень мало статей, как создать VPN соединение автоматичеки (скриптом). Можно найти как это сделать в UNIX. Мы же опишем как это сделать в Windows, на примере Windows 7. Такой вопрос может встать перед системным администратором (например, если нужно сделать одинаковые настройки VPN соединения на нескольких компьютерах). В других версиях ОС Windows всё делается по аналогии и опытному человеку не составит труда разобраться. Рядовой пользователь может озадачиться данным вопросом с малой вероятностью, поэтому мы пока не будем описывать данный процесс для других операционных систем. Однако постараемся расписать каждый шаг:
- Ручное создание соединения через интерфейс.
- Настройка использования шлюза (как компьютер будет ходить в интернет, через VPN или минуя его).
- Автоматизация подключения уже настроенного соединения.
- Автоматизация создания нового подключения.
Cоздание соединения через интерфейс
Предполагаем, что где-то имеется сервер виртуальной частной сети и нам известны параметры для подключения к нему (адрес, логин и пароль). Заходим: Пуск -> Панель управления -> Центр управления сетями и общим доступом. В разделе Изменение сетевых параметров, щелкнем по Настройка нового подключения или сети. Откроется окно Установка подключения или сети, где будет предложено выбрать вариант. Щелкаем по Подключение к рабочему месту Настройка телефонного или VPN-подключения к рабочему месту и жмём Далее.

Если уже имеются другие настройки, на следующем шаге будет предложено выбрать что-то из них или создать новое. Выбираем создать новое. На следующем шаге выбираем Использовать моё подключение к Интернету.
В появившемся окне вводим: Интерент-адрес - адрес VPN сревера (IP или доменное имя), Имя местоназначения - любое, оно будет отображаться в списке ваших сетей (если планируется дальнейшая автоматизация процессов, рекомендуем использовать в названии только латиницу и/или цифры.
На следующем шаге вводим пользователя и пароль, а так же выбираем запомнить пароль или нет.
По завершению произойдет попытка соедениться, и если всё указано верно коеенкт произойдет.
Если вам известен протокол, по которум работет ваш сервер, рекомендуем настроить его принудительно, это ускорит процесс подключения. Необходимо отключить ваш VPN: в правом нижнем углу (в трее) раскрываем список сетей, на нашей правой кнопкой мыши -> отключить.
Заходим: Пуск -> Панель управления -> Центр управления сетями и общим доступом -> Изменения параметров адаптера. На нашей сети правой кнопкой мыши -> Свойства. Закладка Безопасность. И выбираем Тип VPN. Если этого не сделать, каждый раз будут попытки соедениться по каждому из протоколов, пока не будет успешной.
Настройка использования шлюза
После типовой настройки, описанной в предыдущем пункте, весь ваш интрнет трафик пойдет через созданный канал, т.е. через сервер. Если сервер имеет интернет канал с пропускной способностью меньше чем у вас, или он прилично нагружен, возможно ощутить замедление скорости доступа в глобальную сеть. Так же, на сайтах или сервисах на которые вы пойдете будет светиться IP адрес сервера, а не ваш. Иногда такое не подходит и есть необходимость, чтобы светился ваш IP адрес. В таком случае необходимо произвести настройку шлюза.
Вновь отключаемся и заходим в свойства соединения как описано чуть выше (в изменениях параметра адаптера). Выбираем закладку Сеть. Выделяем Протокол Интернета версии 4(TCP/IPv4) и жмеме Свойства -> Дополнительно. На закладке Параметры IP снимаем галку Использовать основной шлюз в удаленной сети. Во всех открытых окнах - ОК. Теперь даже при подключенном VPN соединении интернет трафик пойдет через ваш, а не удаленный шлюз.
Автоматизация подключения уже настроенного соединения
Автоматически установит VPN соединение для уже настроенного подоключения, можно не только из интерфейса, но и из-под коммандной стрки, используя команду rasdial.
Формат команды:
rasdial [Имя подключения] [имя пользователя] [пароль]
где Имя подключения - то, что вы указали при создании VPN подключения в Имени местоназначения.
Пример команды:
rasdial myvpn test_user 12345
Используя эту команду, можно, например, настроить автоматическое подключение по VPN при загрузке компьютера. Для этого в планировщике задач необходимо создать нужное задание, в котором указать данную команду. Можно так же создать bat файл с одной строчкой - этой командой, и указать в задании его.
Остается одна проблема. Пароль при этом храниться в открытом виде. Если это решение не устраивает, можно скомпилировать bat файл в exe и пароль не будет явно видно. Переделка bat файла в exe - тема отдельной статьи, которых много в интернете. Воспользовавшись поиском, не составит труда найти, как это делается.
Создание VPN соединения скриптом
А теперь к самому интересному. Все созданные пользователем VPN соединения и их настройки храняться в одном файле - rasphone.pbk, который храниться в системной папке пользователя:
%APPDATA%\Microsoft\Network\Connections\Pbk
или, при типовой настройке Windows
C:\Users\[Имя пользователя]\AppData\Roaming\Microsoft\Network\Connections\Pbk
В этом файле первая строка - имя VPN соединения в квадратных скобках. Далее идут пареметры (настройки) этого соединения. После них через пустую строку идет имя следующего VPN соединения в квадратных скобках (если у вас их два и более) и так далее.
[myvpn]
...
...
...
...
[myvpn2]
...
...
...
...
Копируем этот файл в другое место, например на флэшку. Если у вас на этом компьютере было несколько настроенных VPN, а вам нужно настраивать на других компьютерах только один или некоторые, открываем скопированный файл в текстовом редакторе (я предпочитаю Notepad++).У даляем лишние соединения вместе с их настройками. Делать это нужно аккуратно, не удалив случайно некоторые из настроек нужных соединений
Создаем bat файл из двух строк
copy /Y rasphone.pbk C:\Users\user\AppData\Roaming\Microsoft\Network\Connections\Pbk
rasdial myvpn test_user 12345
Я кладу созданный bat файл на флэшку в тот же каталог, где находиться отредактированный файл rasphone.pbk. Поэтому в первой строчке скрипта укзываю его имя без пути.
Предполагая, что на комьютере, на котором буду внедрять решение - типовая установка Windows и пользователь называется user, поэтому в первой строке, в комманде copy, каталог назначения имеет такой вид.
/Y означает, что файл в папке назначения будет перезаписан, если существует, без лишних вопросов.
Важно!!!
В моей реализации предполагается, что на компьютере внедрения отсутствуют существующие настроенные VPN соединения.Если они присутствуют, то будут утеряны (удалены) при перезаписи файла, а если найдутся подключенные, то скрипт может выдать ошибку.
Если соединения уже есть, и их необходимо сохранить, потребуется не перезаписывать файл rasphone.pbk, а дописывать в него необходимую текстовую информацию.
Вторая строчка скрипта сразу устанавливает соединение для созданного VPN подключения
Запускаем скрипт и получаем результат. Вариаций реализации данного решения множество и у каждого своя ситуация. Охватить одной статьей все ситуации невозможно, цель - описать общий механизм.
Заключение
Если в данной статье оказалось недостаточно информации, сообщите нам на почту info@rapid-brain.ru и мы постараемся внести дополнения.
Если статья оказалась вам интересна и полезна, помогите найти её другим пользователям - сделайте репост в социалных сетях, используя расположенные ниже кнопки.
Фотогалерея
- Комментарии