avatar_razor1995

Konfiguracja ZeroTier na routerze z OpenWRT - kompletny poradnik

Zaczęty przez razor1995, 05 Kwiecień 2025, 15:01:01

Poprzedni wątek - Następny wątek

0 użytkowników i 1 Gość przegląda ten wątek.

razor1995


Konfiguracja ZeroTier na routerze z OpenWRT wydaje się skomplikowana. Z typ poradnikiem - każdy z Was z pewnością da sobie radę :)
Zaczynamy!

Zaloguj się do swojego routera i uruchom polecenia:
opkg update oraz
opkg install zerotier, aby zainstalować ZeroTier, jak pokazano poniżej:
root@OpenWrt:~# opkg update
root@OpenWrt:~# opkg install zerotier
Installing zerotier (1.14.1-1) to root...
Installing libstdcpp6 (13.3.0-4) to root...
Installing kmod-tun (6.6.51-1) to root...
Installing ip-tiny (6.9.0-1) to root...
Installing libminiupnpc (2.2.8-1) to root...
Installing libnatpmp1 (20230423-1) to root...
Installing libatomic1 (13.3.0-4) to root...
Configuring kmod-tun.
Configuring libstdcpp6.
Configuring ip-tiny.
Configuring libminiupnpc.
Configuring libnatpmp1.
Configuring libatomic1.
Configuring zerotier.
disabled in /etc/config/zerotier
Zwróć uwagę, że zarówno wersje, jak i zależności mogą się nieznacznie różnić w zależności od wersji ZeroTier lub OpenWrt.

Skonfiguruj ZeroTier na swoim routerze z OpenWrt.

Aby skonfigurować ZeroTier na routerze, musisz najpierw utworzyć sieć. Jeśli jeszcze tego nie zrobiłeś, zapoznaj się z przewodnikiem Nie masz uprawnień do wyświetlania linków. Zarejestruj się lub Zaloguj, aby to zrobić.
W naszym przykładzie identyfikator sieci ZeroTier to 8ad5123ed69d6f69, jednak w Twoim przypadku będzie to inna wartość.
Jeśli sprawdzimy konfigurację ZeroTier za pomocą
uci tuż po instalacji, zobaczymy coś takiego:
root@OpenWrt:~# uci show zerotier
zerotier.global=zerotier
zerotier.global.enabled='0'
zerotier.earth=network
zerotier.earth.id='8056c2e21c000001'
zerotier.earth.allow_managed='1'
zerotier.earth.allow_global='0'
zerotier.earth.allow_default='0'
zerotier.earth.allow_dns='0'
Ta konfiguracja znajduje sie w pliku: /etc/config/zerotier
To jest tylko przykładowa konfiguracja, która pokazuje wszystkie dostępne opcje, jakie możesz ustawić.
Aby dołączyć do swojej sieci, stwórzmy teraz nową, prostą konfigurację:
uci set zerotier.global.enabled='1'
uci delete zerotier.earth
uci set zerotier.openwrt_network=network
uci set zerotier.openwrt_network.id='8ad5123ed69d6f69'
uci commit zerotier
Za "8ad5123ed69d6f69" podstawiamy ID naszej sieci!
Po utworzeniu konfiguracji restarujemy router poleceniem:
root@OpenWrt:~# reboot
Po ponownym uruchomieniu routera, zaloguj się ponownie przez SSH i sprawdź, czy interfejs
ztXXXXXXXX jest aktywny i działa.
XXXXXXXX to wartość wygenerowana na podstawie identyfikatora sieci (network ID):
root@OpenWrt:~# ip a
... (several networks)
7: ztXXXXXXXX: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 2800 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ether 02:86:64:98:4b:6d brd ff:ff:ff:ff:ff:ff
    inet6 fe80::86:64ff:fe98:4b6d/64 scope link proto kernel_ll
      valid_lft forever preferred_lft forever
