Моя задача, это разобрать, как посредством клиента OpenVPN установленного на смартфон Huawei Honor 5C подключиться к моему серверу OpenVPN дабы с телефона иметь возможность взаимодействовать с инфраструктурой за Mikrotik если сеть за ним не имеет прямого выхода в интернет и к ней нельзя через настроенный сервис VPN/L2TP подключаться напрямую.

Исходные данные:

Шаг №1: С Шаг №13 заметки выпускаю сертификат для Android и буду именовать его, как: client3:

root@srv-vpn:~# cd /etc/openvpn/easy-rsa/

root@srv-vpn:/etc/openvpn/easy-rsa# . ./vars

NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys

root@srv-vpn:/etc/openvpn/easy-rsa# ./build-key client3

Certificate is to be certified until Sep 22 18:02:29 2029 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

root@srv-vpn:/etc/openvpn/easy-rsa#

root@srv-vpn:/etc/openvpn/easy-rsa# cd ~

Когда выпустили сертификат для Android устройства в распоряжении теперь файлы необходимые для организации соединения:

  • Client3.key - закрытый ключ шифрования клиента, выданный центром сертификации.
  • Client3.crt - сертификат клиента, подписанный центром сертификации.
  • ca.crt - сертификат центра сертификации с открытым ключем.
  • client.ovpn - файл конфигурации OpenVPN клиента для Android.

Шаг №2: Создаю файл (client.ovpn) конфигурации для OpenVPN клиента:

root@srv-vpn:~# nano client.ovpn

client

remote remote.ekzorchik.ru 1194

dev tun0

proto tcp

ca /storage/emulated/0/oclient/ca.crt

cert /storage/emulated/0/oclient/client3.crt

key /storage/emulated/0/oclient/client3.key

#клиент видит сеть VPN

route 10.8.0.0 255.255.255.0

#указываем клиенту слушать команды от сервера

pull

где remote.ekzorchik.ru — это A-запись на VPS-сервер к поддомену основного домена. В вашем случае Вы указываете, либо IP, либо DNS Вашего собственного сервера.

Шаг №3: Копирую файлы ca.crt client3.crt & client3.key на домашнее хранилище OwnCloud (для этого у меня создан пользователь openvpn и квота 1Gb) где уже с него посредством установленного приложения oCloud.de смогу скачать их себе на смартфон. Скопировать могу, т. к. у меня уже есть туннель до внутренней сети. Чтобы скопировать файлы на OwnCloud 10 беру заметку

root@srv-vpn:~# mount -t davfs https://IP&DNS/remote.php/dav/files/openvpn/ /media/client -o rw

root@srv-vpn:~# df -h | grep openvpn

https://IP&DNS/remote.php/dav/files/openvpn/  1.0G  5.4M 1019M   1% /media/client

root@srv-vpn:~# cp /etc/openvpn/easy-rsa/keys/{client3.key,client3.crt,ca.crt} /media/client

root@srv-vpn:~# cp client.ovpn /media/client

root@srv-vpn:~# umount /media/client

/sbin/umount.davfs: waiting while mount.davfs (pid 15315) synchronizes the cache .. OK

root@srv-vpn:~#

Шаг №4: Через PlayMarket устанавливаю на смартфон приложение под именемOpenVPN Connect”, а именно точное наименование: “OpenVPN Connect – Fast & Safe

Шаг №5: Т.к. на моем смартфоне установлено приложение oCloud.de для взаимодействия с моим собственным облаком на базе OwnCloud 10, то настраиваю подключение к нему для учетной записи owncloud и загружаю на смартфон файлы см «Шаг №2», а именно: ca.crt, client3.crt,client3.key,client.ovpn.

После через приложение «Файлы» — «Память телефона» — «Внутренняя память» — создаю папку «Новая папка» и именую ее «oclient» куда и перемещаю скачанные файлы.

Вы же как вам угодно, можно оставить то место куда файлы скачались.

Шаг №6: Запускаю на смартфоне приложение OpenVPN, затем нажимаю на «OVPN Profile (Connect with .ovpn file)” , даю разрешение на

  • «Разрешить приложения OpenVPN Connect доступ к фото, мультимедиа и файлам на устройстве?»: Разрешить

Тут вижу

Please, select .ovpn profile to import

Location: /storage/emulated/0

Выбираю свой файл /storage/emulated/0/oclient/client.ovpn

И нажимаю в правом верхнем углу «IMPORT», следом вижу

«Profile successfully imported”

  • Title: remote.ekzorchik.ru

И нажимаю в правом верхнем углу «Add». Теперь у меня есть импортированный профиль, он неактивен, нажимаю на него и опять сообщение, но уже вида:

«Приложение “OpenVPN Connect” пытается подключиться к сети VPN, чтобы отслеживать трафик. Этот запрос следует принимать, только если вы доверяете источнику. Когда подключение VPN активно, в верхней части экрана появляется значок (ключ)» нажимаю OK.

Если все указано верно и настроено верно, то клиент OpenVPN успешно подключится.

  • Вижу свой приватный адрес из сети VPN: 10.8.0.14
  • Server: remote.ekzorchik.ru
  • Server Public IP: WAN_IP
  • Port: 1194
  • VPN Protocol: TCPv4

Проверяю, а вижу ли я со смартфона сеть за Mikrotik через подключенный OpenVPN-туннель. В этом мне поможет приложение на смартфоне: Termux

$ ping 172.33.33.25

И вижу приходящие успешные пакеты.

$ ssh -l root 172.33.33.25 -p 22

А на гипервизоре (Debian 10 + Proxmox 6) смотрю, кто в данный момент подключен через SSH к нему:

root@srv-debian:~# w

12:01:57 up  3:09,  2 users,  load average: 0.96, 0.53, 0.19

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT

root     pts/0    -                11:18    1.00s  0.03s  0.00s w

root     pts/1    10.8.0.14        12:01    5.00s  0.01s  0.01s -bash

root@srv-debian:~#

вот и мой смартфон.

Итого я для себя задокумментировал все шаги, посредством которых настраивается OpenVPN клиент на смартфоне Huawei Honor 5C для подключения к туннелю объединяющую мою сеть за Mikrotik(ом). Работает. На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.