Login berhasil, halaman depan portal tergambar, lalu sebuah widget dasbor atau laporan tertahan di waiting for host sampai browser menyerah. Situs publik tetap termuat normal sepanjang waktu, dan tidak ada kredensial yang berubah. Balasan kecil yang tiba sementara yang besar tersendat adalah tanda plafon ukuran paket, bukan aturan akses. Pastikan pembacaan itu sebelum Anda mengubah hal lain di profil.

Pisahkan masalah ukuran dari masalah kebijakan

Mulailah dengan menyingkirkan kemungkinan penolakan. Jika gateway menolak Anda, koneksi akan langsung gagal alih-alih memuat halaman setengah. Tunnel yang naik lalu tersendat hanya pada transfer lebih besar memberi tahu Anda bahwa jalur luar tidak dapat membawa paket dalam.

Mekanismenya adalah enkapsulasi. Setiap paket dalam memperoleh header tunnel, sehingga muatan yang pas di tautan fisik menjadi paket luar yang tidak lagi pas, dan apa pun yang membawa bit do-not-fragment dibuang tanpa balasan yang bisa ditafsirkan browser.

Ukur plafon dengan probe do-not-fragment

Ukur plafonnya alih-alih menebaknya. Kirim probe yang menolak fragmentasi dan turunkan muatan selangkah demi selangkah sampai balasan kembali, mulai dari perintah seperti ping -M do -s 1472 host. Balasan yang mengeluh bahwa fragmentasi diperlukan padahal DF disetel berarti nilainya masih terlalu tinggi. Ulangi pada 1462, lalu 1452, dan berhenti pada ukuran pertama yang membalas. Catat angkanya bersama host yang Anda uji, karena jawabannya milik jalur itu dan bukan milik protokol secara umum.

Uji alamat yang benar-benar dituju tunnel untuk lalu lintas. Probe luar terhadap nama publik gateway dan probe dalam terhadap server internal mengukur lompatan berbeda, dan penyaringan ICMP pada salah satunya bisa membuat jalur yang sehat tampak rusak.

Terapkan nilainya ke perangkat tunnel

Terapkan hasilnya ke antarmuka yang dibuat klien, bukan ke adaptor Wi-Fi. Pada klien Linux itu adalah ip link set dev tun0 mtu 1300 diikuti oleh ip link show tun0 untuk memastikan nilainya diterapkan. Gunakan nama perangkat apa pun yang dilaporkan klien, karena nama itu berbeda menurut implementasi dan menurut cara tunnel dibangun.

Menurunkan MTU tunnel mengecilkan muatan yang dibawa tiap paket, jadi laju keseluruhan turun sedikit, dan itulah harga agar balasan besar tidak dilempar ke lubang hitam. Angka yang lebih kecil tidak otomatis lebih aman. Mengubah adaptor fisik justru menyebarkan kerusakan ke setiap koneksi pada tautan itu sementara paket dalam yang kebesaran tetap kebesaran.

Gunakan permintaan MTU milik klien sendiri lebih dulu

Saat Anda mengendalikan pemanggilan, klien dapat meminta ukuran alih-alih ditambal setelahnya. --mtu meminta MTU tunnel dari server, dan --base-mtu menyatakan MTU jalur di bawahnya agar gateway dapat menurunkan angka tunnel. Keduanya permintaan, dan panduan klien tidak menjanjikan gateway akan mematuhi salah satunya.

Perbedaan itulah yang menentukan urutan kerja Anda. Coba permintaannya lebih dulu dan periksa antarmuka yang dihasilkannya, lalu kembali ke penyetelan perangkat secara lokal jika nilai yang dipilih gateway masih tersendat.

Verifikasi dengan transfer yang gagal, lalu buat permanen

Perubahan ip link lokal bertahan sampai klien membangun ulang tunnel, yang terjadi pada koneksi ulang atau lanjutkan berikutnya. Letakkan nilainya di tempat koneksi dimulai: pembungkus yang menjalankan klien lalu menyesuaikan perangkat, unit systemd dengan langkah ExecStartPost, atau opsi klien bila gateway menerimanya. Simpan di samping profil dalam kontrol versi agar orang berikutnya melihat mengapa angka itu ada.

Uji dengan permintaan yang gagal, bukan dengan halaman depan. Buka laporannya, tarik lampirannya, atau jalankan pengambilan repositori yang tersendat, dan catat persis di mana ia berhenti jika masih berhenti. Halaman yang tergambar setelah perubahan tidak membuktikan banyak, karena sebelumnya pun tergambar.

Jika transfer yang sama tersendat di titik yang sama, teori MTU belum terbukti. Tangkap lalu lintas di tunnel dan periksa sisi mana yang berhenti mengirim sebelum Anda mengubah angkanya lagi, dan simpan nilai sebelumnya tercatat agar pengembalian tetap satu perintah.

Artikel terkait