Думаю многие задаются вопросом: как подключиться к 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 <nickname>
4. Создаем сеть используя команду create <network id> [<password>]. Если сразу не указывать пароль, то 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 <network id> [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 <network id> <client id>
root@valrond:~# hamachi approve _valsNet_ 260-533-300
Approve _valsNet_ in 260-533-300 .. ok
После этого пользователь будет добавлен в сеть.
Для того, чтобы исключить пользователя из сети используем команду evict <network id> <client id>
Для подключения / отключения самой OPi от сети используются команды:
go-online <network id> подключиться
go-offline <network id> отключиться
На этом настройка закончена. Все готово к подключению. Единственное что осталось проверить — есть-ли 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 <network id> [<password>]
Мной было проверено соединение по SSH, а так же VNC.