лучший способ - использовать сервисы:
- установить службу OpenVPN при установке клиента;
- Поместите свои профили OpenVPN (с расширением .цппнг, нет .conf как обычно в Linux) в подкаталоге config каталога установки OpenVPN, вероятно
C:\Program Files\OpenVPN\config
.
- Откройте консоль "службы" (
services.msc
);
- найти OpenVPNService, щелкните правой кнопкой мыши на нем, свойства, и изменить тип запуска от "Руководство" к "Автомат."
- Запустите сервис, и OpenVPN найдет и подключится к профилям в любом .файлы ovpn. имейте в виду, что в большинстве случаев вам нужен один интерфейс TUN/TAP для каждого файла подключения. в windows, я настоятельно рекомендую постоянно ассоциировать интерфейс с их подключением с помощью файлов конфигурации:
dev-node TAP_Serv
заставляет OpenVPN привязать соединение к сетевому интерфейсу с именем "Tap_Serv".
вы можете изучить здесь способ разработки белого списка, чтобы заставить службу подключаться только к определенным файлам, а не ко всем. У меня были некоторые проблемы в прошлом с людьми, которым нужно было иметь VPN-сервер в качестве службы плюс несколько файлов vpn-клиентов на одной машине, которые время от времени подключаются только. В таких ситуациях, если бы я хотел, чтобы OpenVPN GUI показывал им красивый список доступных соединений, это означало, что сервис видел эти файлы и пытался подключиться к ним автоматически. В этих случаях я решил не пользоваться услугами вообще:
если использование сервиса не является опцией, вы можете передать дополнительные аргументы командной строки в вызов OpenVPN GUI, чтобы он автоматически подключался при запуске (а также показывал значок в трее, как обычно):
openvpn-gui.exe --connect myprofile.ovpn
чтобы запустить его при входе в систему, поместите такой ярлык в обычную папку автозагрузки. (Для всех пользователей %ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup
; или только для текущего пользователя, %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
.)
Я не знаю, как избежать пользователь для подключения к интернету, прежде чем VPN установлен. Только так я могу выяснить, если через Брандмауэр Windows, и я не специалист по этому вопросу. Если вы хотите избежать poweruser, чтобы иметь возможность получить доступ к Интернету, вам нужен брандмауэр в шлюзе, чтобы избежать этого, или сильные групповые политики, чтобы избежать масштабирования привилегий.
для обычного пользователя можно настроить клиентский компьютер Windows без шлюза по умолчанию. Установка постоянного статического маршрута к VPN-серверу в Windows клиенты, использующие следующую команду (- P делает его постоянным):
route -P add <target> mask <netmask> <gateway IP> metric <metric cost> if <interface>
Roues в Windows хранятся в следующем разделе реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes
на этом этапе отключенный клиент имеет доступ только к VPN-серверу. Затем можно добавить следующие строки в файл конфигурации VPN-сервера для добавления маршрутов на клиентах при их подключении:
настройка VPN-сервера в качестве шлюза по умолчанию:
push "redirect-gateway def1 bypass-dhcp"
добавление определенного маршрута через VPN-сервер:
push "route 192.168.1.0 255.255.255.0"
иногда маршрут толкая не работает на окнах. Когда это происходит со мной, я полностью удаляю OpenVPN и его интерфейсы из Windows, перезагружаю систему и устанавливаю последнюю версию программного обеспечения. Затем, перед установкой первого соединения, я перезапускаю Windows. Это всегда решало проблемы, однако, Windows 10 Anniversary update (1607) глючит с OpenVPN. В OpenVPN есть ссылка на более глубокое обсуждение форумы:
проблемы с подключением с Windows 10 anniversary update
имейте это в виду при настройке клиентов Windows 10 OpenVPN.