Nod allanfa ZeroTier ddim yn gweithio? Gwiriwch y llwybr, NAT a’r cleient
Nid yw llwybr 0.0.0.0/0 yn y cleient yn allanfa. Rhaid i’r nod anfon ymlaen a chyfieithu, rhaid i’r rhwydwaith hysbysebu’r llwybr, a rhaid i’r cleient ei dderbyn.
Mae’r tabl llwybrau’n dangos llwybr diofyn drwy ryngwyneb ZeroTier, mae’r rhwydwaith yn adrodd ei fod ar-lein, ac mae porwr yn dal i adael o gyfeiriad ISP lleol. Mae’r cyfuniad hwnnw’n gyffredin ac nid yw’n fai ar y cleient. Dim ond dweud lle dylai pecynnau fynd y mae llwybr diofyn; rhaid i rywbeth eu hanfon ymlaen a’u cyfieithu yr ochr arall. Rhaid i dri rhan ar wahân fod yn wir cyn i nod allanfa weithio.
Mae’r llwybr yn bodoli ond nid oes dim yn mynd allan
Gwiriwch dabl llwybrau’r cleient yn gyntaf. Mae llinell fel default via 10.147.20.5 dev zt0 yn profi bod y llwybr wedi’i osod, nid bod y cyrchfan yn derbyn y traffig. Rhaid i’r naid nesaf fod yn aelod sy’n barod ac yn gallu ei anfon ymlaen.
Os yw’r un cais yn dal i adael drwy’r rhyngwyneb ffisegol, nid yw’r cleient wedi gosod y llwybr, neu mae wedi’i osod â mesur a gollodd i’r llwybr diofyn lleol. Os yw’r cais yn diflannu ar ôl gosod y llwybr, mae’r aelod allanfa yn derbyn pecynnau ac yn methu eu hanfon ymlaen neu eu cyfieithu. Nid yw cleient sy’n cadw’r llwybr diofyn ffisegol byth yn anfon pecyn i’r allanfa.
Mae’r gwahaniaeth hwnnw’n penderfynu ble i weithio. Mae cymharu cyfeiriad cyhoeddus cyn ac ar ôl y newid yn gwahanu llwybr na chafodd ei ddefnyddio erioed oddi wrth un a ddefnyddiwyd ac a ollyngwyd, ac mae’n cymryd un gorchymyn yn lle adolygu’r holl ffurfweddiad. Gwnewch y gymhariaeth cyn newid unrhyw beth arall, fel bod y ddau ganlyniad yn dod o’r un cyflwr cychwynnol.
Tair rhan sy’n rhaid iddynt fod yn wir i gyd
Cadwyn yw allanfa, a’r ddolen wannaf sy’n pennu’r symptom. Mae’r tabl isod yn rhestru’r dolenni yn y drefn y maent fel arfer yn methu.
| 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 |
Y rhes gyntaf yw’r un y mae enw’r opsiwn yn ei chuddio. Dim ond pan fo ei gnewyllyn yn anfon pecynnau ymlaen rhwng rhyngwyneb ZeroTier a’r rhyngwyneb sy’n wynebu’r rhyngrwyd, a phan fo’r llwybr ateb yn cael ei gyfieithu’n ôl i’r twnel, y daw aelod yn allanfa. Heb yr anfon ymlaen hwnnw, cymar yw’r aelod, nid porth.
Mae rhes y rheolydd yn awdurdodiad, nid ffurfweddiad. Mae hysbysebu 0.0.0.0/0 drwy aelod yn dweud wrth bob cleient ble mae’r allanfa; nid yw’n gwneud yr aelod hwnnw’n gallu cario’r traffig. Nid yw chwaith yn gwirio bod gan yr aelod lwybr gweithredol i’r rhyngrwyd. Mae dogfennaeth nod allanfa ZeroTier yn ymdrin â’r un rhaniad rhwng nod, llwybr a chleient.
Ffurfweddwch y nod allanfa i anfon ymlaen a chyfieithu
Galluogwch anfon ymlaen IPv4 yn barhaus, yna ychwanegwch NAT ffynhonnell ar gyfer traffig sy’n gadael y rhyngwyneb WAN. Rhaid i’r rheolau hidlo ganiatáu’r ffrwd a anfonir ymlaen yn y ddau gyfeiriad, oherwydd mae anfon ymlaen a chyfieithu ar wahân i ganiatâd:
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 ACCEPTAmnewidiwch zt0 a eth0 ag enwau’r gwesteiwr; nid yw rheol a gadwyd ar gyfer rhyngwyneb enghreifftiol yn dilyn pecynnau ar un go iawn. Gwnewch y newidiadau’n barhaus drwy’r rheolwr wal dân sy’n berchen ar y rheolau, oherwydd mae gorchymyn mewn cregyn rhyngweithiol yn diflannu ar yr ailgychwyn nesaf.
Os yw’r gwesteiwr yn rhedeg rheolwr wal dân fel UFW neu firewalld, ychwanegwch y rheolau drwy’r rheolwr hwnnw yn lle pentyrru llinellau iptables wrth ei ochr. Mae dau berchemnog yn golygu’r un cadwyni yn cynhyrchu polisi sy’n dibynnu ar drefn cychwyn. Mae trefn yn bwysig pan fo’r rheolwr yn cynhyrchu ei gadwyni ei hun. Profwch o gleient ar ôl ail-lwytho’r rheolwr, nid cyn hynny.
Hysbysebwch y llwybr a’i dderbyn ar y cleient
Ar reolydd y rhwydwaith, ychwanegwch lwybr a reolir ar gyfer 0.0.0.0/0 y mae ei naid nesaf yn gyfeiriad ZeroTier yr aelod allanfa. Yna, ar yr aelod a ddylai ei ddefnyddio, caniatewch y gorgyfrif ar gyfer y rhwydwaith hwnnw. Mae’r caniatâd yn lleol: nid yw’n ailffurfweddu aelodau eraill ac nid yw’n newid y rheolydd.
zerotier-cli listnetworks
zerotier-cli set <network-id> allowDefault=1
ip route get 1.1.1.1Dylai’r gorchymyn olaf adrodd am ryngwyneb ZeroTier a chyfeiriad yr aelod allanfa. Os yw’n dal i adrodd am y rhyngwyneb ffisegol, mae’r llwybr ar goll neu mae gan lwybr diofyn cystadleuol fesur gwell.
Cadwch y gosodiad o fewn y rhwydwaith sydd ei angen. Mae galluogi derbyn llwybr diofyn yn fyd-eang, neu ar rwydwaith a ddylai ddarparu is-rwydwaith preifat yn unig, yn anfon traffig drwy allanfa na chafodd ei maint ar ei gyfer erioed.
Gwiriwch yr allanfa ac edrychwch ar y teuluoedd cyfeiriad eraill
Gofynnwch am gyfeiriad cyhoeddus gan wasanaeth sy’n adrodd y ffynhonnell, a’i gymharu â chyfeiriad WAN y nod allanfa. Yna llwythwch safle wrth ei enw i gadarnhau bod DNS yn dal i ddatrys, a phrofwch un cymhwysiad sy’n bwysig yn hytrach na phorwr yn unig.
Gall cleient deu-stac barhau i ddefnyddio ei lwybr IPv6 brodorol tra bo IPv4 yn gadael drwy ZeroTier. Os y nod yw cuddio neu reoli’r holl draffig, mae angen llwybr ::/0 ar wahân ac anfon ymlaen IPv6 ar yr allanfa, ac nid yw prawf IPv4 yn dweud dim amdanynt.
Gall hidlo llwybr gwrthdro Linux hefyd ollwng traffig allanfa dilys ar y cleient. Mae ZeroTier yn dogfennu ystyriaeth rp_filter ar gyfer aelodau sy’n cymryd rhan; newidiwch y gosodiad hwnnw’n fwriadol a dim ond ar ôl cadarnhau’r llwybr a’r NAT, nid fel yr arbrawf cyntaf.
Os mai’r gofyniad yw mynediad at NAS neu un is-rwydwaith swyddfa, mae llwybr a reolir ar gyfer y rhagddodiad hwnnw’n newid llai ac yn fwy diogel na allanfa lawn. Mae anfon pob pori drwy ddyfais arall yn benderfyniad gwahanol i gyrraedd un adnodd preifat, ac mae’n haeddu adolygiad ar wahân.