Nahihinto ang WireGuard: limitasyon sa MTU o kulang na panuntunan sa pagpapasa?
Anumang lampas sa server ay problema sa pagpapasa o ruta ng pagbabalik. Ang maliliit na kahilingan na gumagana habang ang malalaki ay nahihinto ay ang pirma ng laki ng packet.
Ang ugali ay babaan ang MTU sa sandaling magsimulang umasal nang mali ang WireGuard, at itinatago ng ugali na iyon ang ibang depekto. Ang gateway na hindi nagpapasa at ang landas na hindi nagdadala ng malalaking packet ay gumagawa ng makikitang magkaibang pattern: ang isa ay nabigo sa dalawang direksyon at sa bawat laki, ang isa ay nakakaligtas sa maliliit na kahilingan at namamatay sa malalaki. Tukuyin kung aling hugis ang mayroon ka bago baguhin ang anumang bilang. Ang pagsubok ay mura at inaalis ang kalahati ng mga posibleng dahilan.
Dalawang pagkabigo, dalawang magkaibang hugis
Ang problema sa pagpapasa ay lumilitaw kaagad pagkatapos ng server. Nagtatagumpay ang pakikipagkamay, sumasagot ang address ng tunnel, at walang maabot sa likod ng gateway kahit sa maliit na kahilingan. Naabot ng packet ang server at hindi naipasa, o walang rutang pabalik ang tugon.
Ang problema sa laki ay lumilitaw lamang sa itaas ng isang limitasyon. Gumagana ang DNS, isang pakikipagkamay na TCP at maliit na tawag sa API, samantalang nag-hang ang pag-download ng file o malaking tugon. Ang mga packet na kasya ay naglakbay mula sa dulo hanggang dulo, at ang mga hindi kasya ay itinapon sa isang lugar nang walang kapaki-pakinabang na ulat.
Ang mga paglalarawang iyon ay tumutukoy sa magkaibang tao at magkaibang file ng configuration, kaya mas mahalaga ang pagsukat ng hugis kaysa haka-haka. Hindi sila mahihiwalay ng isang ping sa gateway.
Ibukod ang pagpapasa bago paliitin ang anuman
Subukan ang destinasyon lampas sa gateway, hindi ang gateway mismo. Ang ping sa address ng tunnel ng server ay nagpapatunay lamang na aktibo ang interface at na naaabot mo ang makina na nagtatapos ng tunnel. Ang trapiko para sa mas malawak na network ay nakasalalay sa naka-enable na pagpapasa ng IP sa makinang iyon at sa firewall na nagpapahintulot sa naipasang daloy. Dapat totoo ang dalawa, at kung isa ay mali, parehong katahimikan ang lumilitaw.
Ang ruta ng pagbabalik ay kasinghalaga. Kung hindi alam ng destinasyong network kung paano maabot ang address ng tunnel ng kliyente, dumarating ang kahilingan at nawawala ang tugon, at nag-uulat ang kliyente ng timeout na mukhang kapareho ng itinapong pagpapasa.
Kung saan gumagamit ang disenyo ng pagsasalin ng address, ang panuntunan sa pagsasalin ay bahagi ng rutang pabalik na iyon. Ang pagtanggal nito habang hinahabol ang problema sa MTU ay ginagawang sirang disenyo ang gumaganang disenyo, kaya basahin ang umiiral na mga panuntunan bago i-edit ang mga ito.
Sukatin kung saan nagsisimula ang pagkasira
Basahin muna ang kalagayan ng pagpapasa at ang mga panuntunan sa pagsala. Ito ay mga pagsusuring pambasa lamang at sinasagot ang murang tanong:
sysctl net.ipv4.ip_forward
sudo iptables -S FORWARD
ip route get 10.30.0.9
Pagkatapos ay subukan ang mga laki gamit ang don’t-fragment bit, mula sa kliyente, patungo sa host lampas sa gateway:
ping -M do -s 1200 10.30.0.9
ping -M do -s 1400 10.30.0.9
Kung gumagana ang unang pagsubok at nabigo ang pangalawa na may error sa fragmentation, sinasabi ng landas ang gamit na laki nito. Kung wala sa dalawa ang gumagana, tinitingnan mo ang pagpapasa o pagruruta, at ang MTU ay hindi ang variable na dapat baguhin.
| 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 |
Ayusin ang layer na napatunayan mo
Kapag ang pagpapasa ang depekto, ang pagwawasto ay isang panuntunan sa pagpapasa o ruta, na nakasaad nang kasingkitid na pinapayagan ng disenyo. Kapag ang laki ang depekto, ang pagwawasto ay isang MTU na isinasaalang-alang ang encapsulation sa partikular na landas na ito, inilapat sa interface na nangangailangan nito at hindi sa bawat adapter sa fleet.
Sa alinmang paraan, pagkatapos ay ulitin ang parehong gawain patungo sa parehong destinasyon. Kung natatapos na ngayon ang orihinal na malaking paglilipat, tinugunan ng pagbabago ang layer na nabigo. Kung ang maliit na pagsubok lamang ang bumuti, ginamot mo ang sintomas at ang tunay na limitasyon ay naroon pa rin.
Isulat kung aling hugis ang naobserbahan mo bago ang pagbabago. Ang isang linyang iyon, na naitala sa tabi ng pagwawasto, ang pumipigil sa susunod na tao na babaan ang MTU na hindi kailanman naging problema.