D'Routentabell weist eng Standardroute iwwer d'ZeroTier-Interface, den Netz mellt sech online, an de Browser geet nach ëmmer iwwer déi lokal ISP-Adress eraus. Dës Kombinatioun ass heefeg an et ass kee Feeler vum Client. Eng Standardroute seet just wou d'Pakete solle goen; op der anerer Säit muss eppes se viruleeden an iwwersetzen. Dräi getrennte Deeler mussen stëmmen, ier en Exit-Node funktionnéiert.

D'Route gëtt et, awer et geet näischt eraus

Kuckt d'éischt d'Routentabell vum Client. Eng Linn wéi default via 10.147.20.5 dev zt0 beweist, datt d'Route installéiert gouf, net datt d'Destinatioun de Verkéier akzeptéiert. Den nächsten Hop muss e Member sinn, deen bereet an an der Lag ass, se viruleeden.

Wann déi selwecht Ufro nach ëmmer iwwer d'physesch Interface erausgeet, huet de Client d'Route net installéiert, oder huet se mat enger Metrik installéiert, déi géint d'lokal Standardroute verluer huet. Wann d'Ufro verschwënnt, nodeems d'Route installéiert ass, kritt den Exit-Member Paketen a versäit se viruleeden oder z'iwwersetzen. E Client deen déi physesch Standardroute behält, schéckt guer kee Paket zum Exit.

Dee Verbët entscheet, wou geschafft gëtt. Eng ëffentlech Adress virun an no der Ännerung vergläichen trennt eng Route, déi ni benotzt gouf, vun enger déi benotzt an da verworft gouf, an et brauch just eng Kommando amplaz eng Iwwerpréiwung vun der ganzer Konfiguratioun. Maacht de Verglach ier Dir eppes anescht ännert, sou datt béid Resultater vum selwechten Ausgangszoustand kommen.

Dräi Deeler déi all stëmmen

En Exit ass eng Kette, an dat schwächst Glidd bestëmmt d'Symptom. D'Tabell ënnendrënner listet d'Glieder an der Rei op, an där se üblecherweis versoen.

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

Déi éischt Zeil ass déi, déi den Numm vun der Optioun verstoppt. E Member gëtt eréischt en Exit, wann säi Kernel Paketen tëscht der ZeroTier-Interface an der internetzougedréiter Interface viruleet, an wann de Réckwee zréck an den Tunnel iwwersat gëtt. Ouni dës Viruleedung ass de Member e Peer, net en Gateway.

D'Zeil vum Controller ass Autorisatioun, net Konfiguratioun. 0.0.0.0/0 iwwer e Member annoncéieren seet all Client wou den Exit ass; et mécht deen Member net fähig de Verkéier ze droen. Et verifizéiert och net, ob de Member en funktionéierende Wee an d'Internet huet. D'ZeroTier-Dokumentatioun zum Exit-Node deckt déiselwecht Trennung tëschent Node, Route a Client.

Konfiguréiert den Exit-Node fir viruleeden an z'iwwersetzen

Aktivéiert d'IPv4-Viruleedung dauerhaft, da füügt Quell-NAT fir de Verkéier bäi, deen d'WAN-Interface verléisst. D'Filterregelen mussen de viruleete Floss a béide Richtungen erlaben, well Viruleedung an Iwwersetzung vun der Erlaabnis getrennt sinn:

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

Ersetzt zt0 an eth0 duerch d'Nimm um Host; eng Regel déi fir eng Beispill-Interface gespäichert gouf, follegt keng Paketen op enger richteget. Maacht d'Ännerungen duerch de Firewall-Manager dauerhaft, deem d'Reegelen gehéieren, well eng Kommando an enger interaktiver Shell beim nächste Neistart verschwënnt.

Wann den Host e Firewall-Manager wéi UFW oder firewalld bedreift, füügt d'Reegelen iwwer dee Manager bäi amplaz iptables-Linnen niewendrun ze stapelen. Zwee Propriétairë, déi déiselwecht Ketten änneren, produzéieren eng Politik déi vun der Startuerdnung ofhänkt. D'Uerdnung zielt wann de Manager seng eege Ketten generéiert. Test vun engem Client nodeems de Manager nei gelueden gouf, net virdrun.

Annoncéiert d'Route an akzeptéiert se um Client

Füügt um Netzwierk-Controller eng verwalt Route fir 0.0.0.0/0 bäi, deen nächsten Hop d'ZeroTier-Adress vum Exit-Member ass. Erlaabt dann um Member, deen se benotze soll, d'Iwwerschreiwung fir deen Netz. D'Erlaabnis ass lokal: et rekonfiguréiert aner Memberen net an ännert de Controller net.

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

Déi lescht Kommando sollt d'ZeroTier-Interface an d'Adress vum Exit-Member mellen. Wann se nach ëmmer d'physesch Interface mellt, feelt d'Route oder eng konkurréierend Standardroute huet eng besser Metrik.

Halt d'Astellung op deen Netz beschränkt, deen se brauch. D'Akzeptanz vun der Standardroute global oder an engem Netz ze aktivéieren, dee just en private Subnet soll ubidden, schéckt de Verkéier iwwer en Exit deen dofir ni dimensionéiert gouf.

Verifizéiert den Exit a kuckt déi aner Adressfamilljen

Frot eng ëffentlech Adress bei engem Service un, deen d'Quell mellt, a vergläicht se mat der WAN-Adress vum Exit-Node. Luet dann eng benannt Säit fir ze bestätegen, datt DNS nach ëmmer opléist, a test eng wichteg Applikatioun amplaz nëmmen e Browser.

E Client mat duebelem Stack kann säi native IPv6-Wee weider benotzen, während IPv4 iwwer ZeroTier erausgeet. Wann d'Zil ass, de ganze Verkéier ze verstoppen oder ze kontrolléieren, sinn eng separat ::/0-Route an IPv6-Viruleedung um Exit noutwendig, an en IPv4-Test seet näischt doriwwer.

Déi ëmgedréit Wee-Filterung vu Linux kann och valabel Exit-Verkéier um Client verwerfen. ZeroTier dokumentéiert eng rp_filter-Iwwerleeung fir deelhuelend Memberen; ännert déi Astellung bewosst a just nodeems Route an NAT confirméiert sinn, net als éischten Experiment.

Wann d'Ufuerderung den Zougang zu engem NAS oder engem Bürosubnet ass, ass eng verwalt Route fir dee Prefix eng méi kleng a sécher Ännerung wéi en kompletten Exit. All Browsen iwwer en anert Gerät ze schécken ass eng aner Entscheedung wéi een private Ressource z'erreechen, an se verdéngt eng separat Iwwerpréiwung.

Ähnlech Artikelen