поставки оборудования
ICQ: 238-663
Skype: lantorg4
+38 (057) 780 - 40 - 63
+38 (095) 483 - 14 - 71
+38 (063) 638 - 79 - 24
+38 (067) 961 - 56 - 02
г. Харьков, ул. Благовещенская 13, оф. 13
ГлавнаяСтатьиНастройка → Настройка VPN через MikroTik - OpenVPN

Настройка VPN через MikroTik - OpenVPN

Настройка VPN через MikroTik - OpenVPN

В предыдущей статье мы писали о настройке VPN через MikroTik с помощью протоколов PPPoE и PPTP. Это самые популярные способы туннелирования. Сегодня мы остановимся на OpenVPN - также распространенном решении VPN-туннелей на роутерах Микротик.

Особенности OpenVPN на MikroTik

OpenVPN имеет много преимуществ, благодаря которым он по-прежнему один из самых популярных протоколов для поднятия VPN туннелей:

  • простота настройки;
  • надежность и защищенность благодаря сертификатам;
  • универсальность - удаленный доступ можно организовать с устройств с любой операционной системой;
  • отсутствие проблем с NAT.

Однако отметим, что возможности OpenVPN на MikroTik урезаны:

  • нет сжатия LZO;
  • нет UDP, хотя именно он является предпочтительным для OpenVPN как простой и легковесный транспорт;
  • скорость передачи данных не слишком высока;
  • нет возможности присваивать адреса через другой DHCP, их выдает только сам Mikrotik.

Поднятие OpenVPN на MikroTik состоит из 3 этапов:

  • генерация сертификатов;
  • настройка OpenVPN сервера на MikroTik;
  • настройка клиента.

Генерация сертификатов для OpenVPN

Сертификаты для сервера и клиента можно создать средствами самого OpenVPN (Easy-RSA), а можно с помощью ресурса CAcert.org. Рассмотрим создание самоподписанных сертификатов посредством Easy-RSA.

Скачиваем и устанавливаем OpenVPN.

Идем на официальный сайт http://openvpn.net/ и скачиваем версию ПО, которая подходит для нашей системы.
Установка OpenVPN
Далее устанавливаем OpenVPN, галочки можно снять только с неважных пунктов (например, добавление ярлыка программы на панель быстрого доступа и в меню Пуск, ассоциации файлов).

Установка OpenVPN для генерации сертификатов

  Редактируем параметры easy-rsa OpenVPN.

После установки идем в папку с программой, в каталог easy-rsa

и открываем с помощью блокнота файл vars.bat.sample, редактируем его.

Если мы создаем дубликат папки easy-rsa (а в этом есть смысл) и работаем в нем, то необходимо отредактировать строку, прописав в ней новый путь к папке:

set HOME=%ProgramFiles%\OpenVPN\easy-rsa

Значение строки set KEY_SIZE=1024 можно поменять на 2048 (как сказано в комментариях в файле - если вы параноик), но учтите, что производительность уменьшится.

Далее редактируем следующие строки, проставляя в них актуальные для себя значения (пустыми параметры оставлять нельзя):

set KEY_COUNTRY=UA

set KEY_PROVINCE=Harkiv
set KEY_CITY=Harkiv
set KEY_ORG=OpenVPN
set KEY_EMAIL=admin@lantorg.com
set KEY_CN=server
set KEY_NAME=server
set KEY_OU=lantorg
set PKCS11_MODULE_PATH=changeme
set PKCS11_PIN=1234

Последние два параметра можно не менять.

После чего сохраняем файл под именем vars.bat.

Если при сохранении vars.bat в этом же каталоге система выдает ошибку:

Ошибка сохранения vars.bat

то сохраните файл вначале на рабочем столе, а потом перенесите в этот каталог.

 Выполняем генерацию сертификатов для OpenVPN под MikroTik.

Работаем в командной строке Windows (cmd), запустив ее от имени администратора.

 Переходим в нужный каталог: cd "C:\Program Files\OpenVPN\easy-rsa"

 Набираем команду vars и жмем энтер.

 Набираем команду clean-all и жмем энтер.

Следующий этап генерации сертификатов

Если мы видим надпись, как на изображении - "Скопировано файлов - 1.", значит, все сделано правильно.

 Набираем команду build-ca. Программа начинает генерацию публичного сертификата OpenVPN и запрашивает у нас значения параметров. Если на вопрос в командной строке мы просто жмем энтер, то программа подставляет значения по умолчанию, которые мы вписали в файл vars.bat. Останавливаемся, когда снова появляется строка C:\Program Files\OpenVPN\easy-rsa.

 Даем команду на генерацию сертификата сервера OpenVPN для MikroTik: build-key-server имя_сертификата. В нашем случае пишем 

