В сети есть много инструкций, как поднять OpenVPN сервере на маршрутизаторе Mikrotik, генерируя ключи при помощи openssl, мы же обойдемся без этой утилиты и всю настройку будем производить исключительно средсвами микротика.
Ниже я приведу список команд, которые нужно ввести в термнале:
1) Генерируем корневой сертификат:
1
2
/certificate add name=template-CA country=»» state=»» locality=»» organization=»» unit=»» common-name=»templ-OVPN-CA» key-size=4096 days-valid=3650 key-usage=crl-sign,key-cert-sign
/certificate sign template-CA ca-crl-host=127.0.0.1 name=»OVPN-CA»
2) Создаем сертификат сервера:
1
2
/certificate add name=template-SRV country=»» state=»» locality=»» organization=»» unit=»» common-name=»srv-OVPN» key-size=4096 days-valid=1095 key-usage=digital-signature,key-encipherment,tls-server
/certificate sign template-SRV ca=»OVPN-CA» name=»srv-OVPN»
3) Создаем клиентский шаблон сертификата:
1
/certificate add name=template-CL country=»» state=»» locality=»» organization=»» unit=»» common-name=»client-ovpn-template» key-size=4096 days-valid=365 key-usage=tls-client
4) Создаем сертификат для клиента:
1
2
/certificate add name=template-CL-to-issue copy-from=»template-CL» common-name=»client-ovpn-1″
/certificate sign template-CL-to-issue ca=»OVPN-CA» name=»client-ovpn-1″
В этих командах common-name в первой команде, должен соответствовать name во второй команде. Т.е. для добавления следующего сертификата клиента команды должны быть, например такими:
1
2
/certificate add name=template-CL-to-issue copy-from=»template-CL» common-name=»client-ovpn-2″
/certificate sign template-CL-to-issue ca=»OVPN-CA» name=»client-ovpn-2″
5) Настраиваем собственно OpenVPN:
Добавляем pool адресов для наших клиентов:
1
/ip pool add name=OVPN_srv_pool ranges=192.168.100.2-192.168.100.254
Создаем профиль для OpenVPN:
1
/ppp profile add name=OVPN_server local-address=192.168.100.1 remote-address=OVPN_srv_pool
Включаем аторизацию:
1
/ppp aaa set accounting=yes
Добавляем пользователя:
1
/ppp secret add name=test-user-1 password=P@ssword1 service=ovpn profile=OVPN_server
Это имя пользователя и пароль будут нужны при покдключении.
Включаем OpenVPN сервер:
1
/interface ovpn-server server set auth=sha1 cipher=blowfish128 default-profile=OVPN_server mode=ip netmask=24 require-client-certificate=yes certificate=srv-OVPN enabled=yes
6) Выполним экспорт сертификатов:
1
2
/certificate export-certificate OVPN-CA export-passphrase=»»
/certificate export-certificate client-ovpn-1 export-passphrase=11111111
Соответственно во второй команде имя сертификата должно соответсвовать имени клиентского сертификата. В этой команде — запомните passphrase — она будет нужна при подключении.
7) Дальше нужно скопировать с микротика экспортированные сертификаты, например через winbox — пункт меню files.
8) Последний пункт — нужно создать 2 файла на компьютере:
1 — файл конфигруации OpenVPN, для клиентов client.ovpn. Выглядеть он должен так:
client
dev tap
proto tcp
remote 1.2.3.4 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca cert_export_OVPN-CA.crt
cert cert_export_client-ovpn-1.crt
key cert_export_client-ovpn-1.key
—auth-user-pass user-pwd.txt
remote-cert-tls server
verb 3
route-delay 5
;Это маршрут до сети за микротиком (0.0 — сеть за микротиком, 100.1 — адрес микротика в ovpn)
;route 192.168.0.0 255.255.255.0 192.168.100.1
;это если нужно будет, что бы микротик был шлюзом по умолчанию
redirect-gateway def1
Тут измените поле remote, 1.2.3.4 — измените на адрес вашего микротика.
Что бы микротик не был шлюзом по умолчанию закомментируйте последнюю строчку и раскомментируйте предпоследнюю (;route 192.168.0.0 255.255.255.0 192.168.100.1) — за местро 192.168.0.0 впишите нужную вам сеть.
И второй файл — с логином и паролем user-pwd.txt:
test-user-1
P@ssw0rd1
Вот и все, поместите скачанные сертфикаты и созданные файлы в одну папку. Теперь с помощью файла client.ovpn можно подключиться.
Для того что бы отозвать сертификат используется команда:
1
certificate issued-revoke имя сертификата
Тик как клиент
Настройка OpenVPN клиента на роутере Mikrotik
Настройка OpenVPN клиента на роутере Mikrotik
1) Необходимо добавить сертификаты (клиентские сертификат и ключ (client.crt, client.key и по желанию корневой (ca.crt)) на роутер:
Процесс создания сертификатов был рассмотрен в статье о настройке OpenVPN сервера на Mikrotik
Внимание!!! Не передавайте никому закрытый ключ сертификата – “ca.key”, имея его можно создавать сертификаты подписанные данным ключом.
2) Заходим на Mikrotik посредством утилиты winbox, переходим в раздел Files и копируем туда наши сертификаты: client.crt, client.key и ca.crt(опционально)
3) После этого произведём импорт сертификатов, идём в раздел System – Certificates, выбираем поочередно сертификаты из списка (client.crt->client.key(-> ca.crt)) и жмём кнопку Import
4) Получится следующая картина:
5) Само соединение OpenVPN настраивается в меню PPP->Нажимаем кнопку «+» -> в выпадающем списке выбираем OVPN Client
6) На вкладке Dial Out указываем адрес сервера, логин/пароль, порт, клиентский сертификат и тип шифрования
7) После этого открываем терминал и проверяем, поднялось ли соединение:
Готово!