fbpx
linux
26

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

0
(0)

В сегодняшней статье мы рассмотрим настройку 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для знающих:

Также у меня есть отдельная подсеть для других 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

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

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

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

Затем создадим конфигурационный файл для подключения, обратите внимание, где замазано - там должен быть Ваш внешний 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также как настроить OpenVPN на Ubuntu

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

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Сожалеем, что вы поставили низкую оценку!

Позвольте нам стать лучше!

Расскажите, как нам стать лучше?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Читают сейчас
Меню

Чат-бот, который учит Linux и DevOPS