План работ:
- Создание сертификатов.
- Настройка сети.
- Настройка клиента.
Создаём сертификаты центра сертификации (CA), сертификат сервера и сертификат для клиента (для windows 10). Поля Name и Common Name должны совпадать.
Заходим в System > Certificates, создаём сертификат центра сертификации и подписываем его:
Далее создаём сертификат для сервиса OpenVPN и подписываем его ключём нашего ЦС:
В завершении создаются сертификаты для клиентов:
Контейнер клиента нужно передать на компьютер с Windows 10. Для этого необходимо перенести его на внутренний накопитель роутера и после этого скопировать на компьютер.В поле Export Passphrase задаём пароль для доступа к контейнеру (и пароль и контейнер нам пригодится на стороне клиента).
Заходим в File нажимаем ПКМ на нашем контейнере, Download и выбирем место для сохранения контейнера:
Создаём диапазон адресов которые будут назначаться клиентам OpenVPN сервера. Заходим в IP > Pool:
Идём в PPP > вкладка Profiles и создаём профиль для подключения клиентов:
В разделе PPP переходим во вкладку Secrets и создаём пользователя для доп. авторизации по логину и паролю:
Запускаем в том же разделе сервис:
Создаём кофигурационный файл client.ovpn для клиентской части:
dev tun
proto tcp
remote x.x.x.x 1194 # Белый IP адрес с которым будет происходить соединение и порт.
persist-key
persist-tun
pkcs12 C:\\Windows\\ER-DERZH\\cert_export_SSV.p12
auth-user-pass # Включает возможность авторизации по паролю.
askpass # Включает возможность ввести пароль от контейнера.
remote-cert-tls server
route 192.168.60.0 255.255.255.0 192.168.160.1
route 192.168.44.0 255.255.255.0 192.168.160.1
route 192.168.11.0 255.255.255.0 192.168.160.1
route 192.168.12.0 255.255.255.0 192.168.160.1
cipher AES-256-CBC
auth SHA1
auth-nocache
resolv-retry infinite
nobind
mute 20
verb 3
По сути, в параметры auth-user-pass и askpass можно добавить пути до файлов (как в параметре pkcs12) с лоином и паролем от контейнера и пользователя, которого мы завели на роутере.
Кладём файл конфигурации client.ovpn с установленным OpenVPN (C:\Program Files\OpenVPN\config\), а файл контейнера в директорию, указанную в параметре pkcs12.
Можно запускать OpenVPN GUI от имени администратора!
В процессе подключения будет запрошен пароль от контейнера и login / password пользователя на роутере.
System.out.println("Удачи!");