Настройка OpenVPN сервера и клиента на Mikrotik

Настройка OpenVPN сервера и клиента на Mikrotik

Бывают случаи, когда необходимо настроить удалённый доступ на mikrotik или даже на несколько. Особенно это актуально, если вы обслуживаете несколько объектов и нет возможности физически постоянно присутствовать возле оборудования. В этом статье мы разберём, как настроить OpenVPN сервер на mikrotik, а также клиенты на mikrotik и компьютере под управлением Windows.

Для работы нам понадобится Белый IP адрес (он и будет адресом сервера в наших настройках) для доступа к серверу из интернета и сертификаты безопасности.

Краткий план данной статьи:

Создание сертификатов и ключей OpenVPN

1) Скачаем программу OpenVPN с официального сайта.

2) Устанавливаем, выбрав все галочки.

EasyRSA Certificate Management Scripts нам обязательно понадобится для генерации ключей и сертификатов.

3) Указываем путь. В дальнейшем он нам понадобится. В нашем случае используем стандартный C:\Program Files\OpenVPN

4) После установки заходим в C:\Program files\OpenVPN\easy-rsa

Открываем vars.bat (если его нет, то vars.bat.sample) блокнотом или NotePad++ и редактируем его.

set KEY_COUNTRY=RU set KEY_PROVINCE=MoscowRegion set KEY_CITY=MOSCOW set KEY_ORG=OpenVPN set KEY_EMAIL=mail@mail.com set KEY_CN=server set KEY_NAME=server set KEY_OU=OU set PKCS11_MODULE_PATH=changeme set PKCS11_PIN=1234

В строках set KEY_CN и set KEY_NAME указываем server Последние 2 строки — параметры по умолчанию. Остальное можете редактировать под себя.

Сохраняем файл как vars.bat на рабочий стол, а затем копируем в папку C:\Program files\OpenVPN\easy-rsa Чаще всего сохранить напрямую в исходную папку не получится — не хватает прав.

5) Отредактируем файл openssl-1.0.0.cnf Так же открываем с помощью блокнота или notepad++

Нас интересует строка: default_days = 3650 # how long to certify for Она отвечает за время жизни сертификата. Если значение отличается — то указываем 3650 (10 лет). Сохраняем.

6) Запускаем командную строку от имени администратора: Пуск — Все программы — Стандартные Правой кнопкой мыши на «Командная строка» и в меню — Запустить от имени администратора. Командную строку не закрываем до конца процесса генерации сертификатов.

7) Поочередно выполняем следующие три команды: cd C:\Program files\OpenVPN\easy-rsa vars clean-all

В итоге мы должны увидеть сообщение «Скопировано файлов: 1» дважды.

В папке C:\Program files\OpenVPN\easy-rsa появится папка keys с двумя файлами index.txt и serial.

8) Генерируем ключ Диффи Хельмана — команда build-dh Генерация займёт некоторое время. Дождитесь окончания.

9) Генерируем ключ центра сертификации (CA) — build-ca

Нажимаем Enter, пока не закончатся вопросы. Вы увидите в командной строке путь C:\Program files\OpenVPN\easy-rsa

Нет смысла менять заданные значения. Вы ранее прописали эти параметры в файле vars.bat

10) Генерируем сертификат сервера — команда build-key-server server Нажимаем Enter (оставляем параметры по умолчанию, прописанные в vars.bat), пока не дойдём до вопросов. Sign the certificate? (Создание сертификата на 3650 дней) 1 out of 1 certificate requests certified, commit? (Запись сертификата в базу) На вопросы отвечаем нажатием Y

11) Генерируем сертификат клиента build-key client Нажимаем Enter (оставляем параметры по умолчанию, прописанные в vars.bat), пока не дойдём до вопросов Common Name и Name. На эти вопросы отвечаем client — это название создаваемого сертификата.

На вопросы Sign the certificate? и 1 out of 1 certificate requests certified, commit? отвечаем нажатием Y

12) Генерация сертификатов окончена. В папке C:\Program files\OpenVPN\easy-rsa\keys можно увидеть следующие файлы:

Сертификаты для сервера и клиентов готовы.

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

Подключимся к Mikrotik с помощью программы Winbox. Загрузим 3 файла: ca.crt, server.crt, server.key Для этого в меню нажмём Files и перетащим их из папки C:\Program files\OpenVPN\easy-rsa\keys

