Настройка OpenVPN сервера на Mikrotik
Создание сертификатов и ключей подписи для сервера и клиента
- Сертификаты будем создавать на машине c win10. Скачиваем сам OpenVPN (в моем случае это версия 2.4.6) для генерации сертификатов.
Важно, при установке выбрать все галочки. - Открываем папку “C:Program filesOpenVPNeasy-rsa“, запускаем init-config.bat, появится файл vars.bat.sample, открываем его и редактируем такие строки:
set KEY_COUNTRY=BY set KEY_PROVINCE=GomelRegion set KEY_CITY=Gomel set KEY_ORG=VTelecom set KEY_EMAIL=disnetern@disnetern.ru set KEY_CN=server set KEY_NAME=server set KEY_OU=disnetern
Эти параметры оставить неизменными “Key_CN” и “Key_NAME”, остальные можно вписать произвольно. Сохраняем как vars.bat в сваю домашнюю папку (в текущую не разрешат права), а потом перемещаем этот файл в “C:Program filesOpenVPNeasy-rsa” с подтверждением замены.
- Теперь открываем openssl-1.0.0.cnf и выставляем параметр default_days=3650 (3650= это 10 лет, можете выставить нужное время истекания сертификата по своему усмотрению ).
- Теперь открываем CMD от имени администратора и пишем поочередно команды:
cd C:Program FilesOpenVPNeasy-rsa vars.bat clean-all.bat
«Скопировано файлов: 1». Значит, процедура успешна. Если выдало сообщение ” vars.bat не является внутренней или внешней командой, исполняемой программой или пакетным файлом.” То отредактируйте в этом файле правильные, полные пути до команды.
Далее поочередно вбиваем команды для создания ключей:
build-dh build-ca
Если опять выдало сообщение об ошибке – редактируем полный путь до команды openssl. (В моем случает нужно было указать полный адрес с пробелом, указав его в двойных кавычках). Все вопросы подтверждаем Enter. Дальше набираем:
build-key-server server
Все вопросы подтверждаем Enter, а на последние два соглашаемся “Y”
Далее создаем сертификат клиента:
build-key client
При ошибке, редактируем путь. На вопрос Common Name – ввести client. В конце два раза подтвердить “Y”.
С сертификатами готово. Забираем их из папки C:Program FilesOpenVPNeasy-rsakeys : ca.crt, server.crt, server.key
Настройка сервера OpenVPN на mikrotik
- Заливаем файлы сертификатов и ключа на роутер Mikrotik, где будем настраивать сервер.
- Далее произведём импорт сертификатов, System – Certificates, выбираем поочередно сертификаты из списка ca.crt, server.crt, server.key и жмём кнопку Import:
- Создаём новый пул IP адресов для наших клиентов OpenVPN. IP -> Pool, добавили диапазон, например, 172.16.244.10-172.16.244.50, и назвал пул OVPN-pool
- Далее создаём PPP профиль. PPP -> Profiles-> вводим имя профиля, локальный адрес роутера, в моем случае 172.16.244.1, с созданным пулом адресов OVPN-pool, остальные настройки выставляем по желанию.
- Далее настраиваем сам OpenVPN сервер, PPP->Interface->OVPN Server, ставим Enabled, выбираем нужный порт, mode выставляем ip, выбираем созданный ранее профиль, ставим Require Client Certificate и выбираем сертификат server, остальные параметры по желанию.
- Создадим пользователя, переходим в раздел PPP -> Secrets, вводим имя пользователя, пароль, указываем сервис и профиль.
- Так как используются сертификаты, необходимо что бы время на сервере и на клиенте совпадало, для этого настраиваем ntp клиент и временную зону на роутере в разделе- System ->Clock/NTP Client. Адреса для NTP клиента можно взять, например, здесь.
- Еще не забудьте настроить Ваш фаерфол для разрешения порта для OVPN, IP -> Firewall->Filter Rules
Теперь можно подключаться к нашему OVPN серверу.
Настройка Mikrotik в качестве клиента OpenVPN сервера
- Сначала необходимо добавить сертификаты клиента на роутер (client.crt и client.key). Не передавайте никому закрытый ключ сертификата – “ca.key”, имея его можно создавать сертификаты подписанные данным ключом.
- Делаем импорт сертификатов, идём в раздел System – Certificates, выбираем поочередно сертификаты client.crt->client.key.
- Само соединение OpenVPN настраивается в меню PPP-> добавить OVPN Client
- Указываем адрес сервера, логин/пароль, порт, клиентский сертификат и тип шифрования:
Готово! Можем пользоваться.