Вы здесь

Как настроить OpenVPN сервер на Mikrotik


Как настроить OpenVPN сервер на Mikrotik

Привет. Сегодня хочу показать вам как на Mikrotik можно поднять OpenVPN Сервер. На микротике он не совсем полноценный, но бывают ситуации когда его использовать гораздо удобнее чем другие типы VPN соединений.

Видеоуроки по настройке MikroTik
Нет возможности пройти очный тренинг MTCNA? Ему есть альтернатива. Минус – не будет официального сертификата. Плюсов гораздо больше. Во-первых, не надо никуда ехать, смотрите и пересматривайте видеоуроки тогда, когда вам удобно и столько раз, сколько нужно. Во-вторых, в курсе упор на практику, ее примерно в 4 раза больше, чем на очном обучении. Подробнее о курсе на странице «]]>Настройка оборудования MikroTik]]>», там же можно заказать бесплатно ]]>первые 25 уроков]]>.

В сети есть много инструкций, как поднять OpenVPN сервере на маршрутизаторе Mikrotik, генерируя ключи при помощи openssl, мы же обойдемся без этой утилиты и всю настройку будем производить исключительно средсвами микротика.

Ниже я приведу список команд, которые нужно ввести в термнале:

1) Генерируем корневой сертификат:

/certificate add name=template-CA country="" state="" locality="" organization="" unit="" common-name="templ-OVPN-CA" key-size=2048 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) Создаем сертификат сервера:

/certificate add name=template-SRV country="" state="" locality="" organization="" unit="" common-name="srv-OVPN" key-size=2048 days-valid=1095 key-usage=digital-signature,key-encipherment,tls-server
/certificate sign template-SRV ca="OVPN-CA" name="srv-OVPN"

3) Создаем клиентский шаблон сертификата:

/certificate add name=template-CL country="" state="" locality="" organization="" unit="" common-name="client-ovpn-template" key-size=2048 days-valid=365 key-usage=tls-client

4) Создаем сертификат для клиента:

/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 во второй команде. Т.е. для добавления следующего сертификата клиента команды должны быть, например такими:

/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 адресов для наших клиентов:

/ip pool add name=OVPN_srv_pool ranges=192.168.100.2-192.168.100.254

Создаем профиль для OpenVPN:

/ppp profile add name=OVPN_server local-address=192.168.100.1 remote-address=OVPN_srv_pool

Включаем аторизацию:

/ppp aaa set accounting=yes

Добавляем пользователя:

/ppp secret add name=test-user-1 password=P@sswOrd1 service=ovpn profile=OVPN_server

Это имя пользователя и пароль будут нужны при покдключении.

Включаем OpenVPN сервер:

/interface ovpn-server server set auth=sha1 cipher=aes256-gcm default-profile=OVPN_server mode=ip netmask=24 require-client-certificate=yes certificate=srv-OVPN enabled=yes

Здесь я использую шифрование aes256-gcm, в старых версиях router os оно не поддерживалось. Если у вас нет возможности обновить систему, используйте другой тип, не забыв позже поправить конфигурацию клиента.

6) Выполним экспорт сертификатов:

/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 tun
--cipher AES-258-GCM
--data-ciphers AES-258-GCM
proto tcp
remote 45.135.135.214 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@sswOrd1

Вот и все, поместите скачанные сертфикаты и созданные файлы в одну папку. Теперь с помощью файла client.ovpn можно подключиться.

Для того что бы отозвать сертификат используется команда:

certificate issued-revoke имя сертификата
Видеоуроки по настройке MikroTik
Нет возможности пройти очный тренинг MTCNA? Ему есть альтернатива. Минус – не будет официального сертификата. Плюсов гораздо больше. Во-первых, не надо никуда ехать, смотрите и пересматривайте видеоуроки тогда, когда вам удобно и столько раз, сколько нужно. Во-вторых, в курсе упор на практику, ее примерно в 4 раза больше, чем на очном обучении. Подробнее о курсе на странице «]]>Настройка оборудования MikroTik]]>», там же можно заказать бесплатно ]]>первые 25 уроков]]>.

 

1 2

Поделитесь статьей с друзьями в соц. сетях, возможно, она будет им полезна.


Если вам помогла статья, вы можете >>отблагодарить автора<<


Комментарии

