В этой статье мы рассмотрим, как настроить автоматическое подключение к OpenVPN серверу при входе пользователя в Windows с помощью ярлыка в автозапуске и с помощью службы Windows.
Автозапуск клиента OpenVPN при входе в Windows
Скопируйте ваш *.ovpn файл с настройками вашего VPN подключения в каталог C:\Users\YourUsernName\OpenVPN\config
или в C:\Program Files\OpenVPN\config
.
Теперь вам нужно открыть каталог автозапуска в Windows. Для этого нажмите сочетание клавиш Win+R и выполните команду shell:startup
. Перед вами откроется папка в профиле текущего пользователя ((%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup). Windows при входе пользователя в систему автоматически запускает все программы из этой папки.
Если у вас используется клиент openvpn-gui.exe (OpenVPN 2.5), то для автоматического подключения с помощью указанного профиля из файла *.ovpn используется команда:
"C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect your_vpn_connection.ovpn
Просто скопируйте ярлык OpenVPN GUI в каталог Startup и настройках ярлыка добавьте параметр --connect your_vpn_connection.ovpn
.
Если вы хотите скрыть окно состояния клиента OpenVPN при подключении, добавьте в строку параметр --silent_connection 1
.
Теперь запустите клиент OpenVPN и отключите автоматический запуск при загрузке Windows (вкладка General -> Launch on Windows startup). Это позволит предотвратить конфликт с командой автозагрузки, которую мы создали ранее.
Теперь Windows будет автоматически устанавливать подключение с OpenVPN сервером при входе пользователя.
Если у вас используется клиент OpenVPNConnect.exe (3.3.x) от OpenVPN вместо комьюнити клиента, имейте в виду, что в нем пока нет опций командной строки для подключения к серверу с помощью настроенного профиля.
В настройках клиента OpenVPN Connect можно включить опцию Lauhch options -> Connect latest. В этом случае клиент будет автоматически подключаться с помощью последнего используемого ovpn профиля.
Эту же опцию можно включить из командной строки:
C:\Program Files\OpenVPN Connect\OpenVPNConnect.exe --set-setting launch-options:connect-latest
В этом примере мы показали, как настроить автоматическое OpenVPN подключение для одного пользователя Windows. Если вам нужно настроить автоподключение для всех пользователей, можно создать аналогичное задание в Task Scheduler или настроить службу OpenVPN.
Запуск клиента OpenVPN как службы Windows
Вы можете настроить автоматическое подключение с помощью службы OpenVPN Service, которая позволит автоматически поднимать VPN подключение до входа пользователя в Windows.
Если у вас используется клиент OpenVPN Connect 3.2+, вы можете запустить службу OpenVPN, которая будет автоматически подключаться к OpenVPN серверу после загрузки Windows.
- Откройте командную строку с правами администратора и перейдите в каталог:
cd "c:\Program Files\OpenVPN Connect"
- Установите службуOVPNConnectorService:
ovpnconnector.exe install
- Задайте полный путь к конфигурационному файлу OVPN, который нужно использовать для подключения:
ovpnconnector.exe set-config profile "C:\OpenVPN\client.ovpn"
- Укажите имя файла, куда нужно записыват логи VPN подключения:
ovpnconnector.exe set-config log "C:\OpenVPN\client.log"
Логи OpenVPN также доступны в стандартном Event Viewer в разделе Windows Logs -> Applications -> включите фильтр по Event Source OVPNConnectorService. - Запустите службу OpenVPN:
ovpnconnector.exe start
Проверьте, что клиент успешно подключится в OpenVPN серверу. В логе должно появится сообщение:
Wed Feb 1 23:25:39 2023 Connected via TUN_WIN Wed Feb 1 23:25:39 2023 EVENT: CONNECTED YourOpenVPNProfile via /UDPv4 on TUN_WIN/10.24.1.10/ gw=[10.24.1.9/]
И ваш виртуальный адаптер WinTUN получил IP адрес от сервера OpenVPN
- Теперь настройте автоматический запуск для службы OVPNConnectorService из консоли управления services.msc или с помощью команды:
sc config OVPNConnectorService start=auto
- Теперь после перезагрузки Windows служба OpenVPN будет автоматически подключаться к серверу.
Если вы хотите отключить и удалить службу OVPNConnectorService, выполните команды:
ovpnconnector.exe stop
ovpnconnector.exe remove
Если у вас используется аутентификация OpenVPN ерез Active Directory, вы можете сохранить имя пользователя и пароль в текстовый файл и использовать его для автоматического подключения.
Создайте текстовый файл login.txt в каталоге C:\Program Files\OpenVPN\config.
И добавьте в конфигурационный файл ovpn строки:
auth-user-pass login.txt auth-retry nointeract auth-nocache
Если у вас используется клиент OpenVPN GUI, вы также можете настроить службу для автоматического подключения. Для этого:
- При установке клиента обязательно выберите дополнительно службу OpenVPN Service
- Скопируйте ваши профили OpenVPN (файлы с расширением .ovpn) в каталог
"C:\Program Files\OpenVPN\config\"
- Служба OpenVPN будет автоматически запускать VPN туннель для каждого конфигурационного ovpn файла из этого каталога) Если на компьютере должны быть одновременно активны несколько OpenVPN подключений, убедитесь, что в Windows создано достаточное количество виртуальных сетевых адаптеров TUN/TAP. Иначе в логах появится ошибка All TAP-Windows adapters on this system are currently in use. Также рекомендуется привязать OpenVPN подключение к конкретному сетевому интерфейсу с помощью следующей строки в .ovpn:
dev-node 'OpenVPN TAP-Windows2'
(указывается имя сетевого адаптера в Window) - Проверьте что для службы OpenVPNService (
C:\Program Files\OpenVPN\bin\openvpnserv2.exe
) настроен автоматический запуск.
Данные демон автоматически создает VPN подключения для всех конфигурационных файлов .conf в каталоге /etc/openvpn (просто переименуйте ваши *.ovpn файлы в *.conf). И запустите сервис:
$ sudo systemctl enable openvpn@client.service
$ sudo systemctl start openvpn@client.service
2 комментария
Спасибо за полезный материал. Помогло.
А где статья как сам open vpn поставить ?