Rutetabellen viser ei standardrute gjennom ZeroTier-grensesnittet, netverket rapporterer online, og ein nettlesar går framleis ut frå den lokale ISP-adressa. Den kombinasjonen er vanleg, og det er ikkje ein feil i klienten. Ei standardrute seier berre kvar pakkane skal gå; noko må vidaresenda og omsetja dei i andre enden. Tre separate delar må vera sanne før ein utgangsnode verkar.

Ruta finst, men ingenting går ut

Sjekk rutetabellen til klienten først. Ei linje som default via 10.147.20.5 dev zt0 provar at ruta vart installert, ikkje at målet godtek trafikken. Neste hopp må vera eit medlem som er villig og i stand til å vidaresenda ho.

Viss den same førespurnaden framleis går ut gjennom det fysiske grensesnittet, installerte ikkje klienten ruta, eller installerte ho med ein metrikk som tapte mot den lokale standardruta. Viss førespurnaden forsvinn etter at ruta er installert, tek utgangsmedlemmet imot pakkar og klarer ikkje å vidaresenda eller omsetja dei. Ein klient som held på den fysiske standardruta, sender ikkje ein einaste pakke til utgangen.

Den skilnaden avgjer kvar det skal arbeidast. Å samanlikna ei offentleg adresse før og etter endringa skil ei rute som aldri vart brukt frå ei som vart brukt og forkasta, og det krev éin kommando i staden for ein gjennomgang av heile konfigurasjonen. Gjer samanlikninga før du endrar noko anna, slik at båe resultata kjem frå same starttilstand.

Tre delar som alle må vera sanne

Ein utgang er ei kjede, og det svakaste leddet bestemmer symptomet. Tabellen nedanfor listar ledda i den rekkjefølgja dei vanlegvis sviktar.

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

Den første rada er den som namnet på valet skjuler. Eit medlem blir først ein utgang når kjernen vidaresender pakkar mellom ZeroTier-grensesnittet og grensesnittet som vender mot internett, og når returvegen blir omsett tilbake til tunnelen. Utan den vidaresendinga er medlemmet ein peer, ikkje ein gateway.

Kontrollraden er autorisasjon, ikkje konfigurasjon. Å annonsera 0.0.0.0/0 gjennom eit medlem fortel kvar klient kvar utgangen er; det gjer ikkje medlemmet i stand til å bera trafikken. Det stadfester heller ikkje at medlemmet har ein fungerande veg til internett. ZeroTiers dokumentasjon om utgangsnode dekkjer same oppdeling mellom node, rute og klient.

Konfigurer utgangsnoden til å vidaresenda og omsetja

Aktiver IPv4-vidaresending varig, og legg deretter til kjelde-NAT for trafikk som forlèt WAN-grensesnittet. Filterreglane må tillata den vidaresende straumen i båe retningar, fordi vidaresending og omsetjing er skilde frå løyve:

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

Erstatt zt0 og eth0 med namna på verten; ein regel lagra for eit døme-grensesnitt følgjer ikkje pakkar på eit ekte. Gjer endringane varige gjennom brannmurhandsamaren som eig reglane, fordi ein kommando i eit interaktivt skal forsvinn ved neste omstart.

Viss verten køyrer ein brannmurhandsamar som UFW eller firewalld, legg til reglane gjennom den handsamaren i staden for å stable iptables-linjer ved sida av. To eigarar som redigerer dei same kjedene lagar ein politikk som avheng av oppstartsrekkjefølgja. Rekkjefølgja betyr noko når handsamaren genererer sine eigne kjeder. Test frå ein klient etter at handsamaren er lasta inn på nytt, ikkje før.

Annonser ruta og godta ho på klienten

På nettverkskontrolløren legg du til ei styrt rute for 0.0.0.0/0 der neste hopp er ZeroTier-adressa til utgangsmedlemmet. Deretter, på medlemmet som skal bruka ho, tillèt du overstyringa for det netverket. Løyvet er lokalt: det konfigurerer ikkje andre medlemmer på nytt og endrar ikkje kontrolløren.

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

Den siste kommandoen bør rapportera ZeroTier-grensesnittet og adressa til utgangsmedlemmet. Viss han framleis rapporterer det fysiske grensesnittet, manglar ruta, eller ei konkurrerande standardrute har betre metrikk.

Hald innstillinga avgrensa til netverket som treng ho. Å aktivera godtaking av standardrute globalt, eller på eit netverk som berre skal tilby eit privat subnett, sender trafikk gjennom ein utgang som aldri vart dimensjonert for det.

Stadfest utgangen og sjekk dei andre adressefamiliane

Be om ei offentleg adresse frå ein teneste som rapporterer kjelda, og samanlikn ho med WAN-adressa til utgangsnoden. Last deretter inn ein namngjeven nettstad for å stadfesta at DNS framleis løyser, og test éin viktig applikasjon i staden for berre ein nettlesar.

Ein klient med dobbel stabel kan halda fram med å bruka sin eigen IPv6-veg medan IPv4 går ut gjennom ZeroTier. Viss målet er å skjula eller kontrollera all trafikk, krevst ei separat ::/0-rute og IPv6-vidaresending på utgangen, og ein IPv4-test seier ingenting om dei.

Linux' omvende rute-filtrering kan også sleppa gyldig utgangstrafikk på klienten. ZeroTier dokumenterer ei rp_filter-vurdering for deltakande medlemmer; endra den innstillinga medvite og berre etter at ruta og NAT er stadfesta, ikkje som det første eksperimentet.

Viss kravet er tilgang til ein NAS eller eitt kontorsubnett, er ei styrt rute for det prefikset ei mindre og tryggare endring enn ein full utgang. Å senda all nettsurfing gjennom ein annan eining er eit anna vedtak enn å nå éin privat ressurs, og det fortener ein eigen gjennomgang.

Relaterte artiklar