WireGuard inakwama: kikomo cha MTU au kanuni ya upelekaji iliyokosekana?
Kitu chochote zaidi ya seva ni tatizo la upelekaji au njia ya kurudi. Maombi madogo yanayofanya kazi wakati makubwa yanakwama ni alama ya ukubwa wa pakiti.
Tabia ni kupunguza MTU mara WireGuard inapoanza kufanya vibaya, na tabia hiyo inaficha hitilafu nyingine. Lango lisilopeleka na njia isiyobeba pakiti kubwa hutoa mifumo inayotofautishwa: moja inashindwa katika pande zote mbili na kwa kila ukubwa, nyingine hunusurika maombi madogo na kufa kwa makubwa. Tambua ni umbo gani unalo kabla ya kubadilisha nambari yoyote. Jaribio ni la bei nafuu na linaondoa nusu ya sababu zinazowezekana.
Hitilafu mbili, maumbo mawili tofauti
Tatizo la upelekaji huonekana mara moja nyuma ya seva. Ushikaji mkono unafanikiwa, anwani ya handaki inajibu, na hakuna kitu nyuma ya lango linaweza kufikiwa hata kwa ombi dogo. Pakiti ilifika seva na haikupelekwa, au jibu halikuwa na njia ya kurudi.
Tatizo la ukubwa huonekana tu juu ya kizingiti. DNS, ushikaji mkono wa TCP na mwito mdogo wa API zote zinafanya kazi, wakati upakuaji wa faili au jibu kubwa huning’inia. Pakiti zilizotoshea zilisafiri kutoka mwisho hadi mwisho, na zile ambazo hazikutoshea zilitupwa mahali fulani bila ripoti yenye manufaa.
Maelezo hayo yanaelekeza kwa watu tofauti na faili tofauti za usanidi, ndiyo sababu kupima umbo kunafaa zaidi kuliko kukisia. Ping moja kwa lango haiwezi kuwatenganisha.
Ondoa upelekaji kabla ya kupunguza kitu chochote
Jaribu lengwa zaidi ya lango, si lango lenyewe. Ping kwa anwani ya handaki ya seva inathibitisha tu kwamba kiolesura kiko hai na kwamba unafikia mashine inayomaliza handaki. Trafiki ya mtandao mpana inategemea upelekaji wa IP umewashwa kwenye mashine hiyo na firewall inayoruhusu mtiririko uliopelekwa. Zote mbili lazima ziwe kweli, na ikiwa moja ni ya uongo ukimya huo huo hutokea.
Uelekezaji wa kurudi ni muhimu vile vile. Ikiwa mtandao wa lengwa haujui jinsi ya kufikia anwani ya handaki ya mteja, ombi hufika na jibu hupotea, na mteja huripoti muda kupita unaoonekana sawa na upelekaji uliotupwa.
Mahali ambapo muundo unatumia tafsiri ya anwani, kanuni ya tafsiri ni sehemu ya njia hiyo ya kurudi. Kuiondoa wakati wa kufuatilia tatizo la MTU hubadilisha muundo unaofanya kazi kuwa uliovunjika, kwa hiyo soma kanuni zilizopo kabla ya kuzihariri.
Pima mahali uvunjikaji unaanzia
Kwanza soma hali ya upelekaji na kanuni za kuchuja. Hizi ni ukaguzi wa kusoma tu na zinajibu swali la bei nafuu:
sysctl net.ipv4.ip_forward
sudo iptables -S FORWARD
ip route get 10.30.0.9
Kisha jaribu ukubwa kwa biti ya don’t-fragment, kutoka kwa mteja, kuelekea mwenyeji zaidi ya lango:
ping -M do -s 1200 10.30.0.9
ping -M do -s 1400 10.30.0.9
Ikiwa jaribio la kwanza linafanya kazi na la pili linashindwa kwa hitilafu ya mgawanyiko, njia inakuambia ukubwa wake unaoweza kutumika. Ikiwa hakuna linalofanya kazi, unaangalia upelekaji au uelekezaji, na MTU si kigezo cha kubadilisha.
| Observation | Points toward | Where to look |
|---|---|---|
| Nothing beyond the gateway works | Forwarding or return route | Forwarding flag, filter rules, routing table |
| Small works, large stalls | Packet size on the path | Tunnel MTU and the link underneath |
| Only names fail | DNS resolution | The resolver configured for the tunnel |
| Works sometimes | Multiple paths or state expiry | Flow selection and NAT state |
Rekebisha tabaka ulilothibitisha
Upelekaji ukiwa hitilafu, marekebisho ni kanuni ya upelekaji au njia, iliyoelezwa nyembamba kadri muundo unavyoruhusu. Ukubwa ukiwa hitilafu, marekebisho ni MTU inayozingatia ufungashaji katika njia hii mahususi, ikitumika kwa kiolesura kinachohitaji na si kwa kila adapta katika kundi.
Kwa vyovyote, baadaye rudia kazi hiyo hiyo kwa lengo hilo hilo. Ikiwa uhamishaji mkubwa wa awali sasa unakamilika, mabadiliko yalishughulikia tabaka lililokuwa likishindwa. Ikiwa ni jaribio dogo tu lililoboreshwa, ulitibu dalili na kikomo halisi bado kipo.
Andika umbo gani uliona kabla ya mabadiliko. Mstari huo mmoja, uliorekodiwa kando ya marekebisho, ndio unaomzuia mtu anayefuata kupunguza MTU ambayo haikuwa tatizo kamwe.