WireGuard tersekat: had MTU atau peraturan pemajuan yang hilang?
Apa-apa di luar pelayan ialah masalah pemajuan atau laluan balik. Permintaan kecil yang berjaya manakala yang besar tersekat ialah tanda saiz paket.
Kebiasaannya ialah menurunkan MTU sebaik sahaja WireGuard berkelakuan buruk, dan kebiasaan itu menyembunyikan kerosakan lain. Get laluan yang tidak memajukan dan laluan yang tidak membawa paket besar menghasilkan corak yang boleh dibezakan: satu gagal dalam kedua-dua arah dan pada setiap saiz, yang lain bertahan pada permintaan kecil dan mati pada yang besar. Tentukan bentuk mana yang anda ada sebelum menukar apa-apa nombor. Ujian itu murah dan ia menghapuskan separuh punca yang mungkin.
Dua kegagalan, dua bentuk berbeza
Masalah pemajuan muncul serta-merta selepas pelayan. Jabat tangan berjaya, alamat terowong menjawab, dan tiada apa di belakang get laluan boleh dicapai walaupun dengan permintaan kecil. Paket itu sampai ke pelayan dan tidak dimajukan, atau balasannya tiada laluan balik.
Masalah saiz hanya muncul di atas ambang. DNS, jabat tangan TCP dan panggilan API kecil semuanya berfungsi, manakala muat turun fail atau balasan besar tergantung. Paket yang muat bergerak dari hujung ke hujung, dan yang tidak muat digugurkan di suatu tempat tanpa laporan yang berguna.
Huraian itu menunjuk kepada orang yang berbeza dan fail konfigurasi yang berbeza, sebab itu mengukur bentuk lebih bernilai daripada meneka. Satu ping ke get laluan tidak dapat memisahkan keduanya.
Ketepikan pemajuan sebelum anda mengecilkan apa-apa
Uji destinasi di luar get laluan, bukan get laluan itu sendiri. Ping ke alamat terowong pelayan hanya membuktikan bahawa antara muka aktif dan anda mencapai mesin yang menamatkan terowong. Trafik untuk rangkaian yang lebih luas bergantung pada pemajuan IP diaktifkan pada mesin itu dan pada tembok api yang membenarkan aliran yang dimajukan. Kedua-duanya mesti benar, dan jika salah satunya palsu, kesenyapan yang sama berlaku.
Penghalaan balik sama pentingnya. Jika rangkaian destinasi tidak tahu cara mencapai alamat terowong klien, permintaan tiba dan balasan hilang, dan klien melaporkan tamat masa yang kelihatan sama seperti pemajuan yang digugurkan.
Di tempat reka bentuk menggunakan terjemahan alamat, peraturan terjemahan ialah sebahagian daripada laluan balik itu. Membuangnya semasa mengejar masalah MTU menjadikan reka bentuk yang berfungsi sebagai rosak, jadi baca peraturan sedia ada sebelum menyuntingnya.
Ukur di mana putusnya bermula
Baca dahulu keadaan pemajuan dan peraturan penapisan. Ini pemeriksaan baca sahaja dan ia menjawab soalan murah:
sysctl net.ipv4.ip_forward
sudo iptables -S FORWARD
ip route get 10.30.0.9
Kemudian uji saiz dengan bit don’t-fragment, dari klien, ke arah hos di luar get laluan:
ping -M do -s 1200 10.30.0.9
ping -M do -s 1400 10.30.0.9
Jika ujian pertama berjaya dan yang kedua gagal dengan ralat pemecahan, laluan itu memberitahu saiz yang boleh digunakan. Jika kedua-duanya tidak berjaya, anda sedang melihat pemajuan atau penghalaan, dan MTU bukan pemboleh ubah yang perlu ditukar.
| 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 |
Baiki lapisan yang anda buktikan
Apabila pemajuan ialah kerosakan, pembetulannya ialah peraturan pemajuan atau laluan, dinyatakan sesempit yang dibenarkan reka bentuk. Apabila saiz ialah kerosakan, pembetulannya ialah MTU yang mengambil kira enkapsulasi pada laluan tertentu ini, digunakan pada antara muka yang memerlukannya dan bukan pada setiap penyesuai dalam armada.
Walau apa pun, selepas itu ulangi tugasan yang sama ke destinasi yang sama. Jika pemindahan besar asal kini selesai, perubahan itu menangani lapisan yang gagal. Jika hanya ujian kecil bertambah baik, anda merawat gejala dan had sebenar masih ada.
Catat bentuk mana yang anda perhatikan sebelum perubahan. Satu baris itu, direkodkan di sebelah pembetulan, ialah yang menghalang orang seterusnya daripada menurunkan MTU yang tidak pernah menjadi masalah.