Моя задача, это разобрать, как посредством клиента OpenVPN
установленного на смартфон Huawei Honor 5C
подключиться к моему серверу OpenVPN
дабы с телефона иметь возможность взаимодействовать с инфраструктурой за Mikrotik
если сеть за ним не имеет прямого выхода в интернет и к ней нельзя через настроенный сервис VPN/L2TP
подключаться напрямую.
Исходные данные:
- Смартфон
Huawei Honor 5C + SIM карта Tele2
- Поднятый
OpenVPN
сервер и туннель доMikrotik(а)
описанный, как заметка «OpenVPN туннель до своей сети за Mikrotik”.
Шаг №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.