ZeroTier свой контроллер

Установка своего ZeroTier контроллера на Debian 10.

ZTNCUI - пользовательский интерфейс сетевого контроллера ZeroTier
ZeroTier предоставляет виртуальное сетевое решение, удачно названное Global Area Networking . Это позволяет устройствам подключаться друг к другу через Интернет (и частные сети), как если бы они были подключены к одной локальной сети (LAN). Его очень просто развернуть - просто установитепрограммное обеспечение ZeroTier One и подключитесь к сети ZeroTier, используя 16-значный сетевой идентификатор.

Сети ZeroTier устанавливаются и настраиваются на сетевом контроллере ZeroTier . Вы можете использовать сетевые контроллеры, размещенные на ZeroTier, или настроить свой собственный автономный сетевой контроллер . Настройка контроллера автономной сети достаточно просто - достаточно просто установить ZeroTier Одно программное обеспечение и следуйте инструкциям по установке ниже , чтобы установить ZTNCUI на машине Linux.

Скачать дистрибутив и установить без графической оболочки, установить только утелиты и SSH Server.

Далее подключаемся по SSH через PuTTy логинемся под пользователем.
Повышаем права до root? командой su и пароль ( от root ).

Устанавливаем необходимые пакеты

apt-get install -y apt-transport-https gnupg mc iftop

Устанавливаем ZeroTierOne

С помощью PGP

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" | bash; fi

или HTTPS

curl -s https://install.zerotier.com | sudo bash

Устанавливаем систему управления ZeroTier Controller - ZTNCUI

curl -O https://s3-us-west-1.amazonaws.com/key-networks/deb/ztncui/1/x86_64/ztncui_0.7.1_amd64.deb
apt-get install ./ztncui_0.7.1_amd64.deb

Устанавливаем порт подключения 3443, или любой свой.
sh -c "echo 'HTTPS_PORT=3443' > /opt/key-networks/ztncui/.env"
sh -c "echo 'NODE_ENV=production' >> /opt/key-networks/ztncui/.env"

Перезагружаем контроллер
systemctl restart ztncui

Подключаемся через web
Логин пользователь admin и пароль password.
https://ipaddress:3443

 

Далее переходим к настройкам контроллера

Настройка контроллера
Add network -> Название сети

Easy setup of network ->
Network address in CIDR notation 192.168.20.0/24
Start of IP assignment pool 192.168.20.1
End of IP assignment pool 192.168.20.255

Для подключения только авторизованным хостам
Private -> Enable access control

Описываем маршруты для доступа в локальные сети

ipAssignmentPools и v4AssignMode автоматическая раздача адресов

v6AssignMode не настраиваем

DNS -> Ставим IP вашего DNS Сервера или 127.0.0.1

Подключаем контроллер к сети Zerotier-one и CLI все действия по SSH
systemctl start zerotier-one

Подключить его к существующей сети ZeroTier - eb964b2e6d778687
/sbin/zerotier-cli join eb964b2e6d778687

Не обязательно
Разрешите переопределение маршрута по умолчанию на устройствах
/sbin/zerotier-cli set eb964b2e6d778687 allowDefault=1

Дополнительные комманды
/sbin/zerotier-cli -j listnetworks
/sbin/zerotier-cli listnetworks
/sbin/zerotier-cli info -j
/sbin/zerotier-cli listpeers
/sbin/zerotier-cli peers

Удалить узел из сети можно командой в CLI этого узла.
/sbin/zerotier-cli leave eb964b2e6d778687

Как все пишут мы не делаем !!!
Команду отключения управление IP-адресами и маршрутами ZeroTier:
Не вносит информацию в ip route
/sbin/zerotier-cli set eb964b2e6d778687 allowManaged=0

Перезагрузить интерфейс
systemctl restart ztncui

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

ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 1e:6d:f8:c0:e6:fa brd ff:ff:ff:ff:ff:ff
inet 192.168.0.71/24 brd 192.168.0.255 scope global dynamic ens18
valid_lft 86070sec preferred_lft 86070sec
inet6 fe80::1c6d:f8ff:fec0:e6fa/64 scope link
valid_lft forever preferred_lft forever
3: ztyx5tzkhk: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 2800 qdisc pfifo_fast state UNKNOWN group default qlen 1000
link/ether 86:6d:e1:26:00:26 brd ff:ff:ff:ff:ff:ff
inet 192.168.20.1/24 brd 192.168.20.255 scope global ztyx5tzkhk
valid_lft forever preferred_lft forever
inet6 fe80::ec31:d4ff:fe41:3790/64 scope link
valid_lft forever preferred_lft forever

Есть два варианта DHCP или Static IP, где ens18 наш сетевой интерфейс, у вас может быть другой.
mcedit /etc/network/interfaces

allow-hotplug ens18
iface ens18 inet dhcp

или

allow-hotplug ens18
iface ens18 inet static
address 192.168.0.71
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255

Первым делом включим маршрутизацию пакетов между сетевыми интерфейсами. Для этого редактируем конфиг /etc/sysctl.conf:

mcedit /etc/sysctl.conf
net.ipv4.conf.all.rp_filter=2
net.ipv4.ip_forward=1

Смотрим маршруты для роутинга.
ip route
192.168.0.0/24 dev ens18 proto kernel scope link src 192.168.0.71
192.168.3.0/24 via 192.168.0.71 dev ens18 proto static
192.168.9.0/24 via 192.168.0.71 dev ens18 proto static
192.168.20.0/24 dev ztyx5tzkhk proto kernel scope link src 192.168.20.1

Для просмотра активности сетевого интерфейса, запускаем утилиту, указывая необходимый ключ:
/sbin/iftop -i ens18
/sbin/iftop -i ztyx5tzkhk

Чтобы увидеть порты, по которым идет трафик, добавляем ключ -P:
/sbin/iftop -i ztyx5tzkhk -P

Вот и все, Вы стали обладателем своего контроллера.