Jedwali la njia linaonyesha njia chaguo-msingi kupitia kiolesura cha ZeroTier, mtandao unaripoti uko mtandaoni, na kivinjari bado kinatoka kwa anwani ya ISP ya ndani. Mchanganyiko huo ni wa kawaida na siyo hitilafu ya mteja. Njia chaguo-msingi inasema tu wapi pakiti zinapaswa kwenda; kitu lazima kizisongeze na kuzitafsiri upande wa pili. Sehemu tatu tofauti lazima ziwe kweli kabla nodi ya kutoka ifanye kazi.

Njia ipo lakini hakuna kinachotoka

Kwanza angalia jedwali la njia la mteja. Mstari kama default via 10.147.20.5 dev zt0 unathibitisha kwamba njia ilisakinishwa, siyo kwamba lengwa litapokea trafiki. Hatua inayofuata lazima iwe mwanachama aliye tayari na mwenye uwezo wa kuisongeza.

Ikiwa ombi hilo hilo bado linatoka kupitia kiolesura cha kimwili, mteja hakusakinisha njia, au alisakinisha kwa kipimo kilichoshindwa na chaguo-msingi la ndani. Ikiwa ombi linatoweka baada ya njia kusakinishwa, mwanachama wa kutoka anapokea pakiti na anashindwa kuzisongeza au kuzitafsiri. Mteja anayehifadhi chaguo-msingi la kimwili hatumi pakiti hata moja kwa kutoka.

Tofauti hiyo huamua wapi kufanya kazi. Kulinganisha anwani ya umma kabla na baada ya mabadiliko hutenganisha njia ambayo haikutumika kamwe na ile iliyotumika kisha kutupwa, na inahitaji amri moja badala ya kukagua usanidi wote. Fanya ulinganisho kabla ya kubadilisha kitu kingine chochote, ili matokeo yote mawili yatoke kwenye hali sawa ya kuanzia.

Sehemu tatu ambazo zote lazima ziwe kweli

Kutoka ni mnyororo, na kiungo dhaifu zaidi huamua dalili. Jedwali lililo hapa chini linaorodhesha viungo kwa mpangilio ambavyo kawaida hushindwa.

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

Mstari wa kwanza ni ule ambao jina la chaguo huficha. Mwanachama anakuwa kutoka tu wakati kerneli yake inasongeza pakiti kati ya kiolesura cha ZeroTier na kiolesura kinachoelekea mtandao, na wakati njia ya jibu inatafsiriwa kurudi kwenye handaki. Bila usongezaji huo, mwanachama ni mwenzake, siyo lango.

Mstari wa kidhibiti ni idhini, siyo usanidi. Kutangaza 0.0.0.0/0 kupitia mwanachama humwambia kila mteja mahali kutoka kunako. Hilo halimfanyi mwanachama huyo kuwa na uwezo wa kubeba trafiki. Pia haithibitishi kwamba mwanachama ana njia inayofanya kazi kuelekea mtandao. Nyaraka za ZeroTier kuhusu nodi ya kutoka zinashughulikia mgawanyo huo huo kati ya nodi, njia na mteja.

Sanidi nodi ya kutoka ili isongeze na kutafsiri

Washa usongezaji wa IPv4 kwa kudumu, kisha ongeza NAT ya chanzo kwa trafiki inayoondoka kwenye kiolesura cha WAN. Kanuni za kichujio lazima ziruhusu mtiririko uliosongezwa pande zote mbili, kwa sababu usongezaji na utafsiri ni tofauti na ruhusa:

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

Badilisha zt0 na eth0 na majina kwenye mwenyeji; kanuni iliyohifadhiwa kwa kiolesura cha mfano haifuati pakiti kwenye kiolesura halisi. Fanya mabadiliko kuwa ya kudumu kupitia msimamizi wa firewall anayemiliki kanuni, kwa sababu amri katika shell shirikishi hutoweka kwenye uanzishaji upya unaofuata.

Ikiwa mwenyeji anaendesha msimamizi wa firewall kama UFW au firewalld, ongeza kanuni kupitia msimamizi huyo badala ya kuweka mistari ya iptables kando yake. Wamiliki wawili wanaohariri minyororo hiyo hiyo hutengeneza sera inayotegemea mpangilio wa kuwasha. Mpangilio ni muhimu wakati msimamizi anazalisha minyororo yake mwenyewe. Jaribu kutoka kwa mteja baada ya kupakia upya msimamizi, siyo kabla.

Tangaza njia na uikubali kwenye mteja

Kwenye kidhibiti cha mtandao ongeza njia inayosimamiwa kwa 0.0.0.0/0 ambayo hatua yake inayofuata ni anwani ya ZeroTier ya mwanachama wa kutoka. Kisha, kwa mwanachama anayepaswa kuitumia, ruhusu ubatilishaji kwa mtandao huo. Ruhusa ni ya ndani: haisanidi upya wanachama wengine na haibadilishi kidhibiti.

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

Amri ya mwisho inapaswa kuripoti kiolesura cha ZeroTier na anwani ya mwanachama wa kutoka. Ikiwa bado inaripoti kiolesura cha kimwili, njia haipo au chaguo-msingi shindani lina kipimo bora zaidi.

Weka mpangilio ukiwa umezuiwa kwa mtandao unaouhitaji. Kuwasha ukubalifu wa njia chaguo-msingi kimataifa, au kwenye mtandao ambao unapaswa kutoa subnet ya kibinafsi pekee, hutuma trafiki kupitia kutoka ambako hakuwahi kupimwa kwa ajili yake.

Thibitisha kutoka na uangalie familia zingine za anwani

Omba anwani ya umma kutoka huduma inayoripoti chanzo, na uilinganishe na anwani ya WAN ya nodi ya kutoka. Kisha pakia tovuti kwa jina ili kuthibitisha DNS bado inatatua, na jaribu programu moja muhimu badala ya kivinjari pekee.

Mteja wa tabaka mbili anaweza kuendelea kutumia njia yake ya asili ya IPv6 wakati IPv4 inatoka kupitia ZeroTier. Ikiwa lengo ni kuficha au kudhibiti trafiki yote, njia tofauti ya ::/0 na usongezaji wa IPv6 kwenye kutoka vinahitajika, na jaribio la IPv4 halisemi chochote kuhusu hizo.

Uchujaji wa njia wa nyuma wa Linux unaweza pia kudondosha trafiki halali ya kutoka kwenye mteja. ZeroTier huandika kuzingatia rp_filter kwa wanachama wanaoshiriki; badilisha mpangilio huo kwa makusudi na tu baada ya njia na NAT kuthibitishwa, siyo kama jaribio la kwanza.

Ikiwa hitaji ni ufikiaji wa NAS au subnet moja ya ofisi, njia inayosimamiwa kwa kiambishi hicho ni mabadiliko madogo na salama zaidi kuliko kutoka kamili. Kutuma uvinjari wote kupitia kifaa kingine ni uamuzi tofauti na kufikia rasilimali moja ya kibinafsi, na unastahili mapitio tofauti.

Makala zinazohusiana