Nyja e daljes së ZeroTier nuk funksionon? Kontrolloni rrugën, NAT-in dhe klientin
Një rrugë 0.0.0.0/0 në klient nuk është dalje. Nyja duhet të përcjellë dhe të përkthejë, rrjeti duhet të shpallë rrugën, dhe klienti duhet ta pranojë atë.
Tabela e rrugëve tregon një rrugë të paracaktuar përmes ndërfaqes ZeroTier, rrjeti raportohet online dhe shfletuesi vazhdon të dalë nga adresa lokale e ISP-së. Ky kombinim është i zakonshëm dhe nuk është gabim i klientit. Një rrugë e paracaktuar thotë vetëm ku duhet të shkojnë paketat; në skajin tjetër diçka duhet t'i përcjellë dhe t'i përkthejë ato. Tre pjesë të veçanta duhet të jenë të vërteta përpara se një nyjë daljeje të funksionojë.
Rruga ekziston, por asgjë nuk del
Fillimisht kontrolloni tabelën e rrugëve të klientit. Një rresht si default via 10.147.20.5 dev zt0 provon që rruga u instalua, jo që destinacioni do ta pranojë trafikun. Kërcimi tjetër duhet të jetë një anëtar i gatshëm dhe i aftë ta përcjellë atë.
Nëse i njëjti kërkesë ende del përmes ndërfaqes fizike, klienti nuk e instaloi rrugën, ose e instaloi me një metrikë që humbi ndaj asaj të paracaktuar lokale. Nëse kërkesa zhduket pas instalimit të rrugës, anëtari i daljes po merr paketa dhe nuk arrin t'i përcjellë ose t'i përkthejë ato. Një klient që mban të paracaktuarën fizike nuk dërgon asnjë paketë te dalja.
Ky dallim vendos ku duhet punuar. Krahasimi i një adrese publike para dhe pas ndryshimit ndan një rrugë që nuk u përdor kurrë nga një që u përdor dhe u hodh, dhe kërkon një komandë të vetme në vend të një rishikimi të të gjithë konfigurimit. Bëni krahasimin përpara se të ndryshoni çdo gjë tjetër, që të dy rezultatet të vijnë nga i njëjti gjendje fillestare.
Tre pjesë që duhet të jenë të gjitha të vërteta
Dalja është një zinxhir, dhe lidhja më e dobët përcakton simptomën. Tabela më poshtë liston lidhjet sipas rendit në të cilin zakonisht dështojnë.
| Part | Where it lives | What a failure looks like |
|---|---|---|
| Forwarding and NAT | Exit node kernel and firewall | Traffic arrives, no reply |
| Managed default route | ZeroTier network controller | No default via the tunnel on the member |
| Client acceptance | Member's per-network setting | Route offered but not installed |
| DNS behavior | Client resolver configuration | Pages fail by name, IP works |
Rreshti i parë është ai që emri i opsionit fsheh. Një anëtar bëhet dalje vetëm kur bërthama e tij përcjell paketa midis ndërfaqes ZeroTier dhe ndërfaqes që shikon nga interneti, dhe kur rruga e përgjigjes përkthehet përsëri në tunel. Pa atë përcjellje, anëtari është bashkëmohës, jo portë.
Rreshti i kontrolluesit është autorizim, jo konfigurim. Shpallja e 0.0.0.0/0 përmes një anëtari i thotë çdo klienti ku është dalja; kjo nuk e bën atë anëtar të aftë të mbajë trafikun. Nuk verifikon as që anëtari ka një rrugë funksionale drejt internetit. Dokumentacioni i ZeroTier për nyjën e daljes mbulon të njëjtën ndarje midis nyjës, rrugës dhe klientit.
Konfiguroni nyjën e daljes për të përcjellë dhe përkthyer
Aktivizoni përcjelljen e IPv4 në mënyrë të vazhdueshme, më pas shtoni NAT burimi për trafikun që largohet nga ndërfaqja WAN. Rregullat e filtrit duhet të lejojnë rrjedhën e përcjellë në të dy drejtimet, sepse përcjellja dhe përkthimi janë të ndara nga leja:
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 ACCEPTZëvendësoni zt0 dhe eth0 me emrat në host; një rregull i ruajtur për një ndërfaqe shembull nuk i ndjek paketat në një reale. Bëni ndryshimet të vazhdueshme përmes menaxherit të murit të zjarrit që zotëron rregullat, sepse një komandë në një shell interaktiv zhduket në rindezjen tjetër.
Nëse hosti ekzekuton një menaxher muri zjarri si UFW ose firewalld, shtoni rregullat përmes atij menaxheri në vend që të grumbulloni rreshta iptables pranë tij. Dy pronarë që modifikojnë të njëjtat zinxhirë prodhojnë një politikë që varet nga rendi i nisjes. Rendi ka rëndësi kur menaxheri gjeneron zinxhirët e vet. Testoni nga një klient pasi të ringarkoni menaxherin, jo përpara.
Shpallni rrugën dhe pranojeni atë në klient
Në kontrolluesin e rrjetit shtoni një rrugë të menaxhuar për 0.0.0.0/0 kërcimi tjetër i së cilës është adresa ZeroTier e anëtarit të daljes. Më pas, në anëtarin që duhet ta përdorë, lejoni anulimin për atë rrjet. Leja është lokale: nuk rikonfiguron anëtarët e tjerë dhe nuk ndryshon kontrolluesin.
zerotier-cli listnetworks
zerotier-cli set <network-id> allowDefault=1
ip route get 1.1.1.1Komanda e fundit duhet të raportojë ndërfaqen ZeroTier dhe adresën e anëtarit të daljes. Nëse ende raporton ndërfaqen fizike, rruga mungon ose një e paracaktuar konkurruese ka metrikë më të mirë.
Mbajeni cilësimin të kufizuar në rrjetin që ka nevojë për të. Aktivizimi i pranimit të rrugës së paracaktuar globalisht, ose në një rrjet që duhet të ofrojë vetëm një nënrrjet privat, e dërgon trafikun përmes një daljeje që nuk u dimensionua kurrë për këtë.
Verifikoni daljen dhe kontrolloni familjet e tjera të adresave
Kërkoni një adresë publike nga një shërbim që raporton burimin dhe krahasojeni me adresën WAN të nyjës së daljes. Më pas ngarkoni një sajt me emër për të konfirmuar që DNS ende zgjidh, dhe testoni një aplikacion të rëndësishëm në vend të vetëm një shfletuesi.
Një klient me stivë të dyfishtë mund të vazhdojë të përdorë rrugën e vet amtare IPv6 ndërsa IPv4 del përmes ZeroTier. Nëse qëllimi është të fshihet ose të kontrollohet i gjithë trafiku, nevojiten një rrugë ::/0 e veçantë dhe përcjellje IPv6 në dalje, dhe një test IPv4 nuk thotë asgjë për to.
Filtrimi i kundërt i rrugës në Linux mund të hedhë gjithashtu trafik të vlefshëm daljeje në klient. ZeroTier dokumenton një konsideratë rp_filter për anëtarët pjesëmarrës; ndryshojeni atë cilësim me qëllim dhe vetëm pasi rruga dhe NAT-i të jenë konfirmuar, jo si eksperimenti i parë.
Nëse kërkesa është akses në një NAS ose në një nënrrjet zyre, një rrugë e menaxhuar për atë prefiks është një ndryshim më i vogël dhe më i sigurt sesa një dalje e plotë. Kalimi i gjithë shfletimit përmes një pajisjeje tjetër është një vendim i ndryshëm nga arritja e një burimi privat, dhe meriton një rishikim të veçantë.