Настройка OVPN на Mikrotik
Автор: Ralex1. Постановка задачи
2. Создание сертификатов на Mikrotik – сервере OVPN
3. Настройка сервера OVPN
4. Настройка клиента OVPN
5. Настройка маршрутизации
1. Постановка задачи
Имеется организация с главным офисом и 2-мя филиалами. Требуется организовать между этими отделениями сеть VPN на базе OpenVPN с использованием сертификатов. Для этого будем использовать оборудование Mikrotik. Главный маршрутизатор (сервер сети VPN) установлен в главном офисе. В филиалах установлены маршрутизаторы, подключающиеся к главному офису через Интернет.
2. Создание сертификатов на Mikrotik – сервере OVPN
Для создания сертификатов зайдем на маршрутизатор Mikrotik, который будет сервером сети VPN. Подготавливаем шаблоны для сертификатов и ключей. Для этого открываем New terminal и вводим последовательно следующие команды (можно просто закопипастить)
/certificate
add name=ca-template common-name=myCa key-usage=key-cert-sign,crl-sign days-valid=4000
add name=server-template common-name=server days-valid=4000
add name=client1-template common-name=client1 days-valid=4000
add name=client2-template common-name=client2 days-valid=4000
В окне System –>Certificates наблюдаем следующую картину:
Далее необходимо снять все галки в настройках server-template, client1-template и client2-template в разделе Key Usage.
Далее создаем сертификат сервера,
/certificate
sign ca-template ca-crl-host=XXX.XXX.XXX.XXX name=myCa
где XXX.XXX.XXX.XXX – IP-адрес сервера, на который будут идти подключения клиентов и далее с его помощью подписываем ключи
sign ca=myCa server-template name=server
sign ca=myCa client1-template name=client1
sign ca=myCa client2-template name=client2
Делаем сертификаты доверенными
/certificate
set myCa trusted=yes
set server trusted=yes
Производим экспорт сертификатов с паролем 12345678 (помним его для процедуры импорта на клиентах OVPN)
/certificate
export-certificate myCa export-passphrase=12345678
export-certificate server export-passphrase=12345678
export-certificate client1 export-passphrase=12345678
export-certificate client2 export-passphrase=12345678
В окне Files видим следующее
На этом подготовка сертификатов завершена, можно перетащить их себе на компьютер, чтобы в дальнейшем импортировать на маршрутизаторы-клиенты.
3. Настройка сервера OVPN
Открываем PPP
В Profiles создать профиль ovpn-profile, ничего не менять, применить.
В PPP-secrets создаем пароли с назначением сервиса и IP-адресов
При назначении IP-адресов используем правило: на каждый линк – 4 IP-адреса: 1-сетевой, 2-IP сервера, 3 – IP клиента, 4- широковещательный. Маску каждого линка позднее сделаем /30 (т.е. 255.255.255.252) В нашем случае будет так:
Линк 1: 192.168.10.0, 192.168.10.1, 192.168.10.2, 192.168.10.3
Линк 2: 192.168.10.4, 192.168.10.5, 192.168.10.6, 192.168.10.7
Переходим на вкладку Interface и жмем кнопку OVPN Server
Ставим галочку Enabled
Port:1194 (можно поменять на нестандартный)
Netmask: 30
Mode: ip
Default Profile: ovpn-profile
Certificate: myCa
Required Clent Certificate
Cipher blowfish 128 aes256
IP-Firewall
разрешаем заходить на порт OVPN сервера tcp 1194
разрешаем управление снаружи через winbox 8291
перемещаем оба правила над запрещающими правилами файервола (в нашем случае в самом верху)
4. Настройка клиента OVPN
Заходим в Files на маршрутизаторе-клиенте и перетаскиваем туда файлы сертификатов и ключей
cert_export_myCa.crt
cert_export_client1.crt
cert_export_client1.key
Заходим в System Certificates и делаем импорт сертификатов клиента CRT + KEY с паролем 12345678, а также CRT сервера в таком же порядке
cert_export_myCa.crt
cert_export_client1.crt
cert_export_client1.key
В PPP создаем новый OVPN-клиент
Задаем параметры адрес, куда подключаемся, пользователя, пароль, сертификат (если надо), тип шифрования
Маршрутизация
На микротике-сервере OVPN нужно еще добавить маршрутизацию
В терминале прописываем:
/routing ospf network
add name=MainOffice area-id=192.168.6.0
# 192.168.6.0/24 - сеть за локальным интерфейсом центрального роутера
add area=MainOffice network=192.168.6.0/24
add area=backbone network=192.168.10.0/24
(отдадим VPN сеть с маской /24 для удобства дальнейшего добавления узлов сети VPN)
На клиентcких микротиках тоже самое.
Client1
/routing ospf network
add name=Client1 area-id=192.168.2.0
add area= Client1 network=192.168.2.0/24
add area=backbone network=192.168.10.0/24
Client2
/routing ospf network
add name=Client2 area-id=192.168.7.0
add area= Client2 network=192.168.7.0/24
add area=backbone network=192.168.10.0/24