13) Далее необходимо их импортировать. Откроем System – Certificates — Import и поочерёдно выберем сертификаты в этом порядке: ca.crt server.crt server.key

После импорта появятся две записи:

14) Создадим пул адресов для VPN клиентов:

IP — Pool — add (+) Введём название openvpn-pool Диапазон 172.30.0.2-172.30.0.253

15) Создадим PPP профиль.

PPP — Profiles — add (+) Введём название openvpn Локальный адрес 172.30.0.1 Созданный Пул openvpn-pool Остальные настройки оставляем по умолчанию. Нажимаем ОК.

16) Создадим непосредственно сам OpenVPN сервер PPP — Interface — OVPN Server Включаем Enable Указываем порт 1194 Выбираем наш профиль openvpn Поставим галочку Require Client Certificate Выберем наш сертификат server.crt

17) Создадим пользователя для подключения. PPP — Secrets — add (+) Введём имя пользователя и пароль ovpn_user1 Выбираем Сервис ovpn и профиль openvpn

Создадим 2 пользователя:

ovpn_user1 для клиента на компьютере

ovpn_mikrotik1 для клиента на Mikrotik

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

18) Настроим фаервол IP — Firewall — add(+) Во вкладке General указываем: Chain — input Protocol — tcp Порт 1194 Интерфейс — ether1 (Если интернет идёт через него) Вкладка Action: Action — accept Затем ОК

Сервер настроен, теперь приступим к настройке VPN клиентов.

Настройка VPN клиента на компьютере под управлением Windows

19) Копируем в папку C:\Program files\OpenVPN\config\

из C:\Program files\OpenVPN\easy-rsa\keys следующие файлы ca.crt, client.crt, client.key.

из C:\Program files\OpenVPN\simple-config\ client.ovpn

Создадим текстовый файл pass, где укажем логин и пароль от созданного VPN клиента на сервере. В нашем случае это ovpn_user1

20) Откроем файл client.ovpn с помощью блокнота или notepad++ Изменяем следующие строки: #Протокол proto tcp #Адрес и порт сервера remote ваш.ip.адрес.сервера 1194

#Проверяем правильность названия ключей ca ca.crt cert client.crt key client.key

И в самом конце добавим строчку auth-user-pass «C:\\Program files\\OpenVPN\\config\\pass.txt» В итоге у нас получатся следующие настройки в этом файле: client dev tun proto tcp remote адрес_сервера 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert user.crt key user.key remote-cert-tls server cipher AES-128-CBC verb 3 auth-user-pass «c:\\Program Files\\OpenVPN\\config\\pass.txt»

Остальные настройки закомментированы решеткой «#» или точкой с запятой «;»

21) Сохраняем файл. Если сохранить в папку не получается — сохраняем на рабочий стол, а затем копируем с заменой.

Запускаем OpenVPN и подключаемся.

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

Настройка VPN клиента на Mikrotik

Имея настроенный OpenVPN сервер, можно настроить доступ на Mikrotik даже там, где нет белого IP адреса.

22) Подключимся к Mikrotik с помощью программы Winbox. Загрузим 2 файла: client.crt, client.key

Для этого в меню нажмём Files и перетащим их из папки C:\Program files\OpenVPN\easy-rsa\keys

23) Далее необходимо их импортировать. Откроем System – Certificates — Import и поочерёдно выберем сертификаты в этом порядке: client.crt client.key

24) Настроим параметры сервера: PPP — add(+) — OVPN client

Во вкладке General указываем имя Name — openVPN1 (любое, на ваше усмотрение) Вкладка Dial Out: Connect To — Адрес сервера(Внешний IP адрес главного роутера Mikrotik) Port 1194 Указываем пользователя и пароль, который мы создали на VPN сервере В нашем случае это пользователь ovpn_mikrotik1 Сертификат Client.crt

Нажимаем ОК

25) В терминале набираем /interface ovpn-client monitor openVPN1 Должно появиться сообщение со статусом connected

Теперь к этому mikrotik можно подключиться через VPN по адресу, который он получил от VPN сервера

Посмотреть адрес можно: В Mikrotik-клиенте в IP-Adresses строка с нашим интерфейсом openVPN1

📎📎📎📎📎📎📎📎📎📎