Mikrotik openvpn подключение android

Поднимаем на 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 и указать часовой пояс.

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

Указываем 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 — статический адрес клиента.

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

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

Профили в 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 добавляем новое правило:

Читайте также:  Dreamscene как для андроид

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

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

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

Проблемы

duplicate packet, dropping

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

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

Источник

Mikrotik openvpn подключение android

Wed Oct 08, 2014 8:56 am

I wonder if anyone has successfully managed to do so and would be so kind sharing their knowledge and point me in the right direction.

You see, I have successfully connected to my RB493G via OpenVPN and also the LAN behind it, using my WIN7 PC. I also can connect via OpenVPN to a USA-based VPN server on my Android tablet. It allows me to watch Netflix from outside USA. So my openVPN works on my Android tablet.

But have not been able to connect the MikroTik oVPN server from my Android tablet. I kept getting the messages alternating between ‘connecting‘ and ‘reconnecting‘. And it stops after the set 5 times. I have searched low and high, tried various settings but to no avail. So I guess it’s the issue with MikrotTik openVPN.

Much appreciate for your help.
Edited for clarity.

Re: OpenVPN and Android

Thu Oct 09, 2014 8:57 am

Re: OpenVPN and Android

Tue Oct 14, 2014 1:30 am

Re: OpenVPN and Android

Sat Nov 15, 2014 8:23 am

Since the reply to my query was so overwhelming, [cough, cough], I feel my patience was tested to the limits at times with using MikroTik. But I love its value and full of features. I also wish some gentle push with appropriate efforts by MikroTik to make its products even more valuable in terms of finding out its features in a more systematic way.

I know my MCNA qualification does not mean I know all about MikroTik products. But I do own a copy of excellent ‘RouterOS by Example’ by Stephen R.W. Disher, as well as first edition of ‘Learn RouterOS’ by Dennis Burgess. But still found myself many times stumbling in the dark (so to speak) by lack of documented features by examples. Please do not see this as a complaint.

(I know of a certain IT company which asks chosen beta testers to help develop its product such as debugging and documentation before the product is released. The price to the company is relatively cheap: Beta testers got to keep the products they test. That’s simple. I am one of their beta testers so I know but I can’t name name.) [End of unsolicited advice]

Back to the issue at hand, I finally resolved the issue after a lot of perseverance and time. I am glad to say that I can now connect to MikroTik (RB493G) via OpenVPN from my Android devices — one is my HTC Desire (h/ware is a bit old) running modified Cyanogen ROM (4.2.2); the other is my Acer A500 (also a few years old) tablet running modified Omni version 4.4.4. I used to connect via PPTP but it can be easily cracked (source Edward Snowden).

For those who are interested, I have to set OpenVPN server to IP mode for Android devices to connect. Whereas Windows can only connect if I set it to ethernet mode. In short, I can only connect one type of devices at a time but not Windows and Android at the same time. In addition the following script to make it to work (Android only) along these lines:

Читайте также:  Телевизор dexp не загружается андроид

dev tun
proto tcp-client
remote pubic-ip-adress-of-Mikrotik-router (or your DNS name)
ca ca.crt
tls-client
#comp-lzo # Do not use compression.
persist-tun
persist-key
verb 3
cipher BF-CBC
auth SHA1
pull
route local-network-ip-adress netmask ip-adress-of-ovpnserver
# additional subnets on your local network s/be added here in the same format if you want access when connected.
auth-user-pass

Cheers
P.S. Now the question ‘How to have Windows and Android connecting Mikrotik openVPN server at the same time? Or is it possible?
Over to expert. Anyone at all.

Re: OpenVPN and Android

Sun Nov 16, 2014 2:59 am

I got the answer to my own question at bottom of last post.

OpenVPN server cannot accept dev tun (i.e. Android device) and dev tap (i.e. Windows) as clients concurrently.

Use Ethernet mode for Windows-based device connection, and IP mode for Android devices. VPN providers must have different OVPN servers at their end to handle Windows connections separately from Android devices.

Please mark this issue resolved. Thank you.

Re: OpenVPN and Android

Thu May 07, 2015 9:20 am

A new PAID app on Google Play Store that allows Android-based devices to connect using TAP. Not TUN.

No more switching b/w TAP and TUN to suit Windows and Android prior to connection. Very neat.

In case anybody is interested.

Re: OpenVPN and Android

Sat Mar 10, 2018 1:34 am

Since the reply to my query was so overwhelming, [cough, cough], I feel my patience was tested to the limits at times with using MikroTik. But I love its value and full of features. I also wish some gentle push with appropriate efforts by MikroTik to make its products even more valuable in terms of finding out its features in a more systematic way.

I know my MCNA qualification does not mean I know all about MikroTik products. But I do own a copy of excellent ‘RouterOS by Example’ by Stephen R.W. Disher, as well as first edition of ‘Learn RouterOS’ by Dennis Burgess. But still found myself many times stumbling in the dark (so to speak) by lack of documented features by examples. Please do not see this as a complaint.

(I know of a certain IT company which asks chosen beta testers to help develop its product such as debugging and documentation before the product is released. The price to the company is relatively cheap: Beta testers got to keep the products they test. That’s simple. I am one of their beta testers so I know but I can’t name name.) [End of unsolicited advice]

Back to the issue at hand, I finally resolved the issue after a lot of perseverance and time. I am glad to say that I can now connect to MikroTik (RB493G) via OpenVPN from my Android devices — one is my HTC Desire (h/ware is a bit old) running modified Cyanogen ROM (4.2.2); the other is my Acer A500 (also a few years old) tablet running modified Omni version 4.4.4. I used to connect via PPTP but it can be easily cracked (source Edward Snowden).

For those who are interested, I have to set OpenVPN server to IP mode for Android devices to connect. Whereas Windows can only connect if I set it to ethernet mode. In short, I can only connect one type of devices at a time but not Windows and Android at the same time. In addition the following script to make it to work (Android only) along these lines:

Источник

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