WireGuard токтоп калат: MTU чегиби же жетишпеген берүү эрежесиби?
Серверден ары эч нерсе иштебесе, бул берүү же кайтаруу маршрутунун маселеси. Кичине суроолор өтүп, чоңдору токтоп калса, бул пакеттин өлчөмүнүн белгиси.
Адат WireGuard туура эмес иштей баштаганда эле MTUну төмөндөтүү, жана бул адат башка кемчиликти жашырат. Өткөрбөгөн дарбаза жана чоң пакеттерди ташыбаган жол айырмалоого боло турган үлгүлөрдү жаратат: бири эки багытта тең жана бардык өлчөмдө ийгиликсиз болот, экинчиси кичине суроолордон аман калып, чоңдорунда өлөт. Кандайдыр бир санды өзгөртүүдөн мурун кайсы форма экенин аныктаңыз. Сыноо арзан жана мүмкүн болгон себептердин жарымын жок кылат.
Эки бузулуу, эки башка форма
Берүү маселеси серверден кийин дароо көрүнөт. Кол алышуу ийгиликтүү болот, туннелдин дареги жооп берет, ал эми дарбазанын артындагы эч нерсеге кичине суроо менен да жетүүгө болбойт. Пакет серверге жетти жана өткөрүлгөн жок, же жооптун кайтуу жолу болгон эмес.
Өлчөм маселеси чегинен жогору гана көрүнөт. DNS, TCP кол алышуусу жана кичине API чакыруусу иштейт, ал эми файл жүктөө же чоң жооп илинип калат. Батышкан пакеттер башынан аягына чейин өттү, ал эми батпагандар пайдалуу отчетсуз бир жерде ташталды.
Бул сүрөттөмөлөр ар башка адамдарды жана ар башка конфигурация файлдарын көрсөтөт, ошондуктан божомолдон форманы өлчөө баалуураак. Дарбазага бир ping аларды ажырата албайт.
Бир нерсени кичирейтүүдөн мурун берүүнү жокко чыгарыңыз
Дарбазанын өзүн эмес, анын арындагы багытты сынаңыз. Сервердин туннел дарегине ping интерфейстин күйүп турганын жана туннелди бүтүргөн машинага жеткенин гана далилдейт. Кененирээк тармактын трафиги ошол машинада IP берүүнүн күйгүзүлүшүнө жана өткөрүлгөн агымга уруксат берген firewallга көз каранды. Экөө тең туура болушу керек, ал эми бири жалган болсо ошол эле үнсүздүк пайда болот.
Кайтаруу маршруттоо да ошончолук маанилүү. Эгер багыттагы тармак кардардын туннел дарегине кантип жетүүнү билбесе, суроо келет жана жооп жоголот, ал эми кардар ташталган берүүгө окшош убакыт бүтүүсүн билдирет.
Дизайн даректүү которууну колдонгон жерде которуу эрежеси ошол кайтуу жолунун бөлүгү болуп саналат. MTU маселесин кууганда аны жоюу иштеп турган дизайнды бузулганга айландырат, ошондуктан аларды оңдоодон мурун учурдагы эрежелерди окуңуз.
Үзүлүү кандан башталарын өлчөңүз
Алгач берүү абалын жана чыпкалоо эрежелерин окуңуз. Бул тек окууга арналган текшерүүлөр жана арзан суроого жооп берет:
sysctl net.ipv4.ip_forward
sudo iptables -S FORWARD
ip route get 10.30.0.9
Андан кийин кардардан дарбазанын арындагы хостко карай don’t-fragment бити менен өлчөмдөрдү сынаңыз:
ping -M do -s 1200 10.30.0.9
ping -M do -s 1400 10.30.0.9
Эгер биринчи текшерүү иштесе, экинчиси фрагментация катасы менен ийгиликсиз болсо, жол өзүнүн колдонууга жарактуу өлчөмүн айтат. Эгер экөө тең иштебесе, сиз берүүгө же маршруттоого карап жатасыз, ал эми MTU өзгөртүлүүчү өзгөрмө эмес.
| 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 |
Далилдеген катмарды оңдоңуз
Берүү кемчилик болсо, оңдоо — дизайн уруксат бергендей тар түрдө айтылган берүү эрежеси же маршрут. Өлчөм кемчилик болсо, оңдоо — ушул конкреттүү жолдогу инкапсуляцияны эске алган MTU, ал ага муктаж интерфейске колдонулат, флоттогу ар бир адаптерге эмес.
Кандай болбосун, кийин ошол тапшырманы ошол багытка кайталаңыз. Эгер баштапкы чоң өткөрүү эми бүтсө, өзгөртүү ийгиликсиз болгон катмарды чечти. Эгер кичине текшерүү гана жакшырса, сиз симптомду дарыладыңыз жана чыныгы чек дагы эле ордунда.
Өзгөртүүдөн мурун кайсы форманы байкаганыңызды жазыңыз. Оңдоонун жанына жазылган ошол бир сап — кийинки адамдын эч качан маселе болбогон MTUну төмөндөтүүсүнө жол бербейт.