OpenVPN сервер на RouterOS (Mikrotik)
Обзор
На текущий момент, реализация OpenVPN сервера на RouterOS (Mikrotik) поддерживает работу только по протоколу TCP. Отсутствие поддержки UDP является существенным недостатком этой реализации.
Настройка
Сертификат
Создайте сертификат OpenVPN сервера (самоподписанный)
General: Common name: vpn.domain.ru Subject Alt. Name (DNS): vpn.domain.ru Key Usage: digital signature key encipherment data encipherment key cert.sign crl sign tls server
Можно средствами RouterOS
System / Certificates Добавьте сертификат укажите необходимые параметры сертификата Подпишите сертификат Контекстное меню Sign В качестве подписывающего сертификата выбираем подписываемый (чтобы получить самоподписанный)
Если сертификат создан сторонними средствами, то его необходимо импортировать в RouterOS
System / Certificates [Import]
Экспортируйте в файл публичную часть сертификата, он понадобится клиентам для подключения
System / Certificates Контекстное меню на сертификате / Export Type: PEM (Экспортированный файл сохранится на роутере) Files
Cервер OpenVPN
Включите сервер OpenVPN
PPP / Interface [OVPN Server] [v] Enabled Port: 1194 Mode: ip Netmask: 24 Default Profile: <выберите профиль> Certificate: <выберите сертификат> [ ] Require Client Certificate Auth: [v] sha1 (остальные выключаем) Cipher: [v] aes256 (остальные выключаем)
Клиент OpenVPN
- Метод аутентификации (логин/пароль)
- Дополнительные параметры OpenVPN
- Использовать соединение TCP
- Задать тип виртуального устройства TUN
- Шифр: AES256-CBC
- Аутентификация HMAC: SHA-1
Клиент OpenVPN под Linux может добавлять маршрут на хост OpenVPN сервера, привязывая его к текущему шлюзу по умолчанию.
Проверено на Ubuntu 20.04, при подключении через GUI модуль менеджера сети
Если OpenVPN сервер недоступен через Default Gateway (например, находится в виртуальной или изолированной локальной подсети), то необходимо вручную создать постоянный маршрут на хост OpenVPN сервера через правильный интерфейс. Иначе, при подключении будет автоматически создаваться маршрут на хост OpenVPN сервера через Default Gateway, что приведет к его недоступности.
Remote Address в параметрах учетной записи VPN и значение netmask
в параметрах OpenVPN сервера, определяют маршрут в VPN подсеть, который будет создаваться автоматически на стороне VPN клиента.
Например: Remote Address: 172.18.17.21 OVPN Server / netmask: 23 При подключении будет создан маршрут в подсеть 172.18.16.0/23 через VPN интерфейс.
Если для Local Address
(параметр учетной записи VPN) не будет маршрута на стороне клиента, то к роутеру нельзя будет обращаться по этому адресу, но это не помешает работе с другими подсетями доступными через данный VPN.