build-key-server server, на вопрос "Sign the certificate?" отвечаем y, точно также на вопрос "1 out of 1 certificate requests certified, commit?", на остальные просто жмем энтер.

 Даем команду на генерацию сертификата клиента - build-key client. Имя сертификата (Common Name) должно быть уникальным и не совпадать с другими сертификатами. Поэтому на этот вопрос отвечаем - client. Здесь также в конце появятся два вопроса, как в предыдущем пункте, и мы тоже отвечаем на них - y.

Все, теперь в папке C:\Program Files\OpenVPN\easy-rsa\keys лежат все созданные ключи и сертификаты OpenVPN.

Установка сертификатов OpenVPN и настройка сервера на MikroTik

Из созданных нами сертификатов и ключей нас интересуют 3 файла:

  • ca.crt,
  • server.crt,
  • server.key.

 Импортируем сертификаты OpenVPN в ОС MikroTik.

Заходим с помощью WinBox на роутер Микротик, на котором мы будем поднимать OpenVPN сервер. Копируем 3 вышеуказанных файла из папки, где они лежат, и вставляем с помощью меню: Files - Paste.

Вставка сертификатов OpenVPN в Winbox MikroTik
Далее импортируем их. Для этого используем меню WinBox: System - Certificates - выбор сертификата - кнопка Import.
Импорт производим в следующем порядке: ca.crt => server.crt => server.key.

После этого в окне Certificate List добавятся две записи: публичного сертификата CA и сертификата OpenVPN сервера. В первом столбце записи сертификата сервера должны стоять две буквы - KR. Если вы видите там что-то другое, попробуйте еще раз импортировать файл ключа (*.key).

Сертификаты OpenVPN после импорта

  Создаем PPP-профиль на роутере MikroTik.

Если подключение по VPN-тоннелю будет разрешено с нескольких IP-адресов, нам нужно создать их пул. Идем в IP -> Pool, создаем его и присваиваем имя.

Если подключение по тоннелю будет производиться с одного  IP-адреса, то пропускаем этот момент.

 Создаем PPP-профиль. Для этого идем: PPP - Profiles. Добавляем его кнопкой +.
В поля вписываем:
  • имя профиля,
  • Local Address - адрес роутера Микротик, к которому будут подключаться клиенты. Он должен лежать в одой подсети с Remote Address
  • Remote Address- здесь пишем либо один IP-адрес клиента, либо имя ранее созданного пула адресов.

Остальные настройки не трогаем.

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

 Настраиваем сервер OpenVPN на роутере MikroTik.

Идем в меню PPP- Interface - OVPN Server.

  • Активируем его, поставив галочку в пункте Enabled.
  • В поле mode оставляем IP (IP-туннелирование по умолчанию) или выставляем ethernet (режим сетевого моста), это L3 и L2 соответственно. Чаще всего используется IP.
  • Default Profile - выбираем профиль, который мы создали ранее.
  • Certificate - сертификат сервера.
  • require-client-certificate - если ставим галку, то сервер при подключении проверяет сертификат клиента. Если нет - то не проверяет, и настройка клиента при этом упрощается.

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

 Создаем и настраиваем пользователя.

Идем: PPP - Secrets и добавляем пользователя. Тут все просто: имя, пароль, сервис и профиль.

Создание пользователя OpenVPN

Необходимо также в настройках клиента предусмотреть синхронизацию времени с сервером. Вначале убеждаемся, что у нас выставлена правильная тайм-зона (меню System - Clock). Далее идем в меню System - SNTP Client и прописываем адрес NTP сервера (на скриншоте указан локальный, но можно взять любой, к примеру 85.21.78.91).

 Настраиваем разрешающее правило фаерволла.

Идем IP - Firewall - Filter Rules и разрешаем трафик на порт OpenVPN:

  • В поле Chain ставим input.
  • Protocol - 6(tcp).
  • Dst. Port - 1194.
  • In. Interface - прописываем название интерфейса, на который идет входящий трафик.

Настройка правила

Активируем правило на вкладке Action:

Напомним, что разрешающее правило в списке правил должно быть выше запрещающих, иначе оно не будет работать.

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

Если мы не используем клиентские сертификаты (в настройках сервера не отмечали галочкой пункт require-client-certificate), то настроить клиент OpenVPN будет быстрее и проще. Нам не нужно будет копировать сертификаты для клиента, только создать в меню PPP - Interfaces новую запись OVPN Client и и на вкладке Dial Out прописать:

  • адрес OpenVPN сервера (поле Connect To),
  • логин и пароль пользователя (поля User и Password),
  • порт соединения,
  • тип аутентификации и шифрования (поля Auth и Cipher).

