Урок 2 - Удаленное подключение с помощью OpenVPN

13 ноября 2020, 17:22

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

Способ 1. Подключение к локальной сети через raspberry pi и vnc server

Минусы 

  • Работает с тормозами.
  • Нужен raspberry pi с rasbian. 
  • Дополнительная работа по подключению raspberry, нужно запитать, куда-нибудь разместить и т.д. 

Плюсы 

  • Просто. 
  • Быстро.

Способ 2. Подключение к локальной сети через OpenVPN

Спасибо @klouner за идею, ссылка на оригинал статьи.

Минусы 

  • Чуточку тяжелее в настройке.
  • Нужно арендовать vds сервер. 

Плюсы 

  • Быстрое подключение.
  • Работа без тормозов. 
  • Подключение более стабильно, raspberry иногда вытаскивает ошибку.

Переходим к настройке... в видеоуроке рассматриваем подключение с помощью OpenVPN.

Подключение к локальной сети через raspberry pi и vnc server.

Вначале инсайт (может быть очень полезен).

  • Подключение по SSH в raspberry pi по умолчанию закрыто. Чтобы открыть его без монитора, закидываем пустой файл с наименованием "ssh" на флешку в корневую директорию raspberry pi, расширение для этого файла не указываем. Подключение по ssh будет открыто.

Нашел статью, здесь предварительная инструкция. Ссылочка на статью.

Итак, если все сделали по инструкции, то подключение по vnc настроено для локальной сети. Теперь настроим vnc через облако.

Вот мы на рабочем столе raspberry pi, далее открываем vnc сервер, иконка в правом верхнем углу.

1600x_image.png?1605185429

Переходим в меню и выбираем licensing, далее вводим логин и пароль от аккаунта realvnc. Аккаунт создаем на оф сайте: https://www.realvnc.com/en/raspberrypi/

В меню может не быть опции "Licensing", в таком случае вызовем эту опцию по-другому. 


1600x_image.png?1605185428

Открываем командную строку в raspberry pi и вводим:

vnclicensewiz

Открывается окно для ввода данных, логинимся, создаем raspberry pi как новое устройство.

Настройка на стороне raspberry pi завершена, далее открываем наш ПК, запускаем vnc viewer.

Логинимся, во второй вкладке появится наше удаленное устройство.

1600x_image.png?1605185428

Подключение к локальной сети через OpenVPN

Настраиваем сервер

Сервер нужно арендовать. Выбираем любого хостера и самый дешевый тариф vds сервера, у меня - sprinthost. 

Подключаемся к серверу по ssh с помощью программы putty. IP-адрес и пароль узнаем у хостера.

Теперь обновляем систему:

apt update
apt upgrade

Далее запускаем инсталлятор:

wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

В процессе установки следуем всем рекомендациям установщика. Также будет предложено создать клиента, для этого пишем его название, например, wb_abrom. В корневой директории нашего сервера будет создан файл /root/wb_abrom.ovpn. Это файл конфигурации для клиента. Подобные файлы нужно будет сделать для каждого клиента в сети. Нашими клиентами будут выступать wirenboard и ПК на windows 10. Для wirenboard файл конфигурации с расширением ovpn НЕ подойдет, переименуем его на conf. Для ПК на windows используем расширение ovpn.

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

Открываем скрипт:

nano openvpn-install.sh

Далее примерно на 495 строке после:

new_client 
echo

Добавляем 2 строчки:

cp ~/"$client.ovpn" ~/"$client.conf" #эту строку добавляем
echo "$client added. Configuration available in:" ~/"$client.conf" #тут тоже ovpn поменял на conf для красоты
Далее Ctrl O, Enter и Ctrl X.

Теперь создадим нового клиента для wirenbord. Для этого вводим:

bash openvpn-install.sh

Выбираем 1 пункт, название клиента любое, у меня wb_abrom_client 
Создаются 2 файла: 

/root/wb_abrom_client.conf 

/root/wb_abrom_client.ovpn   

