Paradums ir samazināt MTU, tiklīdz WireGuard sāk uzvesties nepareizi, un šis paradums slēpj citu defektu. Vārteja, kas nepārsūta, un ceļš, kas nenes lielas paketes, rada atšķiramus modeļus: viens neizdodas abos virzienos un pie jebkura izmēra, otrs pārdzīvo mazos pieprasījumus un mirst pie lielajiem. Nosakiet, kura forma jums ir, pirms maināt jebkuru skaitli. Tests ir lēts, un tas novērš pusi iespējamo cēloņu.

Divi defekti, divas dažādas formas

Pārsūtīšanas problēma parādās uzreiz aiz servera. Rokasspiediens izdodas, tuneļa adrese atbild, un nekas aiz vārtejas nav sasniedzams pat ar mazu pieprasījumu. Pakete sasniedza serveri un netika pārsūtīta, vai arī atbildei nebija atgriešanās maršruta.

Izmēra problēma parādās tikai virs sliekšņa. DNS, TCP rokasspiediens un mazs API izsaukums darbojas, kamēr faila lejupielāde vai liela atbilde iekaras. Paketes, kas ietilpa, aizgāja no gala līdz galam, un tās, kas neietilpa, tika kaut kur izmestas bez lietderīga ziņojuma.

Šie apraksti norāda uz dažādiem cilvēkiem un dažādiem konfigurācijas failiem, tāpēc formas mērīšana ir vērtīgāka par minējumu. Viens ping uz vārteju nevar tās atdalīt.

Izslēdziet pārsūtīšanu, pirms kaut ko samazināt

Pārbaudiet galamērķi aiz vārtejas, nevis pašu vārteju. Ping uz servera tuneļa adresi pierāda tikai to, ka saskarne ir aktīva un ka jūs sasniedzat mašīnu, kas beidz tuneli. Plašākā tīkla trafiks ir atkarīgs no tā, vai šajā mašīnā ir iespējota IP pārsūtīšana, un no ugunsmūra, kas atļauj pārsūtīto plūsmu. Abiem jābūt patiesiem, un, ja kāds ir nepatiess, rodas tā pati klusēšana.

Atgriešanās maršrutēšana ir tikpat svarīga. Ja galamērķa tīkls nezina, kā sasniegt klienta tuneļa adresi, pieprasījums ierodas un atbilde pazūd, un klients ziņo par taimautu, kas izskatās identiski nomestai pārsūtīšanai.

Tur, kur dizains izmanto adrešu tulkošanu, tulkošanas noteikums ir daļa no šī atgriešanās ceļa. Tā noņemšana, dzenoties pēc MTU problēmas, pārvērš strādājošu dizainu salūzušā, tāpēc izlasiet esošos noteikumus pirms to rediģēšanas.

Izmēriet, kur sākas pārtraukums

Vispirms izlasiet pārsūtīšanas stāvokli un filtrēšanas noteikumus. Tie ir tikai lasīšanas pārbaudes, un tās atbild uz lēto jautājumu:

sysctl net.ipv4.ip_forward
sudo iptables -S FORWARD
ip route get 10.30.0.9

Pēc tam pārbaudiet izmērus ar don’t-fragment bitu, no klienta, pretī resursdatoram aiz vārtejas:

ping -M do -s 1200 10.30.0.9
ping -M do -s 1400 10.30.0.9

Ja pirmā pārbaude darbojas un otrā neizdodas ar fragmentācijas kļūdu, ceļš jums pasaka savu izmantojamo izmēru. Ja neizdodas neviena, jūs skatāties uz pārsūtīšanu vai maršrutēšanu, un MTU nav maināmais lielums.

ObservationPoints towardWhere to look
Nothing beyond the gateway worksForwarding or return routeForwarding flag, filter rules, routing table
Small works, large stallsPacket size on the pathTunnel MTU and the link underneath
Only names failDNS resolutionThe resolver configured for the tunnel
Works sometimesMultiple paths or state expiryFlow selection and NAT state

Salabojiet slāni, ko pierādījāt

Kad pārsūtīšana ir defekts, labojums ir pārsūtīšanas noteikums vai maršruts, izteikts pēc iespējas šaurāk, cik dizains pieļauj. Kad izmērs ir defekts, labojums ir MTU, kas ņem vērā iekapsulēšanu šajā konkrētajā ceļā, piemērots saskarnei, kurai tas nepieciešams, nevis katram adapterim flotē.

Lai kā būtu, pēc tam atkārtojiet to pašu uzdevumu pret to pašu galamērķi. Ja sākotnējā lielā pārsūtīšana tagad pabeidzas, izmaiņa risināja to slāni, kas neizdevās. Ja uzlabojās tikai mazā pārbaude, jūs ārstējāt simptomu, un īstā robeža joprojām ir savā vietā.

Pierakstiet, kādu formu novērojāt pirms izmaiņas. Tā viena rinda, kas pierakstīta blakus labojumam, ir tas, kas neļauj nākamajam cilvēkam samazināt MTU, kas nekad nav bijis problēma.

Saistītie raksti