Продолжаю цикл статей про протокол OpenVPN на Mikrotik TouterOS.
- Настройка OpenVPN Server на Mikrotik RouterOS
- Генерация сертификатов на Mikrtoik для OpenVPN
- RADIUS Server на базе WinSrv 2019 для Mikrotik
В этой статье расскажу как собрать конфигурационный файл OpenVPN для клиентов.
Поскольку Mikrotik не умеет, без дополнительных скриптов, пушить маршруты клиентам, это так же придется прописывать в конфигурационном файле.
После настройки сервера, и генерации клиентского сертификата нам остается их экспортировать и создать connect.ovpn файл для подключения пользователей.
Для экспорта сертификата:
System — Certificates — ПКМ на сертификате — Export
Нам нужен экспорт сертификатов CA — без закрытого ключа, при экспорте пароль не вводим.
А вот во время экспорта ключа клиента нужно указать пароль. Иначе экспорт пройдет, но не без закрытого ключа будет бесполезен.
/certificate export-certificate CA
/certificate export-certificate client1 export-passphras
e=12345678
В результате в Files у вас появятся эти сертификаты, выделяем, скачиваем на компьютер.
Далее — Составляем конфигурационный файл ля подключения клиентов.
В любом, удобном для вас текстовом редакторе:
Небольшое описание параметров, которые вы встретите ниже:
client — сообщаем системе что мы являемся клиентов
dev tun — использовать виртуальный адаптер TUN (L3 туннель)
proto tcp4 — использовать протокол tcp (в современных реализациях ОС просто указывается tcp)
remote — публичный ip или днс имя вашего mikrotik
nobind — использовать динамический порт исходящий
verb — уровень логирования
ca — сертификат CA
cert — сертификат клиента
key — ключ сертификата клиента
remote-cert-tls server — проверяем сертификат сервера
cipher — указываем алгоритм шифрования
auth-user-pass — авторизация по логину\паролю
route — указываем маршрут(ы) в нашу сеть
route-delay — задержка добавления маршрута в секундах. Бывает полезно, когда связь устанавливается слишком долго.
Способ первый — Всё в одном конфиге.
Я считаю это наиболее удобным способом создания и распространения конфигурационного файла. Поскольку в данном случае всё, включая сертификаты, хранится в одном файле, его удобно распространять и настраивать.
openvpn.conf:
client
dev tun
proto tcp
remote <your ip or dns> 11945
nobind
<ca>
-----BEGIN CERTIFICATE-----
откройте в блокноте сертификат CA и вставьте содержимое
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
содержимое клиентского сертификата
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN ENCRYPTED PRIVATE KEY-----
содержимое клиентского ключа
-----END ENCRYPTED PRIVATE KEY-----
</key>
verb 3
remote-cert-tls server
cipher AES-256-CBC
auth-user-pass
route 192.168.88.0 255.255.255.0
route-delay 3
Способ 2. Сертификаты рядом с конфигом.
Принципиально ничего не меняется, но нужно будет рядом класть сами сертификаты либо указывать к ним пути:
client
dev tun
proto tcp
remote <your ip or dns> 11945
nobind
## Путь до сертификата CA, можно относительный
ca ca.crt
## Путь до сертификата клиента, можно относительный
cert cert.crt
## Путь до ключа сертификата клиента, можно относительный.
key key.key
verb 3
remote-cert-tls server
cipher AES-256-CBC
auth-user-pass
route 192.168.88.0 255.255.255.0
route-delay 3
В результате способа 2 — вы получите такой набор файлов:
На этом конфигурация клиента завершена.
а как этот файл подсунуть клиенту Mikrotik?
В данном случае видимо непонятки с формулировкой вышли…
В статье имеется в виду конфигурационный файл для приложения openvpn на платформах windos/linux/android/ios(в некоторых версиях), а не для связки Mikrotik OVPN_Srv — Mikrotik OVPN_Client
Автор, напиши как избавиться от необходимости вводить тот самый export-passphrase на клиенте при подключении.
Нужно видимо как-то расшифровать файл .key
Export-passphrase — это пароль ключа сертификата. Без него экспортировать ключ из Mikrotik не получится в принципе, это не безопастно.
Однако у большинства известных мне ovpn клиентов есть возможно сохранить этот ключ после ввода, клацнув на клиенте соответствующую галку.
Если вы хотите использовать сертификат с ключом но без пароля ключа — в таком случае все сертификаты требуется создать с помощью openssl, он позволяет создавать клиентские сертификаты с пустым паролем.
Здравствуйте, подскажитечто делать если идетбесконечное соединение по тсп
Attempting to establish TCP connection with [AF_INET]
Для начала проверить Filter Rules вашего микротика, и что ovpn сервер на нем запущен.
Так же включить подробный лог ovpn на Mikrotik и посмотреть что там происходит. Но чаще всего подобное сообщение — либо ошибка конфигурации, либо правила фаервола
есть готовое решение
https://youtu.be/dRIrmdTaAws
Готовое но платное.