Peer mmoja wa WireGuard hupitisha trafiki na wa pili hukamilisha kupeana mikono lakini huwahi kufikia kitu chochote nyuma ya handaki. Peer inayofanya kazi hukuambia kwamba kiolesura, bandari ya UDP na ufunguo wa seva huenda ziko sawa. Haisemi chochote kuhusu AllowedIPs za peer ya pili, anwani yake ya ndani ya chanzo au kanuni za upelekaji kati yao. Pita orodha kwa mpangilio na simama katika hatua ya kwanza ambayo sharti lake linashindikana.

Hatua 1: Andika njia ambayo pakiti inapaswa kuchukua

Wateja wawili kwenye kitovu kimoja hawafikii kila mmoja kwa moja. Katika muundo wa kitovu na miale, seva hupokea pakiti kwenye wg0 na lazima iisambaze tena nje ya wg0 kwa peer nyingine, jambo ambalo linahitaji upelekaji wa IP na kanuni ya upelekaji. Katika muundo wa moja kwa moja wa peer-kwa-peer, kila upande unahitaji mwisho wa upande mwingine na anwani ya handaki yake ndani ya AllowedIPs. Amua ni muundo gani unaotatua kabla ya kusoma usanidi wowote.

Njia inayotarajiwa pia inakuambia wapi pa kuangalia. Ikiwa pakiti inapaswa kuvuka kitovu, hatua inayoshindikana ni AllowedIPs za mtumaji, upelekaji wa kitovu au AllowedIPs za mpokeaji. Ikiwa inapaswa kwenda moja kwa moja, kitovu hakihusiki na sehemu za mwisho kwenye peer zote mbili ndizo muhimu.

Hatua 2: Linganisha AllowedIPs pande zote mbili, sio upande mmoja tu

WireGuard hutumia AllowedIPs kama jedwali la uelekezaji na pia kama orodha ya ufikiaji. Wakati wa kutuma, anwani ya lengo hutafutwa katika AllowedIPs za peer ili kuchagua handaki; wakati wa kupokea, anwani ya ndani ya chanzo lazima iwe ndani ya AllowedIPs za peer inayotuma, vinginevyo pakiti hutupwa. Masafa yanayokosekana upande wowote hutoa dalili hiyo hiyo: usafirishaji unafanya kazi, mzigo unatoweka.

Soma hali hai badala ya faili, kwa sababu upakiaji upya unaweza kuwa umeshindikana kimya kimya: sudo wg show wg0 allowed-ips. Kwenye seva, ingizo la peer iliyoshindikana lazima lijumuishe anwani ya handaki yake, kwa mfano 10.90.0.3/32. Kwenye mteja, ingizo la peer ya seva lazima lijumuishe lengo unalojaribu, iwe ni anwani ya handaki ya kitovu au subnet ya mbali. Masafa yanayopishana hufanya utafutaji usiwe wazi na yanaweza kuchagua peer usiyokusudia, kwa hivyo yatenganishe.

Hatua 3: Angalia anwani ya ndani ya chanzo

Mteja anayeuelekeza 10.90.0.3 kupitia wg0 lakini hutuma pakiti kutoka anwani yake ya Wi-Fi atakataliwa na mpokeaji, kwa sababu chanzo hakilingani na AllowedIPs za peer. Thibitisha kile kernel huchagua kwa kweli kwa ip route get 10.90.0.3 from 10.90.0.2, na thibitisha anwani iliyopewa kiolesura cha handaki kwa ip -brief addr show wg0.

Kwenye mwenyeji wa Linux anayepokea, uchujaji wa njia ya kurudi ni lango la pili. rp_filter kali kwenye kiolesura kinachomiliki njia ya kurudi kinaweza kutupa trafiki ya handaki ambayo njia yake ya kurudi hailingani na kiolesura ilikotokea. Angalia thamani inayofanya kazi kabla ya kuizima; katika topolojia nyingi suluhisho sahihi ni njia, sio kichujio kilicholegezwa.

Hatua 4: Pitia upelekaji wa kitovu na njia ya kurudi

Ikiwa kitovu kinapaswa kusambaza kati ya peer, kernel inahitaji net.ipv4.ip_forward=1, na ngome lazima ikubali mtiririko uliosambazwa: ndani kwenye wg0, nje kwenye wg0, kutoka anwani ya handaki ya mtumaji hadi ya mpokeaji. Hitilafu ya kawaida ni kanuni ya kuingiza inayokubali UDP 51820 lakini hakuna kanuni ya upelekaji], kwa hivyo kupeana mikono kunafanikiwa na mzigo unakufa. Orodhesha kanuni zinazofanya kazi kwa sudo nft list ruleset au kifani cha msimamizi wako wa ngome.

Kisha angalia jibu. Mwenyeji wa lengo lazima awe na njia ya kurudi kwa mtumaji, iwe kupitia kitovu au kupitia lango lake mwenyewe. Ikiwa kitovu pia hufanya NAT kwenye subnet ya handaki, thibitisha kwamba tafsiri inatumika kwa mtiririko uliosambazwa na kwamba jibu linafika kitovuni kabla hali haijaisha. Hitilafu ya upande mmoja inayofanana na tatizo la ufunguo mara nyingi ni njia hii ya kurudi.

Mwishowe, tenganisha kupeana mikono na data. Peer inayokamilisha kupeana mikono lakini inakwama kwenye uhamishaji mkubwa kwa kawaida ina tatizo la MTU au MSS kwenye njia hiyo mahususi, sio tatizo la AllowedIPs. Jaribu kwa ping ndogo kwanza, kisha kwa ping ya ukubwa kamili, na linganisha peer zote mbili.

Hatua 5: Badilisha kitu kimoja na uache peer inayofanya kazi ikiwa salama

Fanya badiliko moja tu kwenye njia inayoshindikana na ujaribu tena peer zote mbili. Kubadilisha AllowedIPs za kila peer na 0.0.0.0/0 ni njia ya haraka zaidi ya kuvunja peer iliyokuwa ikifanya kazi, kwa sababu inabadilisha uamuzi wa uelekezaji kwa trafiki yote kwenye kiolesura hicho. Hariri ingizo hilo moja, pakia upya na soma hali hai tena.

Andika ni njia gani ilifanikiwa, ipi ilishindikana, na matokeo kamili ya amri kwa kila moja. Ulinganisho huo una thamani zaidi kuliko ripoti ya jumla kwamba VPN imevunjika, na ni kitu cha kwanza ambacho mtu anayefuata ataomba.

Makala zinazohusiana