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

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

Бывает, что пользователи сталкиваются с проблемой настройки удалённого доступа на mikrotik или на несколько.

Чаще этот вопрос приходиться решать, когда вы работаете на нескольких объектах и не можете регулярно физически присутствовать около оборудования.

Сейчас мы поможем Вам разобраться, как настроить OpenVPN сервер на mikrotik, в том числе клиенты на mikrotik и компьютере под ОС Windows.

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

Этапы:

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

  • Создание сервера OpenVPN на Mikrotik

  • Создание клиента OpenVPN на ПК

  • Создание клиента OpenVPN на Mikrotik

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

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

  1. Включаем все галочки и устанавливаем.

Необходимо будет сгенерировать сертификаты и ключи при помощи EasyRSA Certificate Management Scripts.

  1. Указываем стандартный путь C:\Program Files\OpenVPN. Далее он будет необходим.

  2. Когда установка завершилась заходим в C:\Program files\OpenVPN\easy-rsa

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

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

Так как для сохранения на прямую в исходную папку не хватает прав, производим вышеописанные манипуляции.

  1. Правим файл openssl-1.0.0.cnf

Открываем его блокнотом или notepad++

Ищем строку:

default_days = 3650 # how long to certify for

Она отвечает за время действия сертификата. Если указано иное значение — то исправляем на 3650 (10 лет).

Сохраняем.

  1. От имени администратора открываем командную строку:

Пуск — Все программы — Стандартные

Ищем «Командная строка», кликаем по ней правой кнопкой мыши и в открывшемся окне выбираем — Запуск от имени администратора.

Пока процесс генерации сертификатов не окончится командную строку не закрываем.

7. Поочередно выполняем следующие три команды:

cd C:\Program files\OpenVPN\easy-rsa

vars

clean-all

Должно появиться 2 сообщения «Скопировано файлов: 1».

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

  1. Генерируем ключ Диффи Хельмана — команда build-dh

Подождите пока закончится процесс генерации.

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

Нажимаем клавишу Enter до окончания всех вопросов.

В командной строке будет путь C:\Program files\OpenVPN\easy-rsa

Заданные значения менять не нужно. Их прописывали в файле vars.bat.

  1. Командой build-key-server server Генерируем сертификат сервера.

Пока не дойдем до вопросов нажимаем Enter (параметры остаются по умолчанию, прописанные в vars.bat).

На следующие вопросы отвечаем нажатием Y:

Sign the certificate? (Создание сертификата на 3650 дней)

1 out of 1 certificate requests certified, commit? (Запись сертификата в базу)

11) Генерируем сертификат клиента build-key client

Нажимаем Enter (параметры остаются по умолчанию, прописанные в vars.bat), пока не дойдём до вопросов Common Name и Name.

На них отвечаем client— это название создаваемого сертификата.

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

12) Генерация сертификатов завершена.

В папке C:\Program files\OpenVPN\easy-rsa\keys будут следующие файлы:

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

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

При помощи программы Winbox подключаемся к Mikrotik.

Чтобы загрузить следующие 3 файла - ca.crt, server.crt, server.key необходимо:

В меню выбрать Files и перетащить их из папки C:\Program files\OpenVPN\easy-rsa\keys

  1. Затем производим их импорт.

Последовательно выбираем System – Certificates — Import и в следующем порядке выбираем сертификаты:

ca.crt

server.crt

server.key

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

  1. Для VPN клиентов создаем пул адреса :

IP — Pool — add (+)

Вводим название openvpn-pool

Диапазон 172.30.0.2-172.30.0.253

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

PPP — Profiles — add (+)

Вводим название openvpn

Локальный адрес 172.30.0.1

Созданный Пул openvpn-pool

Остальные настройки должны остаться по умолчанию.

Нажимаем ОК.

  1. Приступим к созданию OpenVPNсервер

PPP — Interface — OVPN Server

Ставим галочку Enable

Выбираем порт1194

Выбираем наш профиль openvpn

Поставим галочку Require Client Certificate

Выберем наш сертификат server.crt

  1. Для подключения необходимо создать пользователя.

PPP — Secrets — add (+)

Вводим имя пользователя и пароль ovpn_user1

Выбираем Сервис ovpn и профиль openvpn

Создадим 2-х пользователей:

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

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

Для упрощения работы в дальнейшем, рекомендуем каждому VPN клиенту создавать отдельное уникальное имя пользователя.

Это позволит отслеживать всех подключенных VPN клиентов.

  1. Настроим фаервол

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) В блокноте или notepad++ откроем файл client.ovpn

Заменяем следующие строки:

#Протокол

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) С помощью программы Winbox подключимся к Mikrotik.

Для того,чтобы загрузить следующие 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

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

Посмотреть адрес можно:

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

В Mikrotik-сервере PPP-Active Connections

Last updated