Найкращий спосіб - скористатися послугами:
- Встановіть службу OpenVPN під час встановлення клієнта;
- Помістіть ваші профілі OpenVPN (з розширенням .ovpn, а не .conf, як це звичайно для Linux), мабуть, у підкаталогу config каталогу установки OpenVPN
C:\Program Files\OpenVPN\config
.
- Відкрийте консоль Services (
services.msc
);
- Знайдіть OpenVPNSсервіс, клацніть правою кнопкою миші на ньому, Властивості та змініть тип запуску з "Вручну" на "Автоматично".
- Запустіть послугу, і OpenVPN знайде та підключиться до профілів у будь-яких файлах .ovpn. Майте на увазі, що у більшості ситуацій вам потрібен один інтерфейс TUN / TAP на файл з'єднання. У Windows я настійно раджу постійно пов'язувати інтерфейс з їх з'єднанням за допомогою файлів конфігурації:
dev-node TAP_Serv
змушує OpenVPN прив’язувати з'єднання до мережевого інтерфейсу під назвою "Tap_Serv".
Можливо, ви захочете дослідити, чи існує спосіб скласти білий список, щоб змусити службу підключатися лише до певних файлів, і не до всіх. У минулому у мене були проблеми з людьми, яким потрібно було мати сервер VPN як сервіс, а також кілька клієнтських файлів vpn в одній машині, які підключаються лише раз у раз. У тих випадках, якщо я хотів, щоб графічний інтерфейс OpenVPN показав їм прекрасний список доступних з'єднань, це означало, що служба бачила ці файли і намагалася підключитися до них автоматично. У цих випадках я вирішив взагалі не користуватися послугами:
Якщо використання послуги не є можливим, ви можете передати додаткові аргументи командного рядка до виклику інтерфейсу OpenVPN GUI, щоб змусити його автоматично підключатися під час запуску (а також показувати піктограму лотка, як зазвичай):
openvpn-gui.exe --connect myprofile.ovpn
Щоб запустити його під час входу, помістіть такий ярлик у звичайну папку запуску. (Для всіх користувачів %ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup
; або лише для поточного користувача %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
.)
Я не знаю, як уникнути того, щоб користувач підключився до Інтернету до встановлення VPN. Єдиний спосіб я зрозуміти, якщо через брандмауер Windows, і я не фахівець з цього питання. Якщо ви хочете уникнути того, як користувач може отримати доступ до Інтернету, вам потрібен брандмауер у вашому шлюзі, щоб уникнути цього, або сильна групова політика, щоб уникнути масштабування привілеїв.
Для звичайного користувача ви можете налаштувати клієнтську машину Windows без шлюзу за замовчуванням. Встановіть стійкий статичний маршрут до VPN-сервера для клієнтів Windows за допомогою наступної команди (-P робить його стійким):
route -P add <target> mask <netmask> <gateway IP> metric <metric cost> if <interface>
Маршрути в 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"
Іноді натискання маршруту не працює в Windows. Коли це трапляється зі мною, я повністю видаляю OpenVPN і його інтерфейси з Windows, перезавантажую систему та встановлюю останню версію програмного забезпечення. Потім, перш ніж встановити перше з'єднання, я перезавантажую Windows. Це завжди вирішує проблеми, однак оновлення Windows 10 Anniversary (1607) є помилковим з OpenVPN. На форумах OpenVPN є посилання на більш глибоке обговорення:
Проблеми з підключенням до оновлення Windows 10 річниці
Майте це на увазі, коли ви налаштовуєте своїх клієнтів Windows 10 OpenVPN.