Twój klient ZeroTier powinien być w stanie online:
root@OpenWrt:~# zerotier-cli info
200 info 866484a9af 1.14.1 ONLINE
Jeśli teraz spojrzymy na naszą konfigurację, powinna pojawić się nowa opcja o nazwie secret:
root@OpenWrt:~# uci show zerotier
zerotier.global=zerotier
zerotier.global.enabled='1'
zerotier.global.secret='0e49c4d11b:0:...'
zerotier.openwrt_network=network
zerotier.openwrt_network.id='8ad5123ed69d6f69'
Wartość
zerotier.global.secret to zawartość pliku
/var/lib/zerotier-one/identity.secret.
Jeśli z jakiegoś powodu ten secret nie pojawił się w konfiguracji, możesz dodać go za pomocą następującego polecenia:
uci set zerotier.global.secret="$(cat /var/lib/zerotier-one/identity.secret)"
uci commit zerotier
Po pewnym czasie Twój router OpenWrt powinien pojawić się w Twoim kontrolerze (na Nie masz uprawnień do wyświetlania linków. Zarejestruj się lub Zaloguj lub na Twoim własnym serwerze).
Upewnij się, że autoryzujesz klienta, aby mógł pobrać adres IP z Twojej sieci. Ponieważ chcemy później kierować cały ruch wszystkich członków naszej sieci ZeroTier do naszej sieci lokalnej (LAN), upewnij się, że adres IP ZeroTier Twojego routera OpenWrt jest ustawiony na 172.28.28.1, konfigurując go ręcznie w kontrolerze ZeroTier (np. Nie masz uprawnień do wyświetlania linków. Zarejestruj się lub Zaloguj). Pamiętaj także, aby zaznaczyć opcję Allow Ethernet Bridging.

Uwaga: Jeśli zmienisz jakiekolwiek ustawienia sieciowe dla klienta ZeroTier działającego na Twoim routerze OpenWrt, powinieneś ponownie uruchomić router, ponieważ czasami nie zaktualizuje on zmienionej konfiguracji.
Po autoryzacji routera OpenWrt jako klienta ZeroTier, router powinien pobrać konfigurację Twojej sieci (np. adres IP) dla swojego interfejsu
ztXXXXXXXX:
root@OpenWrt:~# ip a
... (several networks)
7: ztXXXXXXXX: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 2800 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ether 02:86:64:98:4b:6d brd ff:ff:ff:ff:ff:ff
    inet 172.28.28.1/24 brd 172.28.28.255 scope global ztXXXXXXXX
      valid_lft forever preferred_lft forever
    inet6 fe80::86:64ff:fe98:4b6d/64 scope link proto kernel_ll
      valid_lft forever preferred_lft forever

Otwórz zaporę OpenWrt dla przychodzących połączeń ZeroTier.

Musisz skonfigurować zaporę, aby zezwolić na przychodzące połączenia UDP na port 9993, aby uzyskać lepszą wydajność.Wystarczy wykonać następujące polecenia:
uci add firewall rule
uci set firewall.@rule[-1].name='Allow-ZeroTier-Inbound'
uci set firewall.@rule[-1].src='*'
uci set firewall.@rule[-1].target='ACCEPT'
uci set firewall.@rule[-1].proto='udp'
uci set firewall.@rule[-1].dest_port='9993'
uci commit firewall
I zrestartuj zaporę, aby zastosować zmiany:
/etc/init.d/firewall restartTo powinno utworzyć wpis podobny do tego w pliku /etc/config/firewall:
config rule
    option enabled '1'
    option target 'ACCEPT'
    option proto 'udp'
    option dest_port '9993'
    option name 'Allow-ZeroTier-Inbound'
    option src '*'
Uwaga: Wartość
enabled '1' jest opcjonalna.

Na tym etapie sieć ZeroTier jest skonfigurowana i powinieneś być w stanie komunikować się z routera z dowolnym hostem w sieci i odwrotnie. Jeśli chcesz, aby także każdy host w Twojej sieci lokalnej mógł komunikować się z dowolnym hostem w sieci ZeroTier, zapoznaj się z dalszą częścią poradnika.

