Перейти к содержимому

Введение в ZeroTier

    В данной статье мы разберемся как произвести базовую настройку и как установить ZeroTier на различные операционные системы.

    ZeroTier —  это приложение с открытым исходным кодом, использующее некоторые из последних разработок в SDN, которое позволяет пользователям создавать защищенные, управляемые сети и рассматривать связанные устройства так, будто они находятся в одном физическом месте. 

    Данный инструмент использует пиринговую технологию, а это значит, что, в отличие от традиционных VPN-решений, в процессе коммуникации не используется центральный сервер или маршрутизатор, а сообщения пересылаются напрямую из хоста к хосту. Результатом этого является высокая эффективность и минимальное время задержки.

    В данной инструкции будет использоваться:

    • Удаленный сервер под управлением Ubuntu Server
    • Мобильное устройство
    • Стационарный компьютер
    • Аккаунт на сайте my.zerotier.com

    Регистрация аккаунта ZeroTier

    Платформа ZeroTier предоставляет удобный интерфейс для для управления вашей сетью, все что необходимо это создать аккаунт на my.zerotier.com.

    По мимо классической регистрации вы можете создать аккаунт используя свой логин в Google, GitHub либо Microsoft.

    После входа в аккаунт необходимо создать сеть, для этого нажимаем на кнопку Create Network

    После создания сети ей присваивается уникальный Network ID, данный ID мы и будем использовать для добавления устройство в сеть. ID изменить невозможно, а вот имя сети можно изменить.

    Вы можете создать несколько сетей и управлять ими из одного аккаунта.

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

    Перед началом подключения устройств необходимо знать, что тип ZeroTier сети может быть Private и Pablic.

    По-умолчанию созданная сеть имеет статус частно(Private) сети, это означает, что для того чтобы подключить новое устройство в сеть необходимо его авторизовать, подтвердить добавление. Если же вы установите тип сети как публичная, то все у кого будет ID вашей сети смогут подключиться к ней и получить доступ к ее ресурсам.

    В нашем примере мы будем использовать частную сеть.

    Установка ZeroTier One в Linux

    Наше первое устройство которое мы подключим к ZeroTier сети будет виртуальный сервер по управлением Ubuntu.

    Для подключения Linux сервера к сети ZeroTier нам необходимо установить клиент ZeroTier One. Так как ZeroTier One появился относительно недавно то он еще не внесен в официальный репозиторий то его необходимо устанавливать отдельно.

    Для установки ZeroTier One в Ubuntu / Debian выполним следующую команду

    curl -s 'https://raw.githubusercontent.com/zerotier/ZeroTierOne/master/doc/contact%40zerotier.com.gpg' | gpg --import && \
    if z=$(curl -s 'https://install.zerotier.com/' | gpg); then echo "$z" | sudo bash; fi

    После успешной установки вы увидите примерно следующее сообщение

    *** Enabling and starting ZeroTier service...
    Synchronizing state of zerotier-one.service with SysV service script with /lib/systemd/systemd-sysv-install.
    Executing: /lib/systemd/systemd-sysv-install enable zerotier-one
    
    *** Waiting for identity generation...
    
    *** Success! You are ZeroTier address [ 89c8c749be ].

    Будет сгенерирован адрес ZeroTier для текущего сервера, в коде выше адрес сервера 89c8c749be. Именно этот адрес мы увидим при запросе на подключение.

    Теперь для подключения к нашей сети необходимо выполнить команду

    sudo zerotier-cli join 1c33c1ced0ff7a67

    В данном примере 1c33c1ced0ff7a67 это ID сети которую мы создали. После успешного подключения мы увидим следующее сообщение

    200 join OK

    Так как мы создали частную сеть то для того чтобы наш сервер мог подключиться к сети необходимо его авторизовать. Переходим в панель управления ZeroTire my.zerotier.com

    Мы видим уведомление, что к нашей сети подключился новый ID и для того чтобы его авторизировать необходимо отметить чекбокс в столбце Auth?

    После добавления добавления устройства в сеть мы можем дать ему имя и описание.

    Также мы видим IP адрес нашего сервера, а именно 10.144.164.26. Подключимся к нашему серверу и посмотрим информацию о сетевых интерфейсов для этого выполним команду ifconfig

    У нас появился новый интерфейс zt2lrt5nfx с IP адресом 10.144.164.26

    Установка ZeroTier One в Docker

    Для установки ZeroTire One в Docker необходимо выполнить две команды

    docker run --name zerotier-one --device=/dev/net/tun --net=host \
      --cap-add=NET_ADMIN --cap-add=SYS_ADMIN \
      -v /var/lib/zerotier-one:/var/lib/zerotier-one zyclonite/zerotier

    После загрузки контейнера выполняем команду заменив network_id на ID вашей сети.

    docker exec zerotier-one zerotier-cli join network_id

    Установка ZeroTier One MacOS

    Для установки клиента ZeroTier One на MacOS необходимо скачать файл .pkg с официального сайта

    После установки пакета запускаем его и в системном трее у нас появится иконка ZeroTier.

    Вводим ID сети к которой необходимо подключиться и нажимаем Join Network.

    Установка ZeroTier One в Windows

    Для установки ZeroTier One в операционную систему Windows необходимо скачать установочный файл с официального сайта и произвести установку.

    После установки запускаем приложение и вводим ID вашей сети в окно рядом с кнопкой Join Network.

    Установка ZeroTier One на Android и iOS

    Приложение ZeroTier One есть как в Google Play так и в App Store.

    Скачать ZeroTier One для Android

    Скачать ZeroTier One для iOS

    Проверка подключения

    После добавления клиентов мы можем перейти к их тестированию. На одном из устройств запустим пинг на устройство которое находится в данной сети.

    Пинг проходит и устройство доступно по сети. После базовой настройки вы можете производить подключение к удаленному устройству.