Если мы используем сертификаты, читаем дальше.

 Настройка второго роутера Микротик как клиента OpenVPN.

 Так же, как и при настройке сервера, копируем из папки C:\Program Files\OpenVPN\easy-rsa\keys и вставляем в раздел Files файлы сертификатов и ключей OpenVPN. Только теперь это будут:

  • ca.crt,
  • client.crt,
  • client.key.

 После этого поочередно импортируем их, используя меню System – Certificates - выбор сертификата - кнопка Import.

 После успешного импорта в строке сертификата должны появиться буквы KT

Импорт сертификата клиента OpenVPN

 Далее настраиваем соединение, практически так же, как и в случае без сертификатов. Создаем в меню PPP - Interfaces новую запись OVPN Client и и на вкладке Dial Out прописываем:

  • адрес OpenVPN сервера (поле Connect To),
  • логин и пароль пользователя (поля User и Password),
  • порт соединения,
  • наименование сертификата,
  • тип аутентификации и шифрования (поля Auth и Cipher).

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

Все, осталось проверить, поднялось ли соединение.

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


 
Копируем ранее созданные нами файлы ca.crt, client.crt, client.key из папки C:\Program Files\OpenVPN\easy-rsa\keys в каталог C:\Program Files\OpenVPN\config.

 Создаем здесь же обычный текстовый файл, который сохраняем как auth.cfg (обратите внимание, меняем и расширение тоже).

 Открываем файл auth.cfg для редактирования в блокноте и вписываем в него 2 строки: первую -логин пользователя, вторую - пароль, которые мы задали на сервере. Сохраняем файл.

 Создаем еще один текстовый файл, который сохраняем как client.ovpn (включая смену расширения).

 Файл client.ovpn редактируем следующим образом:

  1. proto tcp-client
  2. remote 123.123.123.123 # здесь внешний адрес нашего роутера MikroTik
  3. dev tap
  4. nobindpersist-key
  5. tls-client
  6. ca ca.crt #указываем имя CA сертификата
  7. cert client.crt #указываем имя сертификата клиента
  8. key client.key # указываем имя файла-ключа для клиента
  9. ping 10
  10. verb 3 # чем выше этот параметр - тем выше уровень логирования
  11. ns-cert-type server
  12. cipher AES-256-CBC
  13. auth SHA1
  14. pull
  15. auth-user-pass auth.cfg # здесь имя файла с логином-паролем пользователя
  16. route-method exe 
  17. route-delay 2 
  18. route 192.168.1.0 255.255.255.0 172.21.108.1 # эта строка задает маршрут, здесь 172.21.108.1 - адрес микротика из PPP-профиля, а 192.168.1.0 255.255.255.0 - сеть и маска сети.

 Файл сохраняем. Запускаем OpenVPN GUI  (исполняемый файл лежит в папке C:\Program Files\OpenVPN\bin)

Запускаем обязательно от имени администратора!

Оцените, пожалуйста, полезность/интересность статьи. Нам важно ваше мнение!

Оценка:   5.0 (голосов 5)
Поделиться с друзьями:                                                                             03.06.2015

Также советуем почитать:



Комментарии

  • Nikolay 23.11.2016, 16:11

    Не импортируются сертификаты в микротик из Files.
    OS 6.5, модель RB2011UiAS
    В чем может быть причина?
  • Дмитрий 22.11.2016, 07:52
    Иван, желательно посмотреть на config.
  • Дмитрий 22.11.2016, 07:40
    Oleg. Да, будет, хотя и будет происходить сжатие
  • Kristen 09.11.2016, 11:47
    KR не ставится. Только KT если создавать сертификаты этим способом.
    Работает только на Windows. Если взять эти же настройки и вместо dev tap написать dev tun - то ничего не будет работать.
  • Oleg 07.11.2016, 05:46
    Будет ли работать OpenVPN, если корпоративный прокси режет ICMP ?
  • Иван 24.10.2016, 19:06
    Options error: Unrecognized option or missing parameter(s) in Client.ovpn:4: nobindpersist-key (2.3.12)

    Что бы это значило?
  • Комментарий администратора:
    User, спасибо за отзыв, мы рады, что информация Вам помогла :)
  • user 01.07.2016, 15:36
    безмерно благодарен за рабочий вариант

Написать комментарий

Ссылки на другие сайты из комментариев удаляются. Спасибо за понимание.


Подписаться на получение новостей
* обязательные поля
Не чаще 1 письма в неделю. Только полезная информация. Убедитесь сами – посмотрите наш архив рассылок.