dadv: (Default)
[personal profile] dadv

Дано: домашний ноутбук с Windows в руках далеких от IT людей, поэтому подключение к интернету через DIR-320 (штатная прошивка).

Надо: после загрузки машины и установления соединения поднимать PPtP-коннект к конкретному серверу с конкретным именем и паролем, штатными виндовыми средствами.

Решение:

  1. настраиваем подключение к DIR-320 через DHCP (проводное или беспроводное, не важно), так как нам нужно привязаться к событию "сеть работает" (при этом можно настроить роутер выдавать статический или динамический адрес, не важно);
  2. создаем и настраиваем VPN-подключение, проверяем, что вручную оно нормально подключается (при создании разрешаем сохранение пароля и использование подключения другими пользователями - это нужно, чтобы при "быстром переключении пользователей" и завершении пользовательской windows-сессии система не разрывала PPtP-коннект);
  3. идем в панель управления - администрирование - планировщик заданий - библиотека планировщика - ПКМ* по пустому месту в списке заданий - создать новую задачу:

    1. как-нибудь называем задание (описание можно пропустить), изменяем учетную запись на "система", выбираем "выполнять вне зависимости от регистрации пользователя", ставим галку "не сохранять пароль" (потому что не нужно) и "Выполнить с наивысшими правами" (обязательно надо);
    2. в следующей вкладке "Триггеры" создаем "При событии" - простое - Журнал Microsoft-Windows-DHCP Client Events/Администратор, источник "Dhcp-Client", код события 50067 (получение адреса);
    3. в следующей вкладке "Действия" создаем действие "Запуск программы", в поле "Программа или сценарий" просто вписываем rasdial, в аргументах указываем последовательно через пробел имя соединения PPtP, логин и пароль;
    4. в следующей вкладке "Условия" ставим галку "Запускать только при подключении к следующей сети" и выбираем подключение к роутеру - это особенно важно для беспроводного подключения, так как между получением адреса по DHCP и реальным поднятием сети есть временнОе окно и запуск rasdial в этом окне может приводить к "подвисанию" PPtP-соединения;
    5. в следующей вкладке "Параметры" ставим галку "Разрешать выполнение задачи по требованию", чтобы можно было её потестировать вручную, при сбое выполнения перезапускать через 1 минуту (жаль, нельзя быстрее) - rasdial возвращает ненулевой код ошибки при сбое (например, PPtP-сервер задаётся именем, а не по IP и ресолвинг не прошел), количество попыток перезапуска я ставлю 999 раз;

  4. тестируем задание, запустив его вручную при поднятом подключении к роутеру и не подключенном PPtP-коннекте - он должен подключиться; затем вручную его отключаем, отключаем соединение к роутеру и снова его подключаем - PPtP должен подняться силами планировщика; после чего можно перезагрузить систему, чтобы проверить автоматическую отработку всей цепочки.

Проверено для Windows 7 Ultimate. При попадании в упомянутое "временное окно" планировщик задерживает выполнение задачи на минуту, поэтому PPtP иногда будет запускаться с задержкой.


ПКМ - правая кнопка мышки

This account has disabled anonymous posting.
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

Profile

dadv: (Default)
Choose your future

July 2024

M T W T F S S
12 34567
891011121314
15161718192021
22232425262728
293031    

Tags

Style Credit

Powered by Dreamwidth Studios