Приветствую! Вы включаете ovpn-сервер с параметром mode=ip, а в файле конфигурации OpenVPN задаете dev tap, что соответствует значению mode=ethernet в свойствах сервера.Длина ключа в 4096 это уже перебор, 2048, если не 1024 для генерации на самом микротике было бы в самый раз, мой не самый слабый hAP ac не выдержал и ругнулся при подписи корневого сертификата, хоть и подписал в итоге. Однако при этом cipher вы задаете всего blowfish128, не включая поддержку aes ни в сервере, ни в настройках клиента.Время жизни сертификатов у вас везде разный - 10, 3 и 1 год соответственно, через год неожиданно клиент не сможет подключить, придется вспоминать и ломать голову, что же произошло.Спасибо за мануал, по нему впервые занялся настройкой ovpn, генерация и экспорт клиентских сертификатов средствами микротика "не отходя от кассы" привлекает, конечно.Не претендую на полную правоту, но мануал нужно все же допилить, чтобы меньше спотыкаться при знакомстве с OVPN.

23 0

с данными настройками роутер RB3011UiAS работает на ура, хотя длинну ключа можно и снизить при копирование мелких файлов замечен не большой провал в скорости

0 2

Добрый день! Настраивал все по инструкции, но появилась проблема при подключении клиента Windows 8.1 c правами администратора. На всякий случай опишу все что есть:OVPN Client:Tue Nov 20 11:35:06 2018 Attempting to establish TCP connection with [AF_INET]82.138.17.47:1194 [nonblock]Tue Nov 20 11:35:06 2018 MANAGEMENT: >STATE:1542702906,TCP_CONNECT,,,,,,Tue Nov 20 11:35:07 2018 TCP connection established with [AF_INET]82.138.17.47:1194Tue Nov 20 11:35:07 2018 TCP_CLIENT link local: (not bound)Tue Nov 20 11:35:07 2018 TCP_CLIENT link remote: [AF_INET]82.138.17.47:1194Tue Nov 20 11:35:07 2018 MANAGEMENT: >STATE:1542702907,WAIT,,,,,,Tue Nov 20 11:35:07 2018 MANAGEMENT: >STATE:1542702907,AUTH,,,,,,Tue Nov 20 11:35:07 2018 TLS: Initial packet from [AF_INET]82.138.17.47:1194, sid=6b8a0ab4 8b3e6929Tue Nov 20 11:35:07 2018 OpenSSL: error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failureTue Nov 20 11:35:07 2018 TLS_ERROR: BIO read tls_read_plaintext errorTue Nov 20 11:35:07 2018 TLS Error: TLS object -> incoming plaintext read errorTue Nov 20 11:35:07 2018 TLS Error: TLS handshake failedTue Nov 20 11:35:07 2018 Fatal TLS error (check_tls_errors_co), restartingTue Nov 20 11:35:07 2018 SIGUSR1[soft,tls-error] received, process restartingTue Nov 20 11:35:07 2018 MANAGEMENT: >STATE:1542702907,RECONNECTING,tls-error,,,,,Tue Nov 20 11:35:07 2018 Restart pause, 10 second(s) на Mikrotik порт 1194 открыт из статьи не понятно несколько моментов:1. где Создаем профиль для OpenVPN адрес 192.168.100.1 должен быть настроен во вкладке IP-->Addresses ?2. Еще есть вопрос по  маршрутизации: у меня внутренний ip микротика  192.168.11.254 в подсети 192.168.11.0/24 верно ли использовать как в настройке моего файла client.ovpn: clientdev tapproto tcpremote 82.138.17.47 1194resolv-retry infinitenobindpersist-keypersist-tunca cert_export_OVPN-CA.crtcert cert_export_client-ovpn-1.crtkey cert_export_client-ovpn-1.key--auth-user-pass user-pwd.txtremote-cert-tls serververb 3route-delay 5;Это маршрут до сети за микротиком (0.0 - сеть за микротиком, 100.1 - адрес микротика в ovpn)route 192.168.11.0 255.255.255.0 192.168.100.1;это если нужно будет, что бы микротик был шлюзом по умолчанию;redirect-gateway def1 Изходя из выше описанного укажите пожалуйста на допущенные ошибки, мучаюсь уже сутки

0 0

да, нихрена не получается. Автор ты мудило, зря потратил 20 минут.Ошибка:Options error: --ca fails with 'cert_export_OVPN-CA.crt': No such file or directory (errno=2)Options error: --cert fails with 'cert_export_client-ovpn-1.crt': No such file or directory (errno=2)Fri Aug 02 23:16:44 2019 WARNING: cannot stat file 'cert_export_client-ovpn-1.key': No such file or directory (errno=2)Options error: --key fails with 'cert_export_client-ovpn-1.key'Fri Aug 02 23:16:44 2019 WARNING: cannot stat file 'user-pwd.txt': No such file or directory (errno=2)Options error: --auth-user-pass fails with 'user-pwd.txt': No such file or directory (errno=2)Options error: Please correct these errors.Use --help for more information.

2 9