De rûtetabel lit in standertrûte fia de ZeroTier-ynterface sjen, it netwurk rapportearret online, en in browser giet noch hieltyd út fia it lokale ISP-adres. Dy kombinaasje is gewoan en it is gjin flater fan de klant. In standertrûte seit allinnich wêr't pakketten hinne moatte; earne oars moat se trochstjoere en oersette. Trije aparte dielen moatte wier wêze foar't in útgongsknooppunt wurket.

De rûte bestiet, mar der giet neat út

Kontrolearje earst de rûtetabel fan de klant. In rigel lykas default via 10.147.20.5 dev zt0 bewiist dat de rûte ynstallearre is, net dat de bestimming it ferkear akseptearret. De folgjende hop moat in lid wêze dat ree en by steat is om it troch te stjoeren.

As itselde fersyk noch hieltyd fia de fysike ynterface fuortgiet, hat de klant de rûte net ynstallearre, of hat er dy ynstallearre mei in metryk dy't ferlear fan 'e lokale standert. As it fersyk ferdwynt neidat de rûte ynstallearre is, ûntfangt it útgongslid pakketten en slagget it net om se troch te stjoeren of oer te setten. In klant dy't de fysike standert hâldt, stjoert hielendal gjin pakket nei de útgong.

Dat ûnderskied bepaalt wêr't wurke wurde moat. It fergelykjen fan in iepenbier adres foar en nei de feroaring skiedt in rûte dy't nea brûkt is fan ien dy't brûkt en fuortsmitten is, en it kostet ien opdracht ynstee fan in resinsje fan 'e hiele konfiguraasje. Doch de fergeliking foar't jo wat oars feroarje, sadat beide resultaten fan deselde begjinstân komme.

Trije dielen dy't allegear wier wêze moatte

In útgong is in keatling, en de swakste skeakel bepaalt it symptoom. De tabel hjirûnder lit de skeakels sjen yn 'e folchoarder wêryn't se meastentiids mislearje.

PartWhere it livesWhat a failure looks like
Forwarding and NATExit node kernel and firewallTraffic arrives, no reply
Managed default routeZeroTier network controllerNo default via the tunnel on the member
Client acceptanceMember's per-network settingRoute offered but not installed
DNS behaviorClient resolver configurationPages fail by name, IP works

De earste rigel is dejinge dy't de namme fan 'e opsje ferberget. In lid wurdt pas in útgong as syn kearn pakketten trochstjoert tusken de ZeroTier-ynterface en de ynterface nei it ynternet, en as it antwurdpaad werom oerset wurdt nei de tunnel. Sûnder dy trochstjoering is it lid in peet, gjin poarte.

De rigel fan 'e kontroller is autorisaasje, gjin konfiguraasje. It oankundigjen fan 0.0.0.0/0 fia in lid fertelt elke klant wêr't de útgong is; it makket dat lid net by steat om it ferkear te dragen. It ferifiearret ek net dat it lid in wurkend paad nei it ynternet hat. De dokumintaasje fan ZeroTier oer it útgongsknooppunt behannelet deselde skieding tusken knooppunt, rûte en klant.

Konfigurearje it útgongsknooppunt om troch te stjoeren en oer te setten

Skeakelje IPv4-trochstjoering permanint yn, foegje dan boarne-NAT ta foar ferkear dat de WAN-ynterface ferlit. De filterregels moatte de trochstjoerde stream yn beide rjochtingen tastean, om't trochstjoering en oersetting los steane fan tastimming:

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i zt0 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o zt0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

Ferfange zt0 en eth0 troch de nammen op 'e host; in regel dy't bewarre is foar in foarbyld-ynterface folget gjin pakketten op in echte. Meitsje de feroaringen permanint fia de firewall-behearder dy't de regels besit, om't in opdracht yn in ynteraktive shel by de folgjende werstart ferdwynt.

As de host in firewall-behearder draait lykas UFW of firewalld, foegje de regels dan fia dy behearder ta ynstee fan iptables-rigels derneist te steapeljen. Twa eigners dy't deselde keatlingen bewurkje, meitsje belied dat fan 'e opstartfolchoarder ôfhinget. Folchoarder is wichtich as de behearder syn eigen keatlingen generaasje. Test fan in klant nei it werladen fan 'e behearder, net earder.

Kundigje de rûte oan en akseptearje dy op 'e klant

Foegje op 'e netwurk-kontroller in behearder rûte ta foar 0.0.0.0/0 wêrfan't de folgjende hop it ZeroTier-adres fan it útgongslid is. Lit dan op it lid dat it brûke moat, de oerskriuwing foar dat netwurk ta. De tastimming is lokaal: it konfigurearret oare leden net opnij en feroaret de kontroller net.

zerotier-cli listnetworks
zerotier-cli set <network-id> allowDefault=1
ip route get 1.1.1.1

De lêste opdracht heart de ZeroTier-ynterface en it adres fan it útgongslid te rapportearjen. As er noch hieltyd de fysike ynterface rapportearret, ûntbrekt de rûte of hat in konkurrearjende standert in bettere metryk.

Hâld de ynstelling beheind ta it netwurk dat dy nedich hat. It ynskakeljen fan akseptaasje fan 'e standertrûte wrâldwiid, of op in netwurk dat allinnich in privee subnet leverje moat, stjoert ferkear fia in útgong dy't dêr nea foar bemjitten is.

Ferifiearje de útgong en kontrolearje de oare adresfamyljes

Freegje in iepenbier adres oan by in tsjinst dy't de boarne rapportearret, en fergelykje it mei it WAN-adres fan it útgongsknooppunt. Laad dan in neamd webstee om te befestigjen dat DNS noch oplost, en test ien applikaasje dy't wichtich is ynstee fan allinnich in browser.

In klant mei dûbele stapel kin syn eigen IPv6-paad bliuwe brûken wylst IPv4 fia ZeroTier fuortgiet. As it doel is al it ferkear te ferbergjen of te kontrolearjen, binne in aparte ::/0-rûte en IPv6-trochstjoering op 'e útgong nedich, en in IPv4-test seit neat oer har.

Linux syn omkearde paadfiltering kin ek jildich útgongferkear op 'e klant ferlieze. ZeroTier dokumintearret in rp_filter-oerweging foar dielnimmende leden; feroarje dy ynstelling bewust en pas neidat de rûte en NAT befêstige binne, net as it earste eksperimint.

As de eask tagong ta in NAS of ien kantoar-subnet is, is in behearder rûte foar dat foarheaksel in lytsere en feiliger feroaring as in folsleine útgong. Al it browsen fia in oar apparaat stjoere is in oare beslissing as ien privee boarne berikke, en it fertsjinnet in aparte resinsje.

Relatearre artikelen