Hop tatu za WireGuard hufikia mtandao usio na anwani ya umma, kisha mashine ya kati huacha kujibu kwenye porti ambayo ilipaswa kusikiliza. Handaki la mbele bado linafanya kazi, mwenyeji wa mbali bado anajibu, na ni seva ya kati yenyewe iliyonyamaza kutoka nje. Mchanganyiko huo unachanganya kwa sababu umejileta wenyewe: hop ya kati inatii jedwali lake la uelekezaji, na jedwali linatuma majibu yake kwa mwelekeo usio sahihi.

Mlolongo unaofanya kazi hadi uongee na sanduku la kati

Chukua mlolongo wa mfano: mteja A hufikia seva B kwa UDP 500, na B inasonga mbele hadi seva C kwa UDP 500. C hukubali trafiki tu kutoka anwani ya mwenza wake mmoja, jambo linaloifanya kuwa jani na kuweka tabia yake rahisi. B si jani, na kila kitu cha kuvutia kuhusu hitilafu hii hufanyika hapo.

Tofauti hii ni muhimu kwa sababu majukumu ya jani na ya kati yanavutana kwa mwelekeo tofauti. Jani linaweza kutuma kila kitu kwenye handaki moja bila matokeo, kwa kuwa hakuna kingine kinachotegemea hilo. Hop ya kati wakati mmoja ni mwisho kwa wateja na mteja kuelekea upande wa mbali, na kazi hizo mbili zinataka uelekezaji tofauti.

Kwa nini jibu linatoka kupitia handaki

Kwenye B, kiolesura kinachoelekea C hubeba AllowedIPs = 0.0.0.0/0 pamoja na njia chaguo-msingi inayolingana. Kwa hiyo kila pakiti B inayozalisha huingia kwenye handaki hilo, isipokuwa kitu mahususi zaidi kipate kipaumbele.

Pakiti kutoka A inayoelekezwa B hufika na kukubaliwa, kwa sababu B ndio lengo na uwasilishaji wa ndani hufanyika kwanza. Jibu ni pakiti mpya kabisa iliyozalishwa ndani na kuelekezwa kwenye anwani ya umma ya A, na lengo hilo linalingana na njia chaguo-msingi ndani ya handaki. C hupokea, hana anwani hiyo, na huitupa.

Dalili husomwa kama tatizo la firewall au kutolingana kwa ufunguo, na hakuna moja lililo kweli hapa. Ukamataji kwenye handaki kuelekea C unaonyesha majibu yanaenda kwa mwelekeo usio sahihi. Uchunguzi huo mmoja huokoa muda mwingi kuliko kusoma usanidi wa kiwango chochote, kwa hiyo uandike kabla ya kuanza kubadilisha funguo. Yeyote ambaye hajaona ukamataji atadhani handaki yenyewe imeharibika.

Ukarabati mwembamba: kanuni za sera zinazolingana na porti ya chanzo

Majibu kutoka soketi ya kusikiliza ya B hutoka na porti ya chanzo 500. Kanuni ya sera inaweza kulingana na hilo na kurudisha pakiti hizo kwenye jedwali la kawaida:

ip rule add sport 500 table main priority 100
ip rule add sport 8080 table main priority 101

Kanuni za sera hushauriwa kwa mpangilio wa kipaumbele, na jedwali kuu liko 32766, kwa hiyo kanuni ya 100 huulizwa kabla njia chaguo-msingi ya handaki iseme lolote. Ongeza kiingilio kimoja kwa kila porti inayopaswa kubaki ifikike kutoka nje na si zaidi, ili trafiki inayosambazwa iendelee kutumia handaki ililojengwa kwa ajili yake.

Jua kikomo cha mbinu hii. Kichaguzi sport kinalingana na pakiti zilizozalishwa ndani, ambacho hushughulikia hasa kisa cha jibu na kwa makusudi hakishughulikii trafiki ambayo B husambaza tu kwa ajili ya mtu mwingine. Huduma inayohifadhiwa nyuma ya B bado inahitaji jibu lake yenyewe, na kujifanya kinyume huzaa usahihishaji unaofanya kazi kwa huduma ya kwanza na kushindwa kwa ya pili.

Ipe kanuni mmiliki

Kanuni iliyochapwa kwenye kidokezo hupotea mara ijayo kiolesura kinapojengwa upya. Katika usanidi wa WireGuard, iweke mahali kiolesura huundwa na kuondolewa:

PostUp = ip rule add sport 500 table main priority 100
PostDown = ip rule del sport 500 table main priority 100

Ikiwa kiolesura kinamilikiwa na NetworkManager, ndoano ya usambazaji au mahali pa kuingia kwa chombo, jozi hiyo ni mali ya mmiliki huyo na si faili iliyohaririwa kwa mkono. Angalia kanuni zinazotumika baada ya kuunganisha tena, si tu baada ya kuanza kwa kwanza, kwa sababu kuanza kwa kwanza ndicho kisa kinachofanya kazi kila wakati.

Linganisha njia mbadala kwa uaminifu

Kanuni ya porti ya chanzo ni mojawapo ya njia nne za kutoka, na ndiyo nyembamba zaidi kati yao. Ina faida ya kutogusa sera ya handaki kabisa, ndiyo sababu huwa inaendelea kuishi mabadiliko ya baadaye. Marekebisho nyembamba pia hushindwa kwa sauti kubwa yanapokoma kutumika, wakati ubaguzi mpana unaendelea kufanya kazi kimya muda mrefu baada ya sababu yake kutoweka. Tofauti hiyo ni muhimu zaidi kuliko umaridadi wakati mtu mwingine anamiliki sanduku baada ya miaka miwili.

ApproachWhat it costsWhere it breaks
Source-port policy ruleOne rule per exposed portAnything B forwards rather than originates
Destination exception routeA route pinned to specific client addressesClients whose address changes
Stop full-tunnelling on BLoses the catch-all path toward CDesigns that depend on it
Split into two tunnelsMore interfaces and more policyNothing, at the cost of complexity

Thibitisha kutoka pande zote mbili baada ya kuchagua. Kutoka A, anza muunganisho kwenye porti ya B na uendelee kuwa na shughuli kwa muda. Kwenye B, mfanye kerneli kuhalalisha njia ya jibu kwa kitu kama ip route get <address-of-A> sport 500, na uthibitishe kuwa inataja kiolesura cha WAN na si handaki. Baada ya hapo, angalia kwamba kitu nyuma ya C bado kinajibu kupitia mlolongo, jambo linalothibitisha kwamba ubaguzi ulibaki mwembamba badala ya kuwa njia ya kukwepa. Mwishowe, andika porti kwenye maelezo ya muundo, vinginevyo mwendeshaji anayefuata atagundua hili tena kwenye huduma nyingine.

Makala zinazohusiana