Категорії
Windows

Создаём службу подключения для интернета и vpn’a

Представим себе ситуацию: нужно сделать автоматическое подключение к интернету и vpn’y через службу. Это иногда бывает полезным, если вы хотите автоматизировать подключение и уменьшить влияние человеческого фактора в этот процес.

Тестовый стенд: Windows XP SP3 Professional Ru, USB-модем AnyData ADU520

1) Подготовка.

Для того, что бы можно было создавать и удалять службы нужно иметь установленный Windows Resource Kit. Если у вас его нет, то его можно бесплатно скачать с официального сайта.

2) Создания службы.

Открываем командную консоль cmd и вводим такую команду:

>путь\INSTSRV.EXE ИМЯ_СЛУЖБЫ путь\SRVANY.EXE

Например:

>"C:\program files\Windows Resource Kit\INSTSRV.EXE" my_service "C:\program files\Windows Resource Kit\SRVANY.EXE"

где файлы INSTSRV.EXE и SRVANY.EXE – находятся в папке с Windows Resource Kit.

Если ошибок нет, то проверим, создалась ли служба. Для этого откроем редактор реестра и перейдём к записи HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\имя_службы. Если эта ветка есть, значит всё нормально и можно приступать к настройке. По умолчанию создаётся 2 ветки Enum и Security. Нам же понадобиться создать раздел Parameters и в нём создадим параметр типа REG_SZ с именем Application и значением “ПУТЬ_К_ИСПОЛНЯЕМОМУ_ФАЙЛУ”. В нашем случае это будет путь к скрипту cmd:

d:\scripts\my_service.cmd

Выходим из редактора.

Не забудьте выставить в настройках службы на вкладке “Восстановление” перезапуск службы при сбоях.

3) Создания подключения.

Подключения создаются стандартно через “Мастер новых подключений”. При этом поставьте галочки “Запоминать пароль”. Предположим, что подключение к интернету называется inet, а VPN – vpn. Открываем файл d:\scripts\my_service.cmd и пишем туда такое:

rasdial inet username_inet password_inet
sleep 30
rasdial vpn username_vpn password_inet

Задержка в 60 секунд добавлена потому, что процесс установки соединения inet занимает порядка 10-15 секунд.

В любом случае задержку можно отрегуливаровать на своё усмотрение.

4) Защита скрипта.

Поскольку пароль в нашем скрипте находится в открытом виде, то любой может его прочесть. Что бы защититься от этого можно установить соответствующие NTFS права, но при желании их можно изменить. Или использовать утилиту Quick Batch File Compiler. Она позволяет сделать из cmd скрипта – exe файл.

4 коментарі “Создаём службу подключения для интернета и vpn’a”

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

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

Необязательно службой, у меня отлично работает простым скриптом по расписанию с проверкой состояния VPN (пингуем машину с противоположной стороны туннеля). При падении VPN переход на принудительное отключение соединения и подъем его заново. Примерно 7-8 строк кода, но в отличие от службы вылавливает подвисший, но не отвалившийся туннель.

Тоже неплохой вариант. Может поделитесь строками кода?

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff