Разное

Openvpn client mikrotik настройка: Настройка OpenVPN-сервера на роутерах Mikrotik

Содержание

Mikrotik openvpn client настройка — Вэб-шпаргалка для интернет предпринимателей!

Мне понадобилось использовать роутер mikrotik в качестве клиента openvpn с заменой шлюза по-умолчанию на сервер openvpn. Проще говоря мне нужно было скрыть весь трафик и направить его только через vpn сервер. В openvpn это реализуется очень просто, достаточно на сервере указать для конкретного пользователя параметр redirect-gateway def1. На клиенте под windows это без проблем работает. В микротике пришлось разбираться.

Данная статья является частью единого цикла статьей про Mikrotik.

Введение

Расскажу для чего мне это нужно. Есть оператор Yota с безлимитным интернетом за разумные деньги. У них есть разные тарифы в зависимости от устройства, в котором используется симка. Самый дешевый тариф для смартфона. Я купил обычный USB модем, разлочил его, чтобы он работал в сети Yota. Перепрошил специальной прошивкой, чтобы он стал похож на смартфон. Пишу очень просто, потому что не хочется на этом останавливаться. Это совсем другая тема. В интернете есть много информации на тему обхода блокировок yota. Подробнее об этом я рассказал отдельно в материале Настройка интернета в загородном доме — mikrotik + usb 4g lte модем + антенна MIMO для усиления сигнала + yota.

Мне нужно было замаскировать весь трафик локальной сети, которая будет пользоваться интеренетом через usb модем. Yota различными способами пытается бороться с подобной работой. Делается это через определние TTL пакетов и анализ ресурсов, к которым обращаются пользователи. TTL легко изменяется на конечных устройствах, либо на самом роутере. С анализом ресурсов я долгое время боролся редактируя файл hosts, но после установки windows 10 это перестало помогать. Винда постоянно куда-то лезла и идентифицировала себя при этом как компьютер, а не смартфон.

Я решил кардинально решить проблему и завернуть весь локальный трафик в шифрованный vpn туннель. Для этого настроил openvpn сервер и сделал конфигурацию для учетной записи с заменой шлюза по-умолчанию на openvpn сервер. Дальше нужно было настроить на miktotik openvpn клиент таким образом, чтобы он весь трафик заворачивал в vpn. Когда используешь windows клиент, ничего настраивать не надо. Указываешь на openvpn сервере настройку у клиента:

И все, при подключении все маршруты прописываются как надо и твой внешний ip при серфинге становится равен ip адресу openvpn сервера. Весь трафик идет в тоннель. На микротике это не работало, маршруты надо было писать вручную. Получилось у меня не сразу, расскажу обо всем по порядку.

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

Настраиваем стандартным образом подключение openvpn клиента к серверу с авторизацией по сертификату. Для этого берем сертификат и приватный ключ для openvpn клиента и копируем на микротик через стандартное средство просмотра файлов Files:

Потом идем в System -> Сertificates и имортируем по очереди сначала сертификат, а потом приватный ключ:

Обращаю внимание на символы KT слева от названий сертификатов. Они обязательно должны быть у вас. Если сертификат и приватный ключ не соответствуют друг другу, то одного символа не будет. В моем примере уже есть 2 сертификата только потому, что я экспериментировал с двумя. Вам достаточно будет одного.

Дальше идем настраивать параметры сервера. Открываем разздел PPP, нажимаем на плюс и выбираем OVPN Client:

На вкладке General можно ничего не указывать, использовать все по-умолчанию. На следующей вкладке Dial Out указываем адрес vpn сервера, порт, на котором он принимает входящие соединения и сертификат. Все остальное можно не трогать. В поле User можно писать все, что угодно.

Сохраняете подключение. Теперь клиент на микротике должен автоматически подключиться к openvpn серверу. Если этого не происходит, смотрите в чем проблема в логах на роутере или на сервере. На данном этапе все стандартно, должно заработать без проблем. Инструкций по этому вопросу в интернете море.

Замена шлюза по-умолчанию для маскировки всего трафика

Настройка на сервере для клиента, которая указывает заменять шлюз по-умолчанию, на микротике не работает. Если указать в настройках openvpn сервера галочку на параметре Add Default Route, то тоже ничего работать не будет. Просто не будет пускать в интернет. Хотя для меня это было не понятно. По идее, это как раз то, что нужно. Не могу сейччас привести скриншот маршрутов, коотрые будут прописаны, если установить эту галку. Я пишу статью, подключившись к роутеру удаленно, скрин сделать не могу, потеряю доступ.

Я могу привести только гарантированно работающий вариант. Сейчас расскажу смысл проделанного и приведу список маршрутов, которые добавил.

  1. Первым делом создаем маршрут до openvpn сервера с Distance 1.
  2. Маршуруту по-умолчанию, который обеспечивает доступ в интернет через usb модем, назначаем Distance 2.
  3. Создаем новый маршрут по-умолчанию с Distance 1, где в качестве шлюза указано openvpn подключение.

После этого вы будете иметь доступ в интернет через usb модем напрямую, если openvpn client будет отключен. После подключения vpn клиента к серверу, стандартный маршрут становится неактивным, а по-умолчанию становится новый маршрут со шлюзом в качестве vpn соединения. Весь ваш трафик будет замаскирован vpn соединением и пойдет через openvpn сервер.

Описание маршрутов

0.0.0.0/0192.168.8.1Стандартный маршрут по-умолчанию, когда не подключен openvpn
0.0.0.0/0ovpn-out1Маршрут по-умолчанию через vpn сервер
10.8.0.0/2410.8.0.21Автоматически создаваемый маршрут для подссети vpn тоннелей
10.8.0.21ovpn-out1То же самое, автоматически создаваемый маршрут
94.142.141.246192.168.8.1Маршрут к openvpn server через usb модем
192.168.7.0/24bridge1Маршурт для локальной сети, создается автоматически
192.168.8.0/24lte1Маршрут до usb модема, создается автоматически
  • 192.168.8.1 — адрес usb модема, 192.168.8.100 — адрес микротика на lte интерфейсе, к которому подключен модем
  • 192.168.7.1 — адрес микротика в локальной сети
  • 10.8.0.21 — адрес vpn тоннеля для данного клиента, адрес самого клиента при этом 10.8.0.22
  • 94.142.141.246 — openvpn server

Заключение

С такими настройками мне удалось обеспечить интернетом весь загородный дом с помощью симки йоты для смартфона, usb модема, внешней антенны для усиления сигнала и роутера mikrotik. Ссылку на подробный рассказ о моей конфигурации я привел в начале статьи. Без антенны вообще без вариантов было, еле-еле ловил 3g. С антенной стал ловить 4g со скоростью до 5-ти мегабит, если вышка не забита. В час пик скорость все равно не очень, но хоть что-то. Дом далеко от вышек сотовых сетей, без антенны интернет не работает ни у одного оператора.

Напоминаю, что данная статья является частью единого цикла статьей про Mikrotik.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

set KEY_PROVINCE=Harkiv
set KEY_CITY=Harkiv
set KEY_ORG=OpenVPN
set [email protected]
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 в этом же каталоге система выдает ошибку:

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

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

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

Переходим в нужный каталог: cd «C:Program FilesOpenVPNeasy-rsa»

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

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

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

Набираем команду build-ca. Программа начинает генерацию публичного сертификата OpenVPN и запрашивает у нас значения параметров. Если на вопрос в командной строке мы просто жмем энтер, то программа подставляет значения по умолчанию, которые мы вписали в файл vars.bat. Останавливаемся, когда снова появляется строка C:Program FilesOpenVPNeasy-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 FilesOpenVPNeasy-rsakeys лежат все созданные ключи и сертификаты OpenVPN.

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

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

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

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

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

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

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

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

IT-admins • OpenVPN + Mikrotik рабочая инструкция

Прежде чем выкладывать эту инструкцию я проверил её и результаты прекрасно показали себя в «продакшене».




В первую очередь идём на сайт OpenVPN и скачиваем последнюю на момент написания статьи версию OpenVPN 2.4.5.


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


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


set KEY_SIZE=1024
set KEY_COUNTRY=RU
set KEY_PROVINCE=AstrakhanRegion
set KEY_CITY=Astrakhan
set KEY_ORG=OpenVPN
set KEY_EMAIL=почта @ сервер
set KEY_CN=AMPVR
set KEY_NAME=AMPVR
set KEY_OU=AMPVR


где AMPVR — это у меня аббревиатура организации, для которой собственно всё и настраивалось.


Также необходимо раскомментировать строку «PATH=%PATH%;C:\Program Files\OpenVPN\bin»


Далее запускаем командную строку от Администратора и выполняем последовательно следующие команды:


cd "C:\Program Files\OpenVPN\easy-rsa"
vars
clean-all
build-ca



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


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


на вопрос «Sign the certificate?» отвечаем Y, также как и на вопрос «1 out of 1 certificate requests certified, commit?».
На остальные вопросы просто жмём Enter.

Даем команду на генерацию сертификата клиента


где client — это уникальное имя клиента, которому генерируем ключи.

Имя сертификата Common Name должно быть уникальным и не совпадать с другими сертификатами.
Поэтому на вопрос отвечаем — client.

В папке C:\Program Files\OpenVPN\easy-rsa\keys лежат сгенерированные ключи и сертификаты.
На данный момент нас интересуют 3 файла:


ca.crt
AMPVR.crt
AMPVR.key



Далее импортируем сертификаты в микрот:

  • запускаем WinBox и копируем 3 вышеперечисленных файла из папки, где они находятся, и вставляем с помощью меню Files — Paste.
  • WinBox: System — Certificates — Import

    Импорт производим в следующем порядке: ca.crt => AMPVR.crt => AMPVR.key


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

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


IP -> Pool, создаем его и присваиваем имя. Диапазон адресов указываем 192.168.100.2-192.168.100.100 или на ваш выбор.

Диапазон адресов сознательно ограничил сотней. При указании диапазона 192.168.100.2-192.168.100.254 микрот не захотел устанавливать подключение.


Далее PPP — Profiles и кнопкой + добавляем профиль.

В поля вписываем: имя профиля, Local Address — адрес роутера Микротик (у меня 192.168.100.1), к которому будут подключаться клиенты. Он должен лежать в одой подсети с Remote Address Remote Address. Прописываем либо один IP-адрес клиента, либо имя ранее созданного пула адресов. Здесь же меняем:


Change TCP MSS - YES
Use MPLS - YES
Use encryption - YES



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


Далее PPP- Interface — OVPN Server. Активируем его, поставив галочку в пункте Enabled

В поле Mode оставляем IP (IP-туннелирование по умолчанию)
Default Profile — выбираем профиль, который мы ранее создали.
Certificate — сертификат сервера AMPVR.crt


Ставим галки


require-client-certificate
sha1
md5
aes256


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



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

Необходимо также в настройках клиента предусмотреть синхронизацию времени с сервером.
Убедимся, что у нас выставлена правильная временная зона (меню System — Clock).

Далее System — SNTP Client и прописываем NTP серверы. Например, отсюда.


Разрешаем трафик на порт OpenVPN: IP — Firewall — Filter Rules


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



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


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

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

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


PPP — Interfaces новую запись OVPN Client и и на вкладке Dial Out прописываем:

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


Проверяем соединение.

Настраиваем клиента OpenVPN (Windows)


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


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

  • логин пользователя
  • пароль


Сохраняем и закрываем файл.
Создаем еще один текстовый файл client.ovpn и редактируем следующим образом:


proto tcp-client 
# в этой строчке мы указываем адрес в интернете нашего микротика
remote 5.111.111.111
dev tun
nobind
persist-key 
tls-client
#указываем имена публичного CA сертификата
ca ca.crt
# публичного сертификата клиента
cert client.crt
# и его закрытый ключ
key client.key
verb 3 #параметр задаёт уровень логирования, чем выше, тем больше информации при подключении и в журнале
auth-nocache
remote-cert-tls server
cipher AES-256-CBC
auth SHA1
pull
# эта строка задаёт файл с логином-паролем которые мы прописывали в PPP-Secrets на микротике
auth-user-pass auth.cfg
route-method exe 
route 192.168.0.0 255.255.255.0 10.10.10.1 #задаёт маршрут в сеть 192.168.0.0/24 через VPN


Файл сохраняем. Запускаем OpenVPN GUI

Радуемся


Надеюсь, что у вас всё получилось.

Если же нет, то добро пожаловать в раздел КОНТАКТЫ

Настройка openvpn client на mikrotik с заменой шлюза

Мне понадобилось использовать роутер mikrotik в качестве клиента openvpn с заменой шлюза по-умолчанию на сервер openvpn. Проще говоря мне нужно было скрыть весь трафик и направить его только через vpn сервер. В openvpn это реализуется очень просто, достаточно на сервере указать для конкретного пользователя параметр redirect-gateway def1. На клиенте под windows это без проблем работает. В микротике пришлось разбираться.

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курсы по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Все подробности читайте ниже.

Содержание:

  • 1 Введение
  • 2 Настройка openvpn клиента на mikrotik
  • 3 Замена шлюза по-умолчанию для маскировки всего трафика
  • 4 Заключение
  • 5 Онлайн курсы по Mikrotik

Введение

Расскажу для чего мне это нужно. Есть оператор Yota с безлимитным интернетом за разумные деньги. У них есть разные тарифы в зависимости от устройства, в котором используется симка. Самый дешевый тариф для смартфона. Я купил обычный USB модем, разлочил его, чтобы он работал в сети Yota. Перепрошил специальной прошивкой, чтобы он стал похож на смартфон. Пишу очень просто, потому что не хочется на этом останавливаться. Это совсем другая тема. В интернете есть много информации на тему обхода блокировок yota. Подробнее об этом я рассказал отдельно в материале Настройка интернета в загородном доме — mikrotik + usb 4g lte модем + антенна MIMO для усиления сигнала + yota.

Мне нужно было замаскировать весь трафик локальной сети, которая будет пользоваться интеренетом через usb модем. Yota различными способами пытается бороться с подобной работой. Делается это через определние TTL пакетов и анализ ресурсов, к которым обращаются пользователи. TTL легко изменяется на конечных устройствах, либо на самом роутере. С анализом ресурсов я долгое время боролся редактируя файл hosts, но после установки windows 10 это перестало помогать. Винда постоянно куда-то лезла и идентифицировала себя при этом как компьютер, а не смартфон.

Я решил кардинально решить проблему и завернуть весь локальный трафик в шифрованный vpn туннель. Для этого настроил openvpn сервер и сделал конфигурацию для учетной записи с заменой шлюза по-умолчанию на openvpn сервер. Дальше нужно было настроить на miktotik openvpn клиент таким образом, чтобы он весь трафик заворачивал в vpn. Когда используешь windows клиент, ничего настраивать не надо. Указываешь на openvpn сервере настройку у клиента:

push "redirect-gateway def1 bypass-dhcp"

И все, при подключении все маршруты прописываются как надо и твой внешний ip при серфинге становится равен ip адресу openvpn сервера. Весь трафик идет в тоннель. На микротике это не работало, маршруты надо было писать вручную. Получилось у меня не сразу, расскажу обо всем по порядку.

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

Настраиваем стандартным образом подключение openvpn клиента к серверу с авторизацией по сертификату. Для этого берем сертификат и приватный ключ для openvpn клиента и копируем на микротик через стандартное средство просмотра файлов Files:

Потом идем в System -> Сertificates и имортируем по очереди сначала сертификат, а потом приватный ключ:

Обращаю внимание на символы KT слева от названий сертификатов. Они обязательно должны быть у вас. Если сертификат и приватный ключ не соответствуют друг другу, то одного символа не будет. В моем примере уже есть 2 сертификата только потому, что я экспериментировал с двумя. Вам достаточно будет одного.

Дальше идем настраивать параметры сервера. Открываем разздел PPP, нажимаем на плюс и выбираем OVPN Client:

На вкладке General можно ничего не указывать, использовать все по-умолчанию. На следующей вкладке Dial Out указываем адрес vpn сервера, порт, на котором он принимает входящие соединения и сертификат. Все остальное можно не трогать. В поле User можно писать все, что угодно.

Сохраняете подключение. Теперь клиент на микротике должен автоматически подключиться к openvpn серверу. Если этого не происходит, смотрите в чем проблема в логах на роутере или на сервере. На данном этапе все стандартно, должно заработать без проблем. Инструкций по этому вопросу в интернете море.

Замена шлюза по-умолчанию для маскировки всего трафика

Настройка на сервере для клиента, которая указывает заменять шлюз по-умолчанию, на микротике не работает. Если указать в настройках openvpn сервера галочку на параметре Add Default Route, то тоже ничего работать не будет. Просто не будет пускать в интернет. Хотя для меня это было не понятно. По идее, это как раз то, что нужно. Не могу сейччас привести скриншот маршрутов, коотрые будут прописаны, если установить эту галку. Я пишу статью, подключившись к роутеру удаленно, скрин сделать не могу, потеряю доступ.

Я могу привести только гарантированно работающий вариант. Сейчас расскажу смысл проделанного и приведу список маршрутов, которые добавил.

  1. Первым делом создаем маршрут до openvpn сервера с Distance 1.
  2. Маршуруту по-умолчанию, который обеспечивает доступ в интернет через usb модем, назначаем Distance 2.
  3. Создаем новый маршрут по-умолчанию с Distance 1, где в качестве шлюза указано openvpn подключение.

После этого вы будете иметь доступ в интернет через usb модем напрямую, если openvpn client будет отключен. После подключения vpn клиента к серверу, стандартный маршрут становится неактивным, а по-умолчанию становится новый маршрут со шлюзом в качестве vpn соединения. Весь ваш трафик будет замаскирован vpn соединением и пойдет через openvpn сервер.

Описание маршрутов
0.0.0.0/0192.168.8.1Стандартный маршрут по-умолчанию, когда не подключен openvpn
0.0.0.0/0ovpn-out1Маршрут по-умолчанию через vpn сервер
10.8.0.0/2410.8.0.21Автоматически создаваемый маршрут для подссети vpn тоннелей
10.8.0.21ovpn-out1То же самое, автоматически создаваемый маршрут
94.142.141.246192.168.8.1Маршрут к openvpn server через usb модем
192.168.7.0/24bridge1Маршурт для локальной сети, создается автоматически
192.168.8.0/24lte1Маршрут до usb модема, создается автоматически
  • 192.168.8.1 — адрес usb модема, 192.168.8.100 — адрес микротика на lte интерфейсе, к которому подключен модем
  • 192.168.7.1 — адрес микротика в локальной сети
  • 10.8.0.21 — адрес vpn тоннеля для данного клиента, адрес самого клиента при этом 10.8.0.22
  • 94.142.141.246 — openvpn server

Когда будете настраивать, не забудте включить NAT на openvpn интерфейсе, так же как у вас он настроен на основном.

Заключение

С такими настройками мне удалось обеспечить интернетом весь загородный дом с помощью симки йоты для смартфона, usb модема, внешней антенны для усиления сигнала и роутера mikrotik. Ссылку на подробный рассказ о моей конфигурации я привел в начале статьи. Без антенны вообще без вариантов было, еле-еле ловил 3g. С антенной стал ловить 4g со скоростью до 5-ти мегабит, если вышка не забита. В час пик скорость все равно не очень, но хоть что-то. Дом далеко от вышек сотовых сетей, без антенны интернет не работает ни у одного оператора.

Онлайн курсы по Mikrotik

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курсы по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Помимо официальной программы, в курсах будут лабораторные работы, в которых вы на практике сможете проверить и закрепить полученные знания. Все подробности на сайте Курсы по ИТ. Стоимость обучения весьма демократична, хорошая возможность получить новые знания в актуальной на сегодняшний день предметной области.

Настройка vpn (openvpn, l2tp, pptp, ipsec и др.) server в mikrotik

Обзорная статья на тему использования современных приватных тоннелей в роутерах популярной латвийской марки. Я расскажу о том, как настроить vpn сервер в mikrotik на базе таких технологий как l2tp, ipsec, openvpn, pptp, gre и eoip. Попутно кратко расскажу о том, что это за технологии, чем они отличаются, а так же проведу сравнение производительности микротика со всеми указанными тоннелями.

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Курс стоящий, все подробности читайте по ссылке.

Данная статья является частью единого цикла статьей про Mikrotik.

Введение

Сразу хочу обратить внимание, что эта статья будет скорее обзорной, нежели передачей реального опыта, так как сам я чаще всего использую в качестве vpn сервера openvpn. Тем не менее с vpn в микротик тоже приходилось сталкиваться. Настраивал как pptp сервера для подключения удаленных клиентов, так и l2tp для объединения двух и более микротиков в общую приватную сеть. В основном по дефолту, не вникая в тонкости настроек.

Сегодня хочу рассмотреть этот вопрос более внимательно и посмотреть, что вообще предлагает микротик из коробки для настройки vpn соединений. Своими исследованиями я и хочу поделиться с вами, написав небольшой обзор на тему средств организации vpn сервера в mikrotik. А попутно хочу собрать отзывов и исправлений на тему написанного, чтобы укрепить свои знания. В комментариях к своим статьям я черпаю массу советов, за что благодарен всем писавшим полезные вещи. Так что замечания, дополнения и исправления категорически приветствуются.

Для тех, кто хочет хорошо разбираться в сетях, но пока по какой-то причине не умеет этого, рекомендую вот этот цикл статей — сети для самых маленьких. Так же, если вы не очень хорошо знакомы с микротиками, рекомендую мою статью на тему настройки микротика с нуля.

Варианты vpn сервера в микротике

С вариантами vpn сервера в микротике все сложно 🙂 В том плане, что есть много реализаций vpn, которую не так просто выбрать, если не разбираешься детально в сетевых технологиях. Я не сильно в них разбираюсь, но как мне кажется, немного улавливаю суть. Постараюсь вам объяснить своими словами, в чем отличия.

Существуют 2 принципиально разных решения для организации соединений между двумя микротиками и внешними абонентами:

  1. Создание l2 туннеля типа site-to-site с помощью EOIP Tunnel. Самый простой и быстрый способ объединить два микротика. Если не будет использовано шифрование, то получатся  самые быстрые vpn подключения. Необходимы выделенные белые ip адреса на обоих устройствах. Такие соединения используют для объединения офисов или филиалов по vpn. В общем случае не работает через NAT. Сюда так же добавлю GRE Tunnel, хотя он работает в l3 и использует маршрутизацию, но работает так же по принципу site-to-site.
  2. VPN соединения уровня l3 на технологии Клиент-Сервер, типа PPTP, L2TP, SSTP, OpenVPN. Такие соединения используются как для объединения офисов, так и для подключения удаленных сотрудников. Достаточно только одного белого ip адреса на стороне сервера для создания vpn соединений. Работает через NAT.

Расскажу немного подробнее о каждом из типов vpn соединений отдельно.

  • GRE Tunnel — использует простой протокол gre для построения базового незащищенного site-to-site VPN. Разработан компанией CISCO. Позволяет инкапсулировать пакеты различного типа внутри ip туннелей. Простыми словами вот что он делает. Берет ваши данные со всеми заголовками, упаковывает в пакет, передает по интернету  на другой конец, где этот пакет обратно разбирается на исходные данные. Для конечных пользователей сети все это выглядит, как-будто они общаются через локальную сеть.
  • EOIP Tunnel — Ethernet over IP — это проприетарный протокол MikroTik RouterOS, который создает туннель Ethernet между двумя маршрутизаторами поверх IP-соединения. Для передачи данных использует GRE протокол. Принципиальное отличие eoip tunnnel в том, что он работает в l2 и передает напрямую фреймы, тогда как gre tunnel оперирует пакетами и использует маршрутизацию. Надеюсь правильно объяснил и не соврал. Для чего mikrotik решили создать свою реализацию туннеля через gre протокол, не знаю. Возможно, похожих решений просто нет, вот они и придумали свою реализацию.
  • PPTP — туннельный протокол типа точка-точка (Point-to-Point Tunneling Protocol). Для работы использует GRE протокол, поддерживает шифрование. В свое время pptp обрел большую популярность из-за того, что его из коробки поддерживала Windows начиная с версии 95. На сегодняшний день pptp использовать не рекомендуется, так как он очень легко взламывается. Из дампа трафика за короткое время (несколько часов) достается ключ шифрования и расшифровывается весь трафик. Возможно, с этим как-то можно бороться, используя разные протоколы шифрования, но я не разбирался подробно с этой темой. Для себя решил, что pptp можно использовать как самое простое решение там, где нет повышенных требований к безопасности и расшифровка трафика, если таковая и случится, не принесет никаких проблем. PPTP поддерживает из коробки не только Windows но и Android, что очень удобно. Настраивается очень просто.
  • L2TP — Layer 2 Tunneling Protocol. Несмотря на то, что в названии указано l2, реально в ip сети он работает на сеансовом уровне, то есть l3. Использует в работе udp порт 1701. Может работать не только в IP сетях. Из коробки, как и pptp, поддерживает аутентификацию пользователей. Сам по себе не обеспечивает шифрование. Для шифрования трафика может использовать ipsec, который считается очень безопасным и не имеет серьезных уязвимостей. В настоящее время поддерживается практически всеми устройствами и системами из коробки, как и pptp. Настраивать не сильно сложнее. В общем случае, для организации vpn рекомендую использовать именно этот тип шифрованного тоннеля.
  • OpenVPN — это очень популярная реализация шифрованных соединений. Главное достоинство — гибкость настроек. К примеру, очень крутая возможность openvnp — пушить маршруты напрямую клиенту при подключении. Я долгое время использовал openvpn серверы. Когда первый раз понадобилось передать клиенту pptp маршрут, никак не мог понять, как это настроить. Оказалось, что никак, он это просто не умеет. Пришлось настраивать сторонними инструментами. К сожалению, по непонятным причинам, в mikrotik openvpn не поддерживает протокол udp, что очень сужает возможности использования этого vpn сервера. По tcp он работает гораздо медленнее, чем по udp. Так же не работает сжатие заголовков пакетов. Так что в общем случае использовать openvpn сервер в микротик не имеет смысла, если только он не нужен вам по каким-то конкретным причинам.
  • SSTP — Протокол безопасного туннелирования сокетов (Secure Socket Tunneling Protocol) – был представлен Microsoft в Windows Vista SP1. Основной плюс в том, что он интегрирован в Windows, может использовать 443 порт, что иногда помогает обходить фаерволы. Считается очень безопасным, использует SSL 3.0. Из минусов, насколько я знаю, в микротике очень требователен к ресурсам процессора. На слабеньких железках будет выдавать самую низкую скорость по сравнению со всеми остальными соединениями по vpn. По этой причине я его не буду рассматривать в своем обзоре совсем.

Из всего написанного можно сделать такой вывод. В общем случае лучше всего в микротике использовать vpn на базе l2tp + ipsec. Основные причины:

  1. Простота и удобство настройки.
  2. Надежное шифрование.
  3. Поддержка l2tp соединений практически всеми современными устройствами и системами. Нет необходимости ставить дополнительное программное обеспечение.
  4. Подходит как для объединения офисов, так и для удаленных сотрудников — site-to-site и client-to-site подключения.

Если вам нужно максимальное быстродействие без шифрования, то стройте соединения между сетями или офисами с помощью EOIP Tunnel — фирменной разработки компании Mikrotik.

Дальше я покажу, как настроить все описанные туннели, кроме SSTP и произведу замеры скорости для сравнения. Мой тестовый стенд из двух Mikrotik RB951G-2hnD будет иметь следующие настройки.

m-serverимя микротика, выступающего в роли сервера
m-remoteимя микротика, выступающего в роли удаленного маршрутизатора
192.168.13.1WAN ip адрес на m-server
192.168.13.197WAN ip адрес на m-remote
10.20.1.0/24локальная сеть за m-server
10.30.1.0/24локальная сеть за m-remote
10.10.5.1-10.10.5.100vpn сеть

Приступим к настройке и тестированию vpn соединений в mikrotik.

Настройка l2tp туннеля в mikrotik

Для начала настроим простой l2tp туннель без шифрования и замерим скорость. Для настройки l2tp vpn в mikrotik выполните следующую последовательность действий.

Идем в раздел IP -> Pool и добавляем пул ip адресов для vpn туннеля.

Настройка ip пула для l2tp туннеля

Создаем профиль для туннеля в PPP -> Profiles.

l2tp профиль с настройками

На остальных вкладках настройки дефолтные. Далее создаем пользователя в PPP -> Secrets.

Добавление пользователя l2tp

Теперь запускаем l2tp сервер. Идем в PPP и жмем в кнопку L2TP Server.

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

Устанавливаем настройки для l2tp сервера. ipsec пока не включаем.

Запуск l2tp server

VPN сервер настроен. Теперь создадим для него постоянный интерфейс, чтобы на его основе создавать статические маршруты. Идем в Interfaces и создаем L2tp Server Binding.

L2tp Server Binding

Последний штрих. Создаем статический маршрут, с помощью которого абоненты локальной сети сервера смогут подключаться к абонентом локальной сети за удаленным роутером через vpn. Идем в IP -> Routes и добавляем маршрут.

Статический маршрут для сети за vpn

Я не рассмотрел вопрос

Как настроить mikrotik openvpn client? — Хабр Q&A

Подниму похожий вопрос. RB v. 6.27
Включил вроде как логгирование.
/system logging add topics=ovpn action=memory

Однако в логе только такие данные:
16:27:06 ovpn,info ovpn-out1: initializing…
16:27:06 ovpn,info ovpn-out1: connecting…
16:27:06 ovpn,debug ovpn-out1: disconnected
16:27:06 ovpn,info ovpn-out1: terminating… — peer disconnected

Вот настройки интерфейса:
[adminmikrotik] > /interface ovpn-client print
Flags: X — disabled, R — running
0 name=»ovpn-out1″ mac-address=02:EC:74:14:D6:44 max-mtu=1500 connect-to=XX.XX.XX.XX port=22 mode=ip user=»none» password=»» profile=default certificate=cert_2 auth=sha1 cipher=aes256 add-default-route=no

Информация по сертификатам
[adminmikrotik] > /certificate print
Flags: K — private-key, D — dsa, L — crl, C — smart-card-key, A — authority, I — issued, R — revoked, E — expired,
T — trusted
# NAME COMMON-NAME SUBJECT-ALT-NAME FINGERPRINT
1 K T cert_2 VCNbjLfR6CET 0671aff870a4f2a96…

Конфиг брался из настроек OVPN файла.
Данные в этом файле:
remote XX.XX.XX.XX
port 22
dev tun
proto tcp-client
tls-client
#tls-remote Beethoven
tls-auth ta.key 1
ca ca.crt
cert VCNbjLfR6CET.pem
key VCNbjLfR6CET.pem
comp-lzo
reneg-sec 36000
auth SHA1
cipher AES-256-CBC
keysize 256
persist-key
persist-tun
verb 3
ping 5
ping-restart 35
hand-window 150
ns-cert-type server
pull

# route-method exe
# route-delay 2
# win-sys ‘env’

Сертификат pem загружен был в Mikrotik.

И никак не удается подключиться.

Дело еще в том, что доступа к серверу нет. Использовалось подключение, купленное у одного из провайдеров VPN каналов.

Может подскажете в какую сторону копать? 🙁

MikroTik: Часть 4 — Создание OpenVPN туннеля |


Автор Gregory На чтение 13 мин. Просмотров 73.1k. Опубликовано
Обновлено

Продолжение предыдущих статей по организации единой локальной сети.
В предыдущих статьях мы с Вами настроили два наших роутера – это hAP ac и hEX
Создание домашней сети на базе устройств MikroTik: Часть 1
Создание домашней сети на базе устройств MikroTik: Часть 2 — Настройка hAP ac
Создание домашней сети на базе устройств MikroTik: Часть 3 — Настройка RB750gr3 hEX
Создание домашней сети на базе устройств MikroTik: Часть 4 — Создание OpenVPN туннеля (Вы тут)
Создание домашней сети на базе устройств MikroTik: Часть 5 — Создание EoIP туннеля
Создание домашней сети на базе устройств MikroTik: Часть 6 — Firewall защита доступа
Создание домашней сети на базе устройств MikroTik: Часть 7 — Firewall правильное перенаправление портов в сети с двумя шлюзами
Создание домашней сети на базе устройств MikroTik: Часть 8 – Установка и настройка MikroTik DUDE Network Monitor

В данной статье мы создадим защищенный туннельный интерфейс на базе OpenVPN.
Почему OpenVPN спросите Вы, ведь есть же PPTP, L2TP.
Отвечаю, я тестировал соединения на базе этих двух протоколов. К сожалению они не показали достаточно стабильного соединения между собой. Происходили частые падения туннельных интерфейсов.
Возможно это было связано с какой-то прошивкой. Но это не столь важно. Важно то, что настроив один раз туннель на OpenVPN, я забыл про разрывы связи совсем и до сих пор все работает отлично.

Прежде чем настраивать OpenVPN сервер и создавать туннель, разберемся с тем, как он работает на Mikrotik. Т.к. на RouterOS v6 есть ограничения.
Обратимся к официальному источнику – Wiki Mikrotik(Eng) и Manual Interface(Eng).
В OpenVPN используются два типа интерфейса:
tun – в RoS он определяется, как ip, это туннельный уровень.
tap – в RoS он определяется, как ethernet, это канальный уровень.
Только начиная с прошивки 6.39.x была добавлена топология subnet для tun режима.
Выдержка из Changelog:
*) ovpn – added support for “push-continuation”;
*) ovpn – added support for topology subnet for IP mode;
*) ovpn – fixed duplicate default gateway presence when receiving extra routes;
*) ovpn – improved performance when receiving too many options;

Не поддерживается в 6 версии операционной системы:
UDP протокол, т.е. необходимо использовать исключительно TCP!
LZO сжатие
TLS аутентификация
Аутентификация без имени пользователя и пароля
Если Вы будете читать эту статью, и уже будет доступна 7 версия RouterOS, то в ней, все это, уже должно работать (но это не точно)!

К сожалению сложно сказать, почему Mikrotik пришли именно к такому решению и именно таким ограничениям, но мы имеем то, что имеем.
По ТСР, сервер в типичном случае будет получать ТСР-сегменты OpenVPN, которые содержат другие ТСР-сегменты от клиента. В результате в цепи получается двойная проверка на целостность информации, что совершенно не имеет смысла, т.к. надежность не повышается, а скорости соединения и пинга снижаются.
UDP конечно предпочтительней, но его нет…

OpenVPN предлагает пользователю несколько видов аутентификации.
Предустановленный ключ — самый простой метод.
Сертификатная аутентификация — наиболее гибкий в настройках метод.
С помощью логина и пароля — может использоваться без создания клиентского сертификата (серверный сертификат всё равно нужен).

Мы будем использовать Сертификатную аутентификацию для обеспечения хорошей защищенности нашего соединения.

Для создания туннеля, нам понадобятся сертификаты и ключи к ним. Данные сертификаты можно создать, как на Windows, Linux, так и на самом роутере.
Я сторонник создания сертификатов на своем ПК, чтобы они были у меня в файлах и я мог их достать в случаях “А вдруг что”.

1. Создание сертификатов для OpenVPN соединения
Я буду создавать сертификаты на операционной системе Windows, для всех остальных ОС принцип похож. Можно загуглить.
Для начала необходимо скачать и установить дистрибутив OpenVPN: Страница Загрузок OpenVPN
Запускаем установщик openvpn-install
Если Вы не собираетесь использовать все возможности туннелирования на своей Windows машине и Вам нужно исключительно создать сертификаты, то можно снять галки с пунктов TAP Virtual Ethernet Adapter и OpenVPN GUI.
openvpn-installВыбираем нужные пункты
После скачивания и установки в указанную Вами папку в ней будет список файлов. у меня это папка C:\Program Files\OpenVPN\
Нам необходимо перейти в папку easy-rsa
Нужно открыть консоль Windows (для Windows Vista/7/8/8.1/10 нужно запускать от Администратора)
Переходим в папку easy-rsa по пути установки командой cd
Например:
cd C:\Program Files\OpenVPN\easy-rsa

Запускаем файл init-config.bat
C:\Program Files\OpenVPN\easy-rsa>init-config.bat
C:\Program Files\OpenVPN\easy-rsa>copy vars.bat.sample vars.bat
Скопировано файлов: 1.

В папке появится файл vars.bat, открываем его текстовым редактором, нас интересуют строчки в самом конце, их нужно заполнить
Я подставил свои параметры, у Вас данные параметры будут другие:
set KEY_COUNTRY=RU
set KEY_PROVINCE=Moscow
set KEY_CITY=Moscow
set KEY_ORG=HOME
set [email protected]
set KEY_CN=server
set KEY_NAME=server
set KEY_OU=HOME
set PKCS11_MODULE_PATH=server
set PKCS11_PIN=12345

Там где написано server, не трогаем. Сохраняем файл.

Далее открываем редактором файл openssl-1.0.0.cnf
Находим строчку default_days 365 и заменяем число 365 на 3650 или свое. Тем самым мы увеличим время жизни наших сертификатов на 10 лет.
Сохраняем и закрываем.

Дополнительно:
Если Вы тот еще параноик, то Вы можете отредактировать еще один параметр:
set KEY_SIZE=1024
Для пущей сложности данный параметр можно изменить на 2048 и на 4096(для современных версий OpenVPN)
Но будьте готовы к долгому ожиданию(на слабых ПК очень долгому), пока сгенерируется ключ.

Пишем в консоль команды
vars
clean-all

В ответ должно прийти
Скопировано файлов: 1.
Скопировано файлов: 1.

Создаем ключ Диффи-Хеллмана
build-dh
Вывод из консоли:
C:\Program Files\OpenVPN\easy-rsa>build-dh
WARNING: can't open config file: /etc/ssl/openssl.cnf
Generating DH parameters, 1024 bit long safe prime, generator 2
This is going to take a long time
..........+.........

Известные проблемы:
При подаче команды clean-all или build-dh в самом начале генерации сертификатов, может проявится одна ошибка, выглядит она так:
C:\Users\TEST>build-dh
"openssl" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Бороться с этим необходимо следующим образом. Нужно указать путь до файла openssl.exe в файле vars.bat в ручную.
А точнее стираем слово rem в строке (rem – это комментирование строки):
rem set "PATH=%PATH%;C:\Program Files\OpenVPN\bin"
Получаем:
set "PATH=%PATH%;C:\Program Files\OpenVPN\bin"
Сохраняем файл и производим весь процесс сначала
vars
clean-all
build….. и т.д

Создаем основной сертификат
build-ca

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

Далее создаем сертификат сервера и его ключ:
build-key-server server

На вопросы так же нажимаем Enter, но не торопимся, в самом конце будет задано два вопроса
Sign the certificate?
1 out of 1 certificate requests certified, commit?

