Mikrotik openvpn server linux client

Содержание
  1. Mikrotik – Configuring OpenVPN Server + Linux client
  2. Import SSL Certificates + Root CA on the router
  3. Make dedicated IP pool for the VPN clients
  4. Create OpenVPN PPP Profile
  5. Create OpenVPN Client credentials
  6. Enable OpenVpn server
  7. Linux openvpn client configuration
  8. Activate Masquarading on Mikrotik
  9. Настройка OpenVPN сервера на Mikrotik
  10. Настройка времени на Mikrotik
  11. Создаем сертификаты для OpenVPN
  12. Способ 1. На Mikrotik’е.
  13. Способ 2. На Windows.
  14. Генерация сертификатов
  15. Поднимаем на Mikrotik OpenVPN сервер
  16. Что нужно знать до установки OpenVPN на Mikrotik
  17. Установка сервера OpenVPN на Mikrotik
  18. Подготовка Mikrotik
  19. Часовой пояс
  20. Синхронизация времени
  21. Создание сертификатов
  22. Корневой сертификат CA
  23. Сертификат для OpenVPN сервера Mikrotik
  24. Сертификат для клиента
  25. Экспортируем сертификат пользователя
  26. Настройка OpenVPN сервера
  27. Назначаем IP-адреса для OpenVPN
  28. Диапазон адресов
  29. Статические адреса
  30. Создаем профиль пользователей
  31. Создаем пользователей
  32. Запуск OpenVPN-сервера
  33. Открываем порт для OpenVPN
  34. Настройка клиентов
  35. Проблемы
  36. duplicate packet, dropping
  37. Комментарии

Mikrotik – Configuring OpenVPN Server + Linux client

Table of Contents

The first thing we must assure is the following:

– We have working configuration on our Mikrotik router (internet access + local network)

– We have generated SSL certfificate/key pair for the OpenVPN server

Import SSL Certificates + Root CA on the router

We can use FTP to upload the following files:

cacert.pem ( Root CA certificate)

openvpn.crt ( The certificate for openvpn serve)

openvpn_key.pem ( The private key )

After we upload the files through FTP (or another preferred method) we must import them.

1.1 Login to mikrotik web inteface

1.2 Navigate to [System] -> [Certificates]

1.3 Choose “Import” for all of the files

Make dedicated IP pool for the VPN clients

Login to the router, and navigate to the following menu:

[IP] –> [Pool] –> [Add New] :

Create OpenVPN PPP Profile

Navigate to:

[PPP] –> [Profiles] –> [ Create New]:

Create OpenVPN Client credentials

Navigate to:

[PPP] –> [Secrets] –> [Add New]

Enable OpenVpn server

Navigate to:

[PPP] –> [OVPN Server]

Linux openvpn client configuration

Make sure to copy “cacert.pem” to the current directory.

If you use the client under Windows OS, you must change the “dev tun1” line to “dev tap

Activate Masquarading on Mikrotik

This step is necessary for us to be able, to access internet through the VPN.

Navigate to: [IP] –> [Firewall] –> [Nat]

Add srcnat rule, for network: [192.168.89.0/24] with action [masquarading]

Источник

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

Роутеры Mikrotik позволяют настроить различные варианты VPN сервисов. В данной инструкции мы рассмотрим настройку OpenVPN. Будет выполнено:

  • Генерирование сертификатов.
  • Настройка сервера OpenVPN.
  • Тестовое подключение к серверу.

Подключение к Mikrotik осуществим при помощи Winbox, однако ход настройки через веб-интерфейс аналогичен.

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

Для правильной работы роутера с сертификатами, необходимо корректно настроенное время. Переходим в SystemClock:

Проверяем правильность установки времени и часового пояса.

Если время задано неправильно, выбираем подходящий часовой пояс. После переходим в терминал и задаем настройки для сервера, с которым мы будем синхронизировать время:

/system ntp client

set enabled=yes primary-ntp=[:resolve time.nist.gov] secondary-ntp=[:resolve time.windows.com]

* в данном примере мы активируем синхронизацию времени с серверами time.nist.gov и time.windows.com.

Создаем сертификаты для OpenVPN

Сертификаты мы можем создать несколькими способами. Разберем два — на роутере Mikrotik и с помощью утилиты на компьютере с Windows.

Способ 1. На Mikrotik’е.