Создадим еще одного клиента с именем pc_abrom_client (будем использовать для ПК)

Также создаются 2 файла:

/root/pc_abrom_client.conf 

/root/pc_abrom_client.ovpn   

На этом настройка сервера закончилась, идем дальше. Настраиваем linux контроллер, в нашем случае wirenboard.

Подключаемся к контроллеру по ssh.

Выполняем:

apt-get install openvpn easy-rsa
cp -R /usr/share/easy-rsa /etc/openvpn/

Убедимся в работе.

root@wirenboard-XXXXXXXX:~# service openvpn start
root@wirenboard-XXXXXXXX:~# service openvpn status

Должно появиться что-то по типу:

   Loaded: loaded (/lib/systemd/system/openvpn.service; enabled; vendor preset: enabled)
   Active: active (exited) since Sat 2020-10-10 13:19:51  08; 2 days ago #показатель что все корректно запустилось
 Main PID: 2383 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/openvpn.service
окт 10 13:19:50 wirenboard-XXXXXXXX systemd[1]: Starting OpenVPN service...
окт 10 13:19:51 wirenboard-XXXXXXXX systemd[1]: Started OpenVPN service.

Скачиваем конфиг файл с сервера на wirenboard в директорию /etc/openvpn/client:

scp root@ip_адрес_сервера:/root/wb_abrom_client.conf /etc/openvpn/client

Далее вводим пароль сервера. Запускаем только что скаченную конфигурацию.

systemctl start openvpn-client@wb_abrom_client #стартуем
systemctl status openvpn-client@wb_abrom_client #проверяем статус

Добавляем запуск конфига в автозагрузку:

systemctl enable openvpn-client@wb_abrom_client #включаем автозагрузку при старте системы

Настраиваем клиент на компьютере.
Скачиваем OpenVPN клиентскую часть на компьютер. Далее импортируем файл конфигурации клиента с расширением ovpn. Чтобы достать конфигурационный файл с сервера, можно воспользоваться программой FileZilla. Далее подключаемся по ssh к нашему серверу и скачиваем наш конфигурационный файл.

Как подключиться?

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

cat /etc/openvpn/server/openvpn-status.log

Заходим в браузер, вводим ip адрес вайрена. 

Удаление OpenVPN

С Wirenboard:

apt-get remove --auto-remove openvpn

С сервера:

bash openvpn-install.sh

Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @SprutAI

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
К списку статей
Россия, г. Казань
+7 843 255-50-92

Устройства в материале

Wiren Board 6

Производитель: WirenBoard

Raspberry Pi 4

Производитель: Raspberry Pi
Заказать на:

Скидки для сообщества

Wiren Board

+7 495 150-66-19
Промокод:
SPRUTDELIVERY
Размер скидки:
0%
Вы получите бесплатную доставку.

Похожие статьи

15 ноября 2018, 09:42
Способы автоматизации механических ворот
25 сентября 2020, 11:49
Сенсорный монитор для управления умным домом. Настройка и использование.
28 августа 2018, 09:48
От голого Raspbian до веб-интерфейса homebridge за четыре команды в терминале.
03 октября 2018, 22:03
Как собрать и настроить Hyperion Ambilight - адаптивную подсветку ТВ.
18 февраля 2020, 17:06
В данной статье описывается сборка слаботочного эл. щита на базе Wiren Board 6, а так же силового щита для небольшой квартиры.
01 октября 2019, 07:07
"У всякого в умном дому неведомо никому" (с) Народная мудрость
24 августа 2018, 09:49
Как удаленно управлять Mac через Siri.
09 января 2019, 17:34
Небольшая статья о том, зачем нужна малина, почему автоматизации в HomeKit это не очень хорошо и чем USB стик лучше отдельного шлюза.
26 ноября 2018, 12:35
Выключение и включение компьютера через HomeBridge, а так-же через HomeAssistant
04 апреля 2019, 17:48
Расскажу о том за ~1 час перевезти УД с 2мя USB стиками с Raspberry PI на Synology NAS.