На оба эти вопроса отвечаем Y
Вывод из консоли:
Certificate is to be certified until Oct 16 07:03:55 2027 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

Теперь создаем сертификат и ключ клиента:
build-key client

Также не торопимся с ответами, как только увидим строку “Common Name (eg, your name or your server’s hostname)” нужно ответить client
В самом конце также будут два вопроса, отв

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

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

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

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

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

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

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

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

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

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 [email protected]
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) Запускаем командную строку от имени администратора:
Пуск — Все программы — Стандартные 
Правой кнопкой мыши на «Командная строка» и в меню — Запустить от имени администратора
Командную строку не закрываем до конца процесса генерации сертификатов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сервер настроен, теперь приступим к настройке 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

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

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 и подключаемся.

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

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

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

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

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

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

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

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

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

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

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

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

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

Нажимаем ОК

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

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

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

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

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

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

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

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

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

Настройка клиента Mikrotik openvpn — Вэб-шпаргалка для интернет предпринимателей!

Мне понадобилось использовать роутер mikrotik в качестве клиента openvpn с заменой шлюза по-умолчанию на сервер openvpn. Проще говоря мне нужно было скрыть весь трафик и направить его только через vpn сервер. В openvpn это реализуется просто, достаточно на сервере указать для конкретного пользователя параметр redirect-gateway def1. На клиенте под windows это без проблем работает. В микротике пришлось разбираться.

Данная статья является частью единого цикла про Mikrotik.

Введение

Расскажу для чего мне это нужно. Есть оператор Yota с безлимитным интернетом за разумные деньги. У них есть разные тарифы в зависимости от устройства, в котором используется симка. Самый дешевый тариф для смартфона. Я купил обычный USB-модем, разлочил его, чтобы он работал в сети Yota. Перепрошил специальной прошивкой, чтобы он стал похож на смартфон. Пишу очень просто, потому что не хочется на этом останавливаться.Это совсем другая тема. В интернете есть много информации на тему обхода блокировок yota. Подробнее об этом я рассказал отдельно в материале Настройка интернета в загородном доме — mikrotik + usb 4g lte модем + антенна MIMO для усиления сигнала + yota.

Мне нужно было замаскировать весь трафик локальной сети, которая будет пользоваться интеренетом через usb-модем. Yota методами пытаются бороться с подобной работой. Делается это через определенные TTL пакеты и анализ ресурсов, к которым обращаются пользователи.TTL легко изменить на конечных устройствах, либо на самом роутере. С анализом ресурсов я долгое время боролся редактирую файл hosts, но после установки windows 10 это перестало помогать. Винда куда-то лезла и идентифицировала при этом как компьютер, а не смартфон.

Я решил кардинально решить проблему и завернуть весь локальный трафик в шифрованный vpn туннель. Для этого настроил openvpn сервер и сделал конфигурацию для учетной записи с заменой шлюза по-умолчанию на openvpn сервер.Дальше нужно было настроить на miktotik openvpn клиентским образом, чтобы он весь трафик заворачивал в vpn. Когда используешь окна клиент, ничего настраивать не надо. Указываешь на openvpn сервере настройку у клиента:

И все, при подключении все маршруты прописываются как надо и твой внешний ip при серфинге становится равен ip адресу openvpn сервера. Весь трафик идет в тоннель. На микротике это не работало, маршруты надо было писать вручную. Получилось у меня не сразу, расскажу обо всем по порядку.

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

Настраиваем стандартным образом подключение openvpn клиента к серверу с авторизацией по сертификату. Для этого берем сертификат и приватный ключ для openvpn клиента и копируем на микротик через стандартное средство просмотра файлов Files :

Потом идем в Система -> Сертификаты и имортируем по очереди сначала сертификат, а потом приватный ключ:

Обращаю внимание на символы KT слева от названий сертификатов.Они обязательно должны быть у вас. Если сертификат и приватный ключ не соответствуют друг другу, то одного символа не будет. В моем примере уже есть 2 сертификата, потому что я экспериментировал с двумя. Вам достаточно будет одного.

Дальше идем настраивать параметры сервера. Открываем разздел PPP , нажимаем на плюс и выбираем OVPN Client :

На вкладке Общее можно ничего не указывать, использовать все по-умолчанию.На следующей вкладке Dial Out указываем адрес vpn сервера, порт, на котором он принимает входящие соединения и сертификат. Все остальное можно не трогать. В поле Пользователь можно писать все, что угодно.

Сохраняете подключение. Теперь клиент на микротике должен автоматически подключиться к openvpn серверу. Если этого не происходит, смотрите в чем проблема в логах на роутере или на сервере. На данном этапе все стандартно, должно заработать без проблем. Инструкций по этому вопросу в интернете море.

Замена шлюза по-умолчанию для маскировки всего трафика

Настройка на сервере для клиента, которая указывает заменять шлюз по-умолчанию, на микротике не работает. Если указать в настройках openvpn сервера галочку на параметр Добавить Route по умолчанию , то тоже ничего работать не будет. Просто не будет пускать в интернет. Хотя для меня это было не понятно. По идее, это как раз то, что нужно. Не могу сейччас привести приведение маршрутов, коотрые будут прописаны, если установить эту галку.Я пишу статью, подключившись к роутеру удаленно, скрин сделать не могу, потеряю доступ.

Я могу привести только гарантированно работающий вариант. Сейчас расскажу смысл проделанного и приведу список маршрутов, которые добавил.

  1. Первым делом создаем маршрут до openvpn сервера с Distance 1.
  2. Маршуруту по-умолчанию, который обеспечивает доступ в интернет через usb модем, назначаем Distance 2.
  3. Создаем новый маршрут по-умолчанию с Distance 1, где в качестве шлюза указано openvpn подключение.

После этого вы будете иметь доступ в интернет через usb-модем напрямую, если клиент openvpn будет отключен. После подключения vpn клиента к серверу, стандартный маршрут становится неактивным, а по-умолчанию становится новый маршрут со шлюзом в качестве vpn соединения. Весь ваш трафик будет замаскирован vpn соединением и пойдет через openvpn сервер.

Описание маршрутов

0.0.0.0/0 192.168.8.1 Стандартный маршрут по-умолчанию, когда не подключен ВПН
0.0,0.0 / 0 овпн-выход1 Маршрут по-умолчанию через vpn сервер
10.8.0.0/24 10.8.0.21 Автоматически создаваемый маршрут для подссети vpn тоннелей
10.8.0.21 овпн-выход1 То же самое, автоматически создаваемый маршрут
94.142.141.246 192.168.8.1 Маршрут к серверу openvpn через usb модем
192.168.7.0 / 24 мост1 Маршурт для локальной сети, создается автоматически
192.168.8.0/24 lte1 Маршрут до usb модема, создается автоматически
  • 192.168.8.1 — адрес usb модема, 192.168.8.100 — адрес микротика на lte интерфейсе, к которому подключен модем
  • 192.168.7.1 — адрес микротика в локальной сети
  • 10.8.0.21 — адрес vpn тоннеля для данного клиента, адрес самого клиента при этом 10.8.0.22
  • 94.142.141.246 — openvpn сервер

Заключение

С такими настройками мне удалось обеспечить интернетом весь загородный дом с помощью симки йоты для смартфона, usb модема, внешней антенны для усиления сигнала и роутера mikrotik. Ссылку на подробный рассказ о моей конфигурации я привел в начале статьи. Без антенны вообще без вариантов было, еле-еле ловил 3g. С антенной ловить 4g со скоростью до 5-ти мегабит, если вышка не забита. В час пик скорость все равно не очень, но хоть что-то.Дом далеко от вышек сотовых сетей, без антенны интернет не работает ни у одного оператора.

Напоминаю, что статья является частью единого цикла про Mikrotik.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