Проще и быстрее всего сгенерировать сертификаты на самом роутере.

Читайте также:  Kali linux nethunter для андроид

1. Открываем терминал и создаем последовательность для центра сертификации:

> /certificate add name=template-ca country=»RU» state=»Sankt-Petersburg» locality=»Sankt-Petersburg» organization=»Organization» unit=»DMOSK» common-name=»CA» key-size=2048 days-valid=3650 key-usage=crl-sign,key-cert-sign

> /certificate sign template-ca ca-crl-host=127.0.0.1 name=»ca»

* первая команда создает файл-шаблон запроса, на основе которого мы генерируем сертификаты второй командой. В шаблоне мы указываем опции для сертификата — так как сам сертификат самоподписанный, можно указать любые значения и это никак не отразится на его использовании (стоит только указать корректные значения для стойкости шифрования key-size и срока действия сертификата days-valid).

2. Генерируем сертификат сервера OpenVPN:

> /certificate add name=template-server country=»RU» state=»Sankt-Petersburg» locality=»Sankt-Petersburg» organization=»Organization» unit=»DMOSK» common-name=»SERVER» key-size=2048 days-valid=3650 key-usage=digital-signature,key-encipherment,tls-server

> /certificate sign template-server ca=»ca» name=»server»

* как и в примере выше, мы сначала создали файл запроса и на его основе — сам сертификат. В качестве центра сертификации мы указываем созданный ранее сертификат ca.

Способ 2. На Windows.

Если по каким-либо причинам нам не подходим первый способ создания сертификатов (например, нужны особые опции, которые не поддерживаются роутером), воспользуемся способом, описанным ниже.

Нам нужно будет установить утилиту для генерирования сертификатов, создать их и скопировать на роутер.

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

И так, заходим на сайт OpenVPN и переходим на страницу загрузки. Скачиваем openvpn-install для нашей операционной системы, например, Windows 7 или 10:

Запускаем установку клиента — снимаем все галочки, оставляем EasyRSA 2 Certificate Management Scripts:

Завершаем установку. После чего в папке C:\Program Files\OpenVPN\easy-rsa создаем файл vars.bat со следующим содержимым:

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=2048
set KEY_COUNTRY=RU
set KEY_PROVINCE=Sankt-Petersburg
set KEY_CITY=Sankt-Petersburg
set KEY_ORG=Organization
set KEY_EMAIL=master@dmosk.ru
set KEY_CN=DMOSK
set KEY_OU=DMOSK
set KEY_NAME=server.domain.ru
set PKCS11_MODULE_PATH=DMOSK
set PKCS11_PIN=12345678

* где для нас имеют значение:

  • HOME оставляем, если не меняли путь установки программы по умолчанию.
  • KEY_DIR — каталог, куда будут генерироваться сертификаты.
  • KEY_CONFIG может быть разным — его лучше посмотреть в файле vars.bat.sample или по названию соответствующего файла в папке easy-rsa.
  • KEY_NAME желательно, чтобы соответствовал полному имени VPN-сервера; остальные опции можно заполнить произвольно.
  • опции KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, KEY_EMAIL, KEY_CN, KEY_OU — атрибуты для сертификата. Их можно оставить, как в данном примере или задать свои собственные.

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

Запускаем командную строку от имени администратора:

Переходим в каталог easy-rsa:

Источник

Поднимаем на Mikrotik OpenVPN сервер

OpenVPN — это одна из самых современных технологий VPN на сегодняшний день. Основное достоинство OpenVPN — это бесперебойная работа вне зависимости от качества канала интернет и заблокированных портов провайдерских маршрутизаторов. OpenVPN это своего рода «танк», который работает несмотря ни на что.

Поднимем сервер OpenVPN на маршрутизаторе Mikrotik любой модели. Самое главное, чтобы была RouterOS.

Что нужно знать до установки OpenVPN на Mikrotik

В Mikrotik OpenVPN немного урезан. Главные особенности:

  1. нет поддержки UDP . Только TCP ;
  2. нет LZO -компрессии;

По слухам, разработчики Mikrotik не хотят добавлять эти пункты, так как компания настаивает на использовании SSTP . По другим слухам UDP и LZO добавят в RouterOS 7.x.

Установка сервера OpenVPN на Mikrotik

Подготовка Mikrotik

