Подключение к Orange Pi, Raspberry Pi через интернет
Думаю многие задаются вопросом: как подключиться к Orange Pi, Raspberry Pi через интернет? Как правило, при подключении к сети интернет провайдер использует серый IP адрес или динамический белый IP. Вторая ситуация несколько лучше, т.к. с помощью сервисов DDNS все-таки можно достучаться до своей внутренней сети. В случае серого IP нам «мешает» NAT провайдера, сквозь который пробиться практически не возможно. Конечно, можно купить себе белый статический IP адрес, но не всегда есть такая возможность.
Возникает потребность с каком-нибудь проски с известным IP, к которому могла бы подключаться Orange или Raspberry и устройство с которого мы хотим ими управлять и выполнять какие-то полезные действия, например управлять системой безопасности. О том как это можно реализовать можно прочитать в разделе VPROGS.
Поиски решения вопроса подключения привели меня к сервису Hamachi, предоставляемому компанией LogMeIn. Данный сервис широко используется для организации VPN сетей L2 игроками в компьютерные игрушки. Бесплатно можно создать сеть состоящую из не более чем пяти устройств.
На наше одноплатное счастье, компания LogMeIn написала клиент для процессоров с архитектурой ARM. Стоит упомянуть о том, что по информации компании, данные клиенты пока BETA, но все чудесно работает.
Теперь давайте разберемся как установить и настроить Hamachi на Orange Pi или Raspberry Pi.
Установка Hamachi на Orange Pi
В моем случае использовался Orange Pi Zero One с ос Armbian 21.02.3 Buster with Linux 5.10.21-sunxi.
Итак, по пунктам:
1. Переходим на страницу с дистрибутивами для Linux и копируем в буфер ссылку на версию armhf.
Все дальнейшие дейтсвия выполняются от root, если вы не он, не забывайте использовать sudo.
2. Подключаемся к Opi по SSH и скачиваем пакет deb с помощью wget:
root@valrond:~# wget https://www.vpn.net/installers/logmein-hamachi_2.1.0.203-1_armhf.deb
3. Устанавливаем пакет Hamachi
root@valrond:~# apt install ./logmein-hamachi_2.1.0.203-1_armhf.deb
4. Проверяем что все установилось, вызывая hamachi без опций
root@valrond:~# hamachi version : 2.1.0.203 pid : 1878 status : offline client id : address : nickname : lmi account:
На этом, собственно, этап установки завершен.
Настройка Hamachi на Orange Pi
1. Ключ -h выведет в консоль список возможных действий.
2. С помощью команды login подключаемся к серверу Hamachi
root@valrond:~# hamachi login Logging in . ok
3. На всякий случай проверяем что мы действительно подключились (вызываем hamachi без опций)
root@valrond:~# hamachi version : 2.1.0.203 pid : 1878 status : logged in client id : 260-552-389 address : 25.33.128.96 2620:9b::1921:8060 nickname : valrond lmi account: -
Имя устройства можно изменить с помощью команды:
set-nick
4. Создаем сеть используя команду create [] . Если сразу не указывать пароль, то hamachi попросит нас сделать это следующим действием.
root@valrond:~# hamachi create _valsNet_ Password: Creating _valsNet_ .. ok
5. Смотрим информацию о сетях с помощью команды list :
root@valrond:~# hamachi list * [_valsNet_] capacity: 1/5, subscription type: Free, owner: This computer
Для изменения режима доступа пользователей к сети используется команда:
set-access [lock|unlock] [manual|auto]
Она позволяет ограничить нашу сеть от непрошенных гостей.
Для ограничения доступа к сети используем следующую команду:
root@valrond:~# hamachi set-access _valsNet_ lock Setting access for _valsNet_ .. ok
После этого любой пользователь, ранее не зарегистрированный в сети, будет получать сообщение о том что в сеть войти нельзя. Разблокировать сеть можно передавая параметр unlock
Если мы хотим добавлять пользователей только с нашего разрешения то пишем так:
root@valrond:~# hamachi set-access _valsNet_ manual Setting access for _valsNet_ .. ok
При попытке подключения пользователь получит сообщение о том что его должны добавить в сеть и только после этого он получит доступ.
Мы же, запустив list увидим следующее:
root@valrond:~# hamachi list * [_valsNet_ ] capacity: 1/5, subscription type: Free, owner: This computer ? 260-533-300
260-533-300 это идентификатор пользователя, которого мы можем добавить к сети используя команду approve
root@valrond:~# hamachi approve _valsNet_ 260-533-300 Approve _valsNet_ in 260-533-300 .. ok
После этого пользователь будет добавлен в сеть.
Для того, чтобы исключить пользователя из сети используем команду evict
Для подключения / отключения самой OPi от сети используются команды:
go-online подключиться
go-offline отключиться
На этом настройка закончена. Все готово к подключению. Единственное что осталось проверить — есть-ли hamachi в списке автозагрузки. Проверим.
root@valrond:~# systemctl is-enabled logmein-hamachi logmein-hamachi.service is not a native service, redirecting to systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install is-enabled logmein-hamachi enabled
Если службы по какой-то причине нет, или статус — disabled, необходимо добавить ее в автозапуск командой:
systemctl enable logmein-hamachi
Теперь, если апельсин будет перезагружен, наша сеть поднимется сама.
Настройка клиента Hamachi под Windows
Здесь все еще проще, так как в наличии GUI с окошечками)
1. Скачиваем с официального сайта клиент под Винду и устанавливаем его.
2. Клиент под Винду требует регистрации. Если у вас нет аккаунта — создаем его и логинимся.
3. После успешного запуска вы увидите такое окно.
Нажимаем «Подключиться к существующей сети…»
4. Указываем идентификатор сети, который мы придумали при создании сети на OPi и пароль, нажимаем подключиться.
Все!
5. Можем пингами проверить доступность апельсина.
Теперь при помощи сервиса hamachi, любезно предоставленного компанией LogMeIn, можем подключаться к Orange Pi, Raspberry Pi практически с любых устройств, в том числе и с них самих, используя команду:
join []
Мной было проверено соединение по SSH, а так же VNC.
Оцените пожалуйста статью:
Как сделать Raspberry Pi доступным из интернета
- Входим в админку роутера, открыв в браузере 192.161.1.1 (адрес может отличаться. Найти можно, введя в консоль ipconfig. Ищите там похожие адреса). Роутер может запросить логин и пароль. Попробуйте найти наклейку на самом роутере или попробуйте admin admin
- Находим мак-адрес расбы ifconfig wlan0 | grep ether
- Находим раздел для резервации IP и прописываем там найденный мак. Если у вас получилось подключиться к роутеру по 192.161.1.1, то можете смело указывать рядом с маком 192.168.1.123. В другом случае может потребоваться изменение адреса, как требует DHCP (настраивается рядом, скорее всего)
- После перезагрузки роутера Raspberry должен выделиться новый внутренний адрес. Проверить можно введя на нем ifconfig wlan0 . Если этого не случилось, то поищите настройки, похожие на те, что на скриншоте ниже Также убедитесь, что с этого момента вы можете подключиться к расбе через ssh pi@192.168.1.123 . Напишите в комментариях, если возникли проблемы
Пробрасываем 22 порт с расбы «наружу»
Сейчас Raspberry доступна только во внутренней сети. Тоесть, вы можете подключиться к ней с устройств, подключенных к тому же WiFi. Чтобы к ней можно было подключиться с «мира» мы должны рассказать роутеру, на какое устройство перенаправлять трафик по 22 порту.
Наша Raspberry с предыдущего пункта имеет адрес 192.168.1.123
- Находим настройки виртуальных серверов (virtual servers). Может иметь другое название, но должно быть связано с разделом переадресации (redirects)
- Добавляем новое правило. Порты некоторых сервисов: SSH 22, FTP 21, WEB 80 и 443 (для https://)
- Перезагружаем роутер и подключаемся к устройству уже через ssh pi@ip , где ip — ваш внешний IP адрес (можно узнать на 2ip.ru)
- Вы великолепны
Если у вас динамический IP
Предположим, что у вас, как и уменя, изменяется IP, а значит, что однажды вы не сможете достучаться до своей Raspberry по адресу, «который вчера еще работал». В таких случаях удобнее использовать домен в качестве адреса для подключения. Здесь я рассказывал, как это сделать.
И напоследок, буду рад вопросам в комментариях. Это позволит сделать пост более информативным и полезным