A ZeroTier kilépőcsomópontja nem működik? Ellenőrizze az útvonalat, a NAT-ot és a klienst
A 0.0.0.0/0 útvonal a kliensben nem kilépés. A csomópontnak továbbítania és fordítania kell, a hálózatnak hirdetnie kell az útvonalat, a kliensnek pedig el kell fogadnia.
Az útvonaltábla egy alapértelmezett útvonalat mutat a ZeroTier interfészen keresztül, a hálózat online állapotot jelent, a böngésző mégis a helyi ISP-címről lép ki. Ez a kombináció gyakori, és nem a kliens hibája. Az alapértelmezett útvonal csak azt mondja meg, hová menjenek a csomagok; a másik végén valaminek továbbítania és fordítania kell őket. Három különálló résznek kell teljesülnie ahhoz, hogy egy kilépőcsomópont működjön.
Az útvonal létezik, de semmi nem lép ki
Először a kliens útvonaltábláját ellenőrizze. Egy default via 10.147.20.5 dev zt0-hez hasonló sor azt bizonyítja, hogy az útvonal telepítve lett, nem azt, hogy a cél fogadja a forgalmat. A következő ugrásnak olyan tagnak kell lennie, amely hajlandó és képes továbbítani.
Ha ugyanaz a kérés továbbra is a fizikai interfészen keresztül lép ki, a kliens nem telepítette az útvonalat, vagy olyan metrikával telepítette, amely veszített a helyi alapértelmezettel szemben. Ha a kérés az útvonal telepítése után eltűnik, a kilépő tag fogadja a csomagokat, de nem tudja továbbítani vagy fordítani őket. Az a kliens, amely megtartja a fizikai alapértelmezettet, egyáltalán nem küld csomagot a kilépéshez.
Ez a különbség dönti el, hol kell dolgozni. Egy nyilvános cím összehasonlítása a változtatás előtt és után elválasztja a soha nem használt útvonalat az egykor használt és eldobott útvonaltól, és egyetlen parancsot igényel a teljes konfiguráció átnézése helyett. Az összehasonlítást még azelőtt végezze el, hogy bármi mást változtatna, hogy mindkét eredmény ugyanabból a kezdőállapotból származzon.
Három rész, amelynek mindnek teljesülnie kell
A kilépés egy lánc, és a leggyengébb láncszem határozza meg a tünetet. Az alábbi táblázat a láncszemeket a szokásos meghibásodási sorrendben sorolja fel.
| 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 |
Az első sor az, amit az opció neve elrejt. Egy tag csak akkor válik kilépéssé, ha a kernel csomagokat továbbít a ZeroTier interfész és az internet felé néző interfész között, és ha a válaszút visszafordítódik az alagútba. E továbbítás nélkül a tag társ, nem átjáró.
A vezérlő sora engedélyezés, nem konfiguráció. A 0.0.0.0/0 egy tagon keresztüli hirdetése minden kliensnek megmondja, hol van a kilépés; attól a tag még nem lesz képes a forgalom hordozására. Azt sem ellenőrzi, hogy a tagnak van-e működő útja az internetre. A ZeroTier kilépőcsomópont-dokumentációja ugyanezt a felosztást tárgyalja csomópont, útvonal és kliens között.
Állítsa be a kilépőcsomópontot továbbításra és fordításra
Engedélyezze tartósan az IPv4-továbbítást, majd adjon hozzá forrás-NAT-ot a WAN-interfészt elhagyó forgalomhoz. A szűrőszabályoknak mindkét irányban engedélyezniük kell a továbbított folyamot, mert a továbbítás és a fordítás különválnak az engedélytől:
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 ACCEPTCserélje a zt0 és eth0 helyére a hoszton lévő neveket; egy példainterfészhez mentett szabály nem követi a csomagokat egy valódin. Tegye tartóssá a változtatásokat azon a tűzfalkezelőn keresztül, amely a szabályok tulajdonosa, mert az interaktív héjban kiadott parancs a következő újraindításkor eltűnik.
Ha a hoszt UFW vagy firewalld tűzfalkezelőt futtat, a szabályokat azon a kezelőn keresztül adja hozzá, ahelyett hogy iptables-sorokat halmozna mellé. Két tulajdonos, aki ugyanazokat a láncokat szerkeszti, a rendszerindítás sorrendjétől függő szabályzatot hoz létre. A sorrend akkor számít, amikor a kezelő saját láncokat generál. A kezelő újratöltése után teszteljen kliensről, ne előtte.
Hirdesse meg az útvonalat, és fogadja el a kliensen
A hálózatvezérlőn adjon hozzá felügyelt útvonalat a 0.0.0.0/0-hez, amelynek következő ugrása a kilépő tag ZeroTier-címe. Majd azon a tagon, amelynek használnia kell, engedélyezze a felülírást arra a hálózatra. Az engedély helyi: nem konfigurálja újra a többi tagot, és nem változtatja meg a vezérlőt.
zerotier-cli listnetworks
zerotier-cli set <network-id> allowDefault=1
ip route get 1.1.1.1Az utolsó parancsnak a ZeroTier interfészt és a kilépő tag címét kell jelentenie. Ha még mindig a fizikai interfészt jelenti, hiányzik az útvonal, vagy egy versengő alapértelmezettnek jobb a metrikája.
Tartsa a beállítást arra a hálózatra korlátozva, amelynek szüksége van rá. Az alapértelmezett útvonal elfogadásának globális engedélyezése, vagy olyan hálózaton, amelynek csak egy privát alhálózatot kell biztosítania, olyan kilépésen keresztül küldi a forgalmat, amelyet soha nem méreteztek erre.
Ellenőrizze a kilépést, és nézze meg a többi címcsaládot
Kérjen nyilvános címet egy olyan szolgáltatástól, amely jelenti a forrást, és hasonlítsa össze a kilépőcsomópont WAN-címével. Ezután töltsön be egy névvel ellátott oldalt annak megerősítésére, hogy a DNS még mindig felold, és teszteljen egy fontos alkalmazást, ne csak egy böngészőt.
A kettős veremmel rendelkező kliens tovább használhatja saját IPv6-útvonalát, miközben az IPv4 a ZeroTieren keresztül lép ki. Ha a cél az összes forgalom elrejtése vagy irányítása, külön ::/0 útvonalra és IPv6-továbbításra van szükség a kilépésen, és egy IPv4-teszt semmit nem mond róluk.
A Linux fordított útvonalszűrése is eldobhat érvényes kilépő forgalmat a kliensen. A ZeroTier dokumentál egy rp_filter-megfontolást a részt vevő tagok számára; ezt a beállítást szándékosan és csak az útvonal és a NAT megerősítése után változtassa meg, ne az első kísérletként.
Ha a követelmény egy NAS vagy egy irodai alhálózat elérése, az ahhoz a prefixhez tartozó felügyelt útvonal kisebb és biztonságosabb változtatás, mint egy teljes kilépés. Az összes böngészés más eszközön keresztüli átküldése más döntés, mint egyetlen privát erőforrás elérése, és külön felülvizsgálatot érdemel.