Любой OpenVPN сервер требует точного времени всех узлов сети. Нужно настроить синхронизацию времени как клиента, так и сервера. Если синхронизация времени на всех десктопных операционных системах работает из коробки, то Mikrotik, на котором будет установлен OpenVPN сервер, нуждается в дополнительной настройке.

Часовой пояс

Первым делом устанавливаем правильный часовой пояс. Для этого нужно перейти в System — Clock и указать часовой пояс.

Читайте также:  Bsod 0xc000021a windows 10

Синхронизация времени

Указываем NTP -сервера для синхронизации времени:

Сами адреса можно взять отсюда – www.ntp-servers.net

В примере используются эти:

Через консоль это будет выглядеть так:

Создание сертификатов

Нам нужно создать минимум 3 сертификата:

  1. самоподписанный корневой сертификат для центра сертификации;
  2. сертификат для нашего роутера Mikrotik, который выступает OpenVPN-сервером;
  3. сертификат для клиента.

Для клиентов можно выпустить требуемое количество сертификатов.

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

Корневой сертификат CA

Создаем корневой сертификат для нашего центра сертификации. Переходим в System — Certificate

  • Name и Common Name — название, которое обычно именуется ca;
  • Country, State, Locality, Organization — это произвольные поля, которые заполняются для удобства опознавания сертификатов в будущем;
  • Days Valid — это время действия сертификата. Ставим 3650 дней = 10 лет.

На вкладке Key Usage отмечаем только:

Нажимаем кнопку Apply и затем Sign. В поле CA CRL Host указываем сами на себя – 127.0.0.1. Для запуска генерации сертификата, кликаем на Start. После окончания закрываем все окна.

Сертификат для OpenVPN сервера Mikrotik

Создание всех сертификатов очень похожи между собой. Для сертификата сервера OpenVPN Mikrotik, в полях Name и Common Name указываем ovpn-serv, а на вкладке Key Usage выбираем:

  • digital signature;
  • key encipherment;
  • tls server.

Нажимаем кнопку Apply и затем Sign. В поле CA выбираем – ca. Для запуска генерации сертификата, кликаем на Start. После окончания закрываем все окна.

Сертификат для клиента

Настало время выпускать клиентские сертификаты. Процедура та же самая. На вкладке Key Usage выбираем:

Нажимаем кнопку Apply и затем Sign. В поле CA выбираем – ca. Для запуска генерации сертификата, кликаем на Start. После окончания закрываем все окна.

В результате у нас должно получиться минимум 3 сертификата:

Если у Вас будет больше клиентов, то сертификатов будет больше.

Можно выпустить 1 клиентский сертификат и раздать всем пользователям OpenVPN сервера на Mikrotik. Это будет работать, но так делать не нужно. В случае, если Вам нужно будет отозвать один из клиентских сертификатов для уволенного сотрудника, то сделать это будет невозможно. У вас останется возможность только заблокировать учетную запись.

Экспортируем сертификат пользователя

Для экспорта клиентских сертификатов лучше всего использовать формат PKCS12, так как в результате вы получите 1 файл, который проще передать пользователю. Если нужно настроить подключение на телефонах с Android или IOS , то лучше экспортировать в формате PEM , так как далее нужно будет объединять сертификаты в конфигурационный файл.

Если использовать «устаревший» формат PEM , то будет 2 файла:

  1. user1.crt – открытая часть ключа пользователя;
  2. user1.key – закрытая часть ключа пользователя.

К ним нужно будет экспортировать корневой сертификат ca.crt. Без него работать не будет.

При формате PKCS12 файл всего один. Разница между PKCS12 и PEM только в удобстве.

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

Через консоль с паролем 12345678:

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

Назначаем IP-адреса для OpenVPN

Всем подключаемым пользователям необходимо назначить IP-адрес. Сделать это можно либо вручную, либо автоматически используя DHCP . В большинстве случаев используйте второй вариант.

Диапазон адресов

Для автоматической выдачи адресов vpn-клиентам достаточно создать pool-адресов. Для этого переходим в раздел IP — Pool .

Статические адреса

В исключительных случаях нужно выдать статический IP-адрес. Сделать это можно в разделе PPP — Secret при создании пользователей:

  • Local Address — адрес Mikrotik;
  • Remote Address — статический адрес клиента.

Более подробнее о создании пользователей пойдет ниже.