установить KEY_PROVINCE = Харьков
установить KEY_CITY = Харьков
установить KEY_ORG = OpenVPN
установить KEY_EMAIL = admin @ lantorg.com
set KEY_CN = server
set KEY_NAME = server
set KEY_OU = lantorg
set PKCS11_MODULE_PATH = changeme
set000 PKCS11_PIN = 1234

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

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

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

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

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

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

Переходим в нужный каталог: cd «C: Program FilesOpenVPNeasy-rsa»

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

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

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

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

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

build-key-server server, на вопрос « Подписать сертификат? » отвечаем г, точно также на вопрос « 1 из 1 запросов на сертификат сертифицирован, зафиксировать?» , на остальные просто жмем энтер.

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

Все, теперь в папке C: Program FilesOpenVPNeasy-rsakeys лежат все ключи и сертификаты OpenVPN.

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

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

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

  • имя профиля,
  • Местный адрес — адрес роутера Микротик, к которому будут подключаться клиентов. Он должен лежать в одой подсети с Удаленный адрес
  • Remote Address- здесь пишем либо один IP-адрес клиента, либо имя ранее созданного пула адресов.

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

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

Идем в меню PPP- Интерфейс — Сервер OVPN .

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

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

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

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

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

Идем IP — Межсетевой экран — Правила фильтрации и разрешаем трафик на порт OpenVPN:

  • В поле Цепочка ставим ввод.
  • Протокол

  • 6 (tcp).
  • Dst. Порт — 1194.
  • дюйма Интерфейс — прописываем название интерфейса, на который идет входящий трафик.

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

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

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

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

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

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

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

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

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

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

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

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

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


Копируем ранее созданные нами файлы ca.crt, client.crt, client.key из папок C: Program FilesOpenVPNeasy-rsakeys в каталоге C: Program FilesOpenVPNconfig .

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

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

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

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

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

1) Необходимо добавить сертификаты (клиентский сертификат и ключ (client.crt, client.key и по желанию основного (ca.crt)) на роутер:

Процесс создания сертификатов рассмотрен в статье по настройке OpenVPN сервера на Mikrotik

.

Внимание. Не передавайте никому закрытый ключ сертификата — “ca.key”, имея его можно создать сертификаты, подписанные данным ключом.

2) Заходим на Mikrotik через утилиты winbox, переходим в раздел Файлы и копируем туда наши сертификаты: client.crt, client.key и ca.crt (опционально)

3) После этого произведём импорт сертификатов, идём в раздел Система — Сертификаты , выбираем поочередно сертификаты из списка (client.crt-> client.key (-> ca.crt)) и жмём кнопку Import

4) Получится следующая картина:

5) Само соединение OpenVPN настраивается в меню PPP-> Нажимаем кнопку «+» -> в выпадающем списке выбираем OVPN Client

6) На вкладке Dial Out указываем адрес сервера, логин / пароль, порт, клиентский сертификат и тип шифрования

7) После этого открываем терминал и проверяем, поднялось ли соединение:

Рекомендуем к прочтению

.

Как настроить mikrotik openvpn client? — Хабр Q&A

Подниму похожий вопрос. РБ версии 6.27
Включил вроде как логгирование.
/ system logging add themes = ovpn action = memory

Однако в логе только такие данные:
16:27:06 ovpn, info ovpn-out1: инициализация …
16:27:06 ovpn, info ovpn-out1: подключение. ..
16:27:06 ovpn, debug ovpn-out1: отключен
16:27:06 ovpn, info ovpn-out1: terminating … — peer disabled

Вот настройка интерфейса:
[adminmikrotik]> / interface ovpn -client print
Флаги: X — отключено, R — запущено
0 name = «ovpn-out1» mac-address = 02: EC: 74: 14: D6: 44 max-mtu = 1500 connect-to = XX.XX.XX.XX port = 22 mode = ip user = «none» password = «» profile = default certificate = cert_2 auth = sha1 cipher = aes256 add-default-route = no

Информация по сертификатам
[adminmikrotik]> / сертификат print
Флаги: K — закрытый ключ, D — dsa, L — crl, C — ключ смарт-карты, A — полномочия, I — выдан, R — отозван, E — срок действия истек,
T — доверенный
# NAME ОБЩЕЕ НАЗВАНИЕ СУБЪЕКТ-АЛЬТ-ИМЯ ОТПЕЧАТКА ПАЛЬЦА
1 KT cert_2 VCNbjLfR6CET 0671aff870a4f2a96…

Конфиг брался из настроек OVPN файла.
Данные в этом файле:
удаленный XX.XX.XX.XX
порт 22
dev tun
proto tcp-client
tls-client
# tls-remote Бетховен
tls-auth ta.key 1
ca.crt
cert VCNbjLfR6CET.pem
key VCNbjLfR6CET.pem
comp-lzo
reneg-sec 36000
auth SHA1
cipher AES-256-CBC
keysize 256
persist-key
persist-9 tun
ping
ping
hand-window 150
ns-cert-type server
pull

# route-method exe
# route-delay 2
# win-sys ‘env’

Сертификат pem загружен был в Mikrotik.

И никак не удается подключиться.

Дело еще в том, что доступа к серверу нет. Использовалось подключение, купленное у одного из провайдеров VPN каналов.

Может подскажете в какую сторону копать? 🙁

.

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

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

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

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

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

Этапы:

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

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

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

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

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

  1. Официальный сайт качаем утилиты OpenVPN

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

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

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

  2. Когда установка завершилась заходим в

.

Настройка VPN на Mikrotik по PPTP, SSTP, OpenVPN и L2TP протоколам


Ранее мы писали про установку и базовую настройку Mikrotik CHR на виртуальные серверы. В статье мы выполним настройку VPN-сервера на базе Cloud Hosted Router и подключим клиентские устройства к этому настроенному VPN.

При написании данной статьи использовался облачный сервер со своими персонажами:

  • 1 виртуальный ЦП;
  • 512 МБ ОЗУ;
  • 5 ГБ быстрый диск.

Операционная система выбрана актуальная на момент написания статьи Стабильная версия RouterOS: 6.47.6. Мы предполагаем, что читатель уже установил MikroTik CHR и провел первичную настройку.

Несмотря на то, что в статье описана настройка на Cloud Hosted Router, эта инструкция с указанием RouterOS.

Общие настройки

Создание пула IP-адресов

При подключении к VPN клиент «входит» в локальную сеть с VPN-сервером.Это требует серой подсети и список доступных для клиентов адресов, называемых пул. Создать пул можно следующей командой:

  / ip pool add name = <название> range =   

Мы выделили 253 адресов в подсети 172.24.0.0/24 и назвали ее vpn-pool.

  / ip pool add name = vpn-pool range = 172.24.0.1-172.24.0.253  

Обратите внимание, что адрес 172.24.0.254 не входит в пул адресов, так как этот адрес будет принадлежать VPN-серверу и не должен быть выделен клиенту.

Создание PPP-профиля

«Связать» пул для адресов клиентов и адрес VPN-сервера можно с помощью PPP-профиля. Используем следующую команду:

  / ppp profile add name = vpn-profile local-address = 172.24.0.254 remote-address = vpn-pool use-mpls = no use-compress = yes use-encryption = yes only-one = no  

Рассмотрим параметры команды:

  • name = vpn-profile — задаем имя профиля;
  • локальный адрес = 172.24.0.254 — задаем адрес VPN-сервера;
  • remote-address = vpn-pool — указываем использовать пул vpn-pool для выдачи адресов клиентам;
  • use-mpls = no — не использовать многопротокольную коммутацию меток;
  • use-сжатие = да — включаем сжатие трафика;
  • use-encryption = yes — включаем шифрование;
  • only-one = no — разрешаем более одного одновременного подключения для пользователя.

Настройка NAT

Создать локальную сеть между VPN-сервером и VPN-клиентом — это половина проблемы. Далее необходимо разрешить клиенту выходить в интернет через VPN-подключение. Для этого необходимо настроить NAT. Сделать это можно следующей командой:

  / ip firewall nat add chain = srcnat out-interface = ether1 action = masquerade  

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

Далее создаем пользователя. Сделать это можно следующей командой:

  / ppp secret add name = <логин> пароль = <пароль> service = <тип сервера>  

Параметр услуга указывает, какие сервисы доступны пользователю.Мы планируем использовать пользователя для демонстрации четырех протоколов VPN, поэтому установим значение любое. Создаем пользователя vpn-user с паролем vpn-password с доступом к любому сервису:

  / ppp secret add name = vpn-user password = vpn-password service = any  

Пользователь создан. Однако, некоторые протоколы VPN требуют сертификатов.

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

Если вы планируете использовать OpenVPN или SSTP, со стороны сервера требуются два сертификата: CA (Центр сертификации, Центр Сертификации) и серверный (сервер).Первый сертификат является «неоспоримым» и им можно подтверждать самоподписанные сертификаты, созданные для сервера и для клиентов.

Сперва выберем Common Name (CN) для центра сертификации. Здесь нет специфических требований, поэтому допустимо использовать любое имя. Мы используем имя хоста в CN. В параметрах ca-crl-host необходимо указать IP-адрес или домен VPN-сервера.

  / certificate add name = ca-template common-name = "MikroTik" days-valid = 3650 key-usage = crl-sign, key-cert-sign
/ сертификат подписи ca-template ca-crl-host = 185.X.X.83 name = "MikroTik"  

Далее создаем сертификат для VPN-сервера и подписываем его только созданным CA-сертификатом. Обратите внимание, что CN для сертификата сервера должен быть строго доменом или IP-адресом.

  / certificate add name = server-template common-name = 185.X.X.83 days-valid = 3650 key-usage = digital-signature, key-encryption, tls-server.
/ сертификат подписи server-template ca = "MikroTik" name = "server @ MikroTik"  

Для протокола SSTP значение поля CN является критичным.Если CN является IP-адресом, то VPN-клиенту нужно подключаться именно по IP-адресу. При подключении по домену происходит ошибка.

Сертификат CA необходимо экспортировать, чтобы клиент доверял сертификату сервера. Файл:

  / сертификат экспорт-сертификат "MikroTik" export-passphrase = ""  

После экспорта на вкладку Файлы в веб-интерфейсе можно будет скачать файл cert_export_MikroTik.crt. Сохраните его, он потребуется.

Настройка VPN-сервера

Мы рассмотрим четыре протокола для организации VPN:

  • PPTP;
  • L2TP / IPsec;
  • OpenVPN;
  • SSTP.

Каждый из протоколов обладает своими плюсами и минусами. Рассмотрим протоколы поближе.

PPTP

Начнем с самого легкого в настройке протокола Point-to-Point Tunneling Protocol (PPTP). Данный не требует большого количества ресурсов ресурсов «из коробки» множеством операционных систем. Среди минусов — наличие серьезных уязвимостей в протоколах аутентификации.

Запустить VPN-сервер можно в одну команду:

  / интерфейс pptp-server набор серверов включен = да default-profile = vpn-profile authentication = mschap2  

В качестве клиента возьмем смартфон под управлением ОС Android 8.0,0.


Добавление VPN и подключение средств ОС Android

Подключение по PPTP не требует дополнительного программного обеспечения и не доставляет проблем. Однако, если хочется чуть больше безопасности, следует посмотреть в сторону протоколов L2TP / IPsec.

L2TP / IPSec

Как и PPTP, протоколы L2TP / IPsec поддерживаются большим количеством операционных систем. Более того, использование в IPsec алгоритма шифрования AES на данный момент не имеет серьезных уязвимостей, что гарантирует относительную безопасность и конфиденциальность при использовании L2TP / IPsec.

Настройка L2TP / IPsec VPN-сервера похожа на настройку PPTP-сервера:

  / interface l2tp-server набор серверов включен = да default-profile = vpn-profile authentication = mschap2 use-ipsec = required ipsec-secret = super-secret  

Обратите внимание на параметр ipsec-secret . Этот параметр — общий ключ IPsec. Так как мы используем аутентификацию по паре регистрации / пароля без сертификата, чтобы в настройках, клиенту необходимо выбрать L2TP / IPsec PSK или L2TP / IPsec с общим ключом .


Выбор L2TP / IPsec PSK и ввод ipsec-secret

Хотя L2TP / IPsec является хорошим компромиссом, стоит оценить и OpenVPN.

OpenVPN

OpenVPN — современная технология с открытым исходным кодом. Это решение обеспечивает безопасную работу и умение маскироваться под HTTPS-трафик. К сожалению, для использования OpenVPN необходимо установить дополнительное программное обеспечение, например официальный OpenVPN Connect, а также работать с сертификатами и конфигурационными файлами ovpn.

Включаем OpenVPN-сервер с указанием сервера сертификата, который сгенерировали ранее:

  / interface ovpn-server набор серверов auth = sha1 certificate = "server @ MikroTik" cipher = aes128, aes192, aes256 default-profile = vpn-profile enabled = yes require-client-certificate = yes  

Создаем шаблон клиентского сертификата:

  / сертификат add name = client-template common-name = "client" days-valid = 3650 key-usage = tls-client  

Генерируем сертификат для пользователя vpn-user на основе шаблона:

  / сертификат добавить имя = client-vpn-user copy-from = client-template common-name = "vpn-user @ MikroTik"
/ сертификат подписать client-vpn-user ca = "MikroTik" name = "vpn-user @ MikroTik"  

Экспортируем сертификат и ключ.Обратите внимание, что пароль во время экспортирования указан суперсекретный пароль , который необходимо ввести при импорте в VPN-клиенте.

  / сертификат export-certificate "vpn-user @ MikroTik" export-passphrase = "super-secret-password"  

В веб-интерфейсе на вкладке Файлы можно найти следующие файлы:

Скачиваем файлы и создаем конфигурационный файл ovpn:

  клиент
Dev Tun
протокол TCP-клиент
удаленный  1194
nobind
постоянный ключ
настойчивый туннель
шифр AES-128-CBC
авторизация SHA1
вытащить
глагол 2
немой 3


auth-user-pass


# Добавляем эту строчку, чтобы отправлять все запросы через VPN
перенаправить шлюз def1



# Вставляем содержимое cert_export_MikroTik.crt




# Вставляем содержимое [email protected]



<ключ>
# Вставляем содержимое [email protected]
  

Передаем ovpn-файл на смартфон и импортируем его через OpenVPN Connector.


Импортирование профиля ovpn

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

SSTP

SSTP — это проприетарный протокол от Microsoft, обладающий достоинствами OpenVPN.Данный протокол поддерживается ОС Microsoft Windows, начиная с Vista SP1, а на других ОС требует установки дополнительного ПО.

Для запуска сервера достаточно выполнить команду:

  / interface sstp-server набор серверов включен = да сертификат = server @ MikroTik default-profile = vpn-profile  

Так как данный протокол поддерживается Windows, то проверим работу сервера на Windows 10. В первую очередь установить центр сертификации. Скачиваем cert_export_MikroTik.crt и открываем двойным кликом.


Импорт сертификатов

Откроется окно, которое предупреждает, что нет доверия к этому центру сертификации. Это исправляется установкой сертификата. При установке выбираемого хранилища «локальный компьютер» и на следующий шаг помещаем сертификат в «доверенные корневые центры сертификации». Теперь можно приступить к настройке VPN-подключения.


Настройка SSTP VPN на Windows 10

Открывает Параметры Windows — Сеть и Интернет — VPN и добавляем VPN-подключение, вводим имя или адрес сервера, как было указано в сертификате сервера и вводим свой логин-пароль.VPN-установлено подключение.

Заключение

Мы рассмотрели настройку VPN-серверов на четырех разных протоколах. Надеемся, эта инструкция поможет вам создать собственный виртуальный маршрутизатор на базе Mikrotik CHR.

.

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

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