110 подписчиков

Настройка OpenVPN на роутерах Mikrotik

320 прочитали

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

Предупреждение! У вас должен быть белый, неважно статический или динамический IP адрес, чтобы VPN сервер работал, иначе вы к нему не сможете подключиться из внешней сети!

Имеем:

Mikrotik hAP ac^2 в качестве роутера-сервера, виртуальную машину с Windows 8.1 для генерации сертификатов, ноутбук с Windows 11 и другой сетью для тестирования соединения с установленным OpenVPN Connect (Сеть: 100МБит/с), сервер на Linux Debian для тестирования подключения внутри локальной сети по протоколу SSH, внешний канал со статическим внешним IP адресом (адресом, к которому можно подключиться из Интернета) и скоростью 400МБит/с.

Подготовка

Переходим на сайт для скачивания OpenVPN тык 

Скачиваем версию 2.4.11 от 21 апреля 2021г. Почему не последнюю? На последней имеются проблемы с генерацией сертификатов и их совместимостью с Mikrotik (при тестировании выдавало ошибку авторизации). Поэтому воспользуемся достаточно свежей версией, но в которой для генерации сертификатов используется EasyRSA 2, а не 3. На безопасность это никак не влияет, останется такой же уровень, зато мы получаем идеальную совместимость.

В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!

При установке отмечаем галочку на EasyRSA 2, в остальном вполне обычный процесс установки. Только при установке TAP драйвера Windows может выдать уведомление о том, что устройство недоверенное и требуется подтверждение установки драйвера, в данном случае ставим галочку на доверять производителю и установить.

В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-2

Настройка OpenVPN на роутерах Mikrotik. Генерация сертификатов

После установки открываем командную строку от имени администратора, там вводим команду cd C:\Program Files\OpenVPN\easy-rsa

И также в проводнике переходим в данную директорию.

В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-3

Затем открываем блокнот и вписываем данный текст:

set «PATH=%PATH%;%ProgramFiles%\OpenVPN\bin»
set HOME=%ProgramFiles%\OpenVPN\easy-rsa
set KEY_CONFIG=openssl-1.0.0.cnf
set KEY_DIR=keys
set KEY_SIZE=1024
set KEY_COUNTRY=RU
set KEY_PROVINCE=Saint-Petersburg
set KEY_CITY=Saint-Petersburg
set KEY_ORG=YODO-ORG
set KEY_EMAIL=vpn@yodo.im
set KEY_CN=YODO
set KEY_OU=VPN
set KEY_NAME=x.x.x.x
set PKCS11_MODULE_PATH=VPN
set PKCS11_PIN=12345678

Где x.x.x.x — Ваш внешний IP адрес. (можно узнать на 2ip.ru)

KEY_SIZE можно указать и 2048, тогда подключение будет более безопасное, но и нагрузка будет выше из-за шифрования, поэтому пока оставим 1024.

KEY_ORG — организация

KEY_CN — имя указанное в сертификате или имя/домен/IP сервера.

KEY_OU — Подразделение организации, в данном случае можно указать просто VPN

KEY_NAME — произвольное имя, мы укажем просто IP для сертификата сервера, для клиента соответственно имя клиента.

KEY_EMAIL — почта администратора сервера (укажем несуществующую для примера)

Сохраняем как vars.bat на рабочем столе (в проводнике выберите тип файла «все файлы» и напишите в имя файла vars.bat) и перемещаем в вышеуказанную директорию (требуются права администратора). Готовый файл: тык

В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-4
В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-5

Переходим к командной строке (CMD). Вписываем там vars.bat, выполняем. Затем clean-all.bat, потом ещё раз vars.bat.

В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-6

Далее создадим корневой сертификат командой build-ca.bat

Поскольку переменные у нас уже заданы, просто везде нажимаем ENTER, где это требуется.

В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-7

Затем создадим сертификат для сервера командой build-key-server.bat server  где server — название файла сертификата

Процедура аналогичная, только в Common Name можно указать уже другое значение, например Mikrotik. Также запрос пароля пропускаем нажатием ENTER, затем соглашаемся на подпись сертификата нажав y и ENTER.

В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-8
В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-9

Для клиента все аналогично, Common Name и Name укажем Client1. Всё аналогично тому, что выше, только команда build-key.bat client1 где client1 — имя файла сертификата. Таких можно делать много, указывая Client2, свои имена и т.д, в зависимости от того, сколько сертификатов требуется.

Настройка OpenVPN на роутерах Mikrotik

Теперь открываем winbox, подключаемся к нашему Mikrotik. Открываем files и перемещаем файлы ca.crt server.crt и server.key, потом импортируем их в System>Certificates в заданной последовательности. Пароль указывать не нужно.

В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-10
В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-11
В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-12

Поскольку я создаю VPN, чтобы подключаться к своей же локальной сети, поэтому не буду выделять отдельный пул, а воспользуюсь адресным пространством моего общего DHCP сервера. Для этого уже есть стандартный профиль default. Заходим в PPP>Profiles. Открываем профиль default и сверяемся с данными. Локальный адрес — шлюз, сам Mikrotik. У меня в локальной сети используется подсеть 172.16.0.0/24 (256 адресов), шлюз в данном случае 172.16.0.1

В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-13

Удаленный адрес — пул DHCP сервера, в данном случае он выбран как DHCP. Клиент получит адрес по-типу 172.16.0.25

В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-14

Для знающих:

Также у меня есть отдельная подсеть для других VPN подключений, но она для совершенно других целей и для изоляции от моей локальной сети. Там используется адресное пространство 10.0.0.0/26 (64 адреса, используется 50 из них), что также относится к пространству локальных сетей, как и 192.168.0.0/16 (65 536) и 172.16.0.0/12 (1 048 576) (а также полная для 10.0.0.0/8 (16 777 216 )). Продолжаем настройку.

Теперь перейдем в PPP>OVPN Server, выставляем параметры как на скриншоте и нажимаем Apply.

В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-15

Режим IP — это Tun (сетевой туннель, сетевой уровень в модели OSI) в OpenVPN, рекомендую использовать его.

Теперь перейдем в PPP>Secrets, создаем учетную запись, выставляем параметры как на скриншоте. Дополнительно можем выделить статический локальный IP адрес клиенту в Remote Address, например 172.16.0.25 в моем случае.

В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-16

Затем создадим конфигурационный файл для подключения, обратите внимание, где замазано — там должен быть Ваш внешний IP адрес.

Также обратите внимание на cipher, там стоит none, т.е без шифрования. Хоть роутер и имеет аппаратное обеспечение для шифрования, но нагрузку оказывает достаточно сильную всё равно. Возможны также варианты AES-128-CBC AES-192-CBC AES-256-CBC в зависимости от необходимой мощности шифрования.

client
dev tun
proto tcp
remote x.x.x.x 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
keepalive 10 120
verb 3
remote-cert-tls server
cipher none
auth-user-pass auth.txt
route 0.0.0.0 0.0.0.0
redirect-gateway def1

В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-17

Пример конфигурации: тык

в auth.txt у нас будут храниться данные, указанные в Secrets в Mikrotik. На первой строчке файла должен находиться логин, на второй пароль и никак иначе.

Настройка OpenVPN на роутерах Mikrotik. Подключение

Теперь копируем файлы ca.crt client1.crt client1.key на клиентский ПК (в данном случае ноутбук), создаем auth.txt и вписываем необходимые данные. Все должно находиться в 1й директории. Затем скачиваем OpenVPN Connect тык

Установка предельно проста, поэтому в пояснении не нуждается.

В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-18

После установки и принятия соглашения нажимаем файл, потом выбираем наш конфиг. После этого подключение происходит автоматически.

В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-19

Как видим — указанный пользователь в Secrets, IP адрес из диапазона DHCP.

Теперь главное — сделаю Ping до своего сервера (который упоминался в начале статьи как сервер на Debian), чтобы проверить, есть ли к нему доступ и доходят ли пакеты, а затем попытаюсь подключиться по SSH до этапа ввода пароля. Всё проходит успешно.

В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-20
В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-21

Как видим — доступ есть. Теперь сделаем Speedtest, посмотрим какую скорость выдает данная конфигурация. Также учтем, что Wi-Fi в ноутбуке может выдавать в среднем 50МБит в секунду, несмотря на 5ГГц сеть. Сеть используется не моя, поэтому мы заходим полностью с внешнего канала.

В сегодняшней статье мы рассмотрим настройку OpenVPN сервера на роутере Mikrotik, а также подключимся через данный VPN к серверу внутри локальной сети нашего Mikrotik. Предупреждение!-22

Неплохой результат, нагрузка на роутер достигала 25% (что для 4х ядер и без шифрования многовато, когда в обычном использовании при 400МБит не выше 8%).

Возможные проблемы

Ошибка Time Out в логах, если у вас IP адрес не внешний (зачастую). В таком случае обратитесь к Вашему провайдеру для того, чтобы подключить услугу внешний/статический IP адрес. Стоимость ~150руб в месяц. Других проблем, если вы делали всё четко по инструкции быть не должно.

Надеемся, у вас получилась настройка OpenVPN сервера на роутерах Mikrotik

Читайте также как установить Docker на Ubuntu

Изучи Linux на нашем курсе