Читайте также:  Microsoft easy fix для windows 10

Создаем профиль пользователей

Профили в Mikrotik позволяют облегчить дальнейшее добавление пользователей. В профиле можно указать общие параметры для всех пользователей. Это избавит от необходимости указывать одни и те же данные для каждого пользователя отдельно.

В разделе PPP — Secret переходим на вкладку Profiles и создаем новый профиль.

На вкладке General:

  • Name — название профиля;
  • Local Address — адрес Mirotik;
  • Remote Address — созданный ранее pool для OpenVPN. Если подразумевается использовать статические IP, то поле оставляем незаполненным;
  • Bridge — выбираем мост сети;
  • Change TCP MSS = yes — автоматическая подстройка размера MSS ;
  • Use UPnP = no — автоматическая настройка сетевых устройств;

На вкладке Protocols:

  • Use MPLS = yes — передача пакетов с помощью меток. В теории ускоряет прохождение пакетов между маршрутизаторами;
  • Use Compression = yes — компрессия Mikrotik;
  • Use Encryption = yes — базовое щифрование.

На вкладке Limits:

  • Only One = yes — указываем для монопольного входа пользователей.

Создаем пользователей

В разделе PPP — Secret нужно включить возможность аутентификации по пользователю. Для этого кликаем на кнопку PPP Authentication&Accounting и проверяем, чтобы была установлена галочка напротив Accounting.

Делаем через консоль:

После этого можно приступать к созданию пользователей:

  • Name — имя клиента (только латинские буквы и цифры, спец. символы не всегда работают корректно);
  • Password — пароль. Пароль, после создания пользователя, будет скрыт звездочками, но есть способ узнать пароль MikroTik;
  • Service = ovpn — сервис, указав который ограничиваем возможность подключения только к OpenVPN;
  • Profile = ovpn — созданный ранее профиль;
  • Remote Address — статический адрес. Если это не требуется, оставляем поле пустым.

Тоже самое можно сделать через консоль:

Запуск OpenVPN-сервера

В разделе PPP — Interface кликаем на кнопке OVPN Server и настраиваем как на скриншоте:

  • Default Profile = ovpn — созданный профиль;
  • Certificate = ovpn-serv — выбираем сертификат, который создавали для сервера;
  • Require Client Certificate — обязательное наличие сертификата при авторизации;
  • Auth = sha1 — хеширование пароля при его первой передаче по незащищенному каналу при аутентификации;
  • Cipher = aes 256 — шифрование передачи данных.

И не забываем поставить галочку напротив Enabled, чтобы включить сервер.

Открываем порт для OpenVPN

В разделе IP — Firewall на первой вкладке Filter Rules добавляем новое правило:

  • Chain = input — так как мы хотим дать доступ извне к самому маршрутизатору, то выбираем цепочку input;
  • Protocol = 6 (tcp) — протокол TCP , так как только этот протокол поддерживает Mikrotik для OpenVPN;
  • Dst.Port = 1194 — удаленный порт, который будет открыт на маршрутизаторе.

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

Более подробнее о настройке клиентов на разных ОС можно прочитать здесь:

Проблемы

duplicate packet, dropping

Сама фраза в log`ах duplicate packet, dropping не является ошибкой, если при этом происходит подключение.

Если подключение не происходит, причина чаще всего в несоответствии логина или пароля. Подробнее нужно смотреть логи клиента.

Комментарии

  • Денис Юрьевич прокомментировал MultiKey не устанавливается, отозван сертификат
  • Павел Urman прокомментировал Как закрыть крышку часов Tissot?
  • AdminWay прокомментировал kernel_task грузит проц на 100% на MacOS BigSur
  • Лев прокомментировал kernel_task грузит проц на 100% на MacOS BigSur
  • AdminWay прокомментировал kernel_task грузит проц на 100% на MacOS BigSur

Увидеть скрытые пароли PPP-Secret в MikroTik

Проброс портов 4G-модема Yota на Mikrotik с подключенной услугой «Статический IP»

Объединение сертификаторов и файла авторизации в конфигурационный файл клиента OpenVPN

Поднимаем на Mikrotik OpenVPN сервер

Как сделать tilt-shift эффект в Gimp?

Если Вы используете материал моего блога, то будьте добры поставьте ссылку.

Источник

Оцените статью