Konfiguracja routingu ZeroTier w OpenWrt.

Aktualna konfiguracja wygląda następująco:
  • Interfejs WAN routera OpenWrt: publiczny adres IP w internecie
  • Interfejs LAN routera OpenWrt: 192.168.1.1
  • Zakres IP przełącznika LAN na routerze OpenWrt: 192.168.1.0/24
  • Adres IP interfejsu zt na routerze OpenWrt: 172.28.28.1
  • Trasa sieci ZeroTier na routerze OpenWrt: 172.28.28.0/24 przez zt

Aby skonfigurować routing, musimy utworzyć nowy interfejs OpenWrt oraz strefę, zgodnie z poniższymi szczegółami:
# Tworzymy interfejs
uci set network.ZeroTier=interface
uci set network.ZeroTier.proto='none'
uci set network.ZeroTier.device='ztXXXXXXXX' # Zastąp ztXXXXXXXX nazwą swojego własnego interfejsu ZeroTier.
# Tworzymy strefę
uci add firewall zone
uci set firewall.@zone[-1].name='vpn'
uci set firewall.@zone[-1].input='ACCEPT'
uci set firewall.@zone[-1].output='ACCEPT'
uci set firewall.@zone[-1].forward='ACCEPT'
uci set firewall.@zone[-1].masq='1'
uci add_list firewall.@zone[-1].network='ZeroTier'
uci add firewall forwarding
uci set firewall.@forwarding[-1].src='vpn'
uci set firewall.@forwarding[-1].dest='lan'
uci add firewall forwarding
uci set firewall.@forwarding[-1].src='vpn'
uci set firewall.@forwarding[-1].dest='wan'
uci add firewall forwarding
uci set firewall.@forwarding[-1].src='lan'
uci set firewall.@forwarding[-1].dest='vpn'
# Zapisujemy zmiany
uci commit
Zrestartuj zaporę, aby zastosować zmiany:
/etc/init.d/firewall restart
Po zakończeniu tej konfiguracji, zmiany będą widoczne w LuCI. Interfejs w sekcji Sieć -> Interfejsy:


Uwaga: Interfejs Niezarządzany nigdy nie pokazuje swojego adresu IP w LuCI. Aby zobaczyć adres IP, należy użyć polecenia
ip a z wiersza poleceń.
I strefa w sekcji Sieć -> Zaporę:


Uwaga: Czasami ponowne uruchomienie zapory nie stosuje wszystkich zmian poprawnie. Dobrze jest całkowicie zrestartować router, aby upewnić się, że zmiany zostały prawidłowo zastosowane.

Dzięki trasie, którą ustawiliśmy dla sieci ZeroTier w kontrolerze ZeroTier na Nie masz uprawnień do wyświetlania linków. Zarejestruj się lub Zaloguj (192.168.1.0/24 przez 172.28.28.1), każdy z członków Twojej sieci ZeroTier może teraz dotrzeć do adresów IP w sieci LAN (192.168.1.0/24) za routerem OpenWrt.
Laptop: Lenovo ThinkPad T480s | Intel Core i5 8250U | Intel HD 620 | 24GB RAM Hynix | Lexar NM620 NVME 1TB | Windows 10 Pro
Laptop testowy: Lenovo ThinkPad T430 | Intel Core i7 3740QM | Intel HD 4000 | 16GB RAM Hynix | Samsung 850 Pro 256GB | Windows 7 Pro | Windows XP Pro x64
PC: MSI Z87-G43 | Intel Xeon E3-1240 v3 | nVidia RTX 3060Ti 8GB | 32GB RAM Hynix | GoodRAM PX 500 NVME 512GB | Windows 10 Pro
Mobile: Google Pixel 6 | Google Tensor GS101 @2.8 GHz | Mali-G78 MP20 | 8GB RAM | 128GB MMC | Android 15
Sieć: Cudy WR3000 AX OpenWRT | Huawei HG8010H | Netia 1Gb/s
PlayStation 4 | CUH-1116A | 1TB SSD|