Ping VPN berfungsi tetapi laman web tergantung: semak saiz
Balasan gema kecil tidak menguji pendengar TCP atau pemindahan besar. Asingkan dasar akses daripada saiz paket sebelum menurunkan MTU terowong.
Balasan gema tiba, desktop jauh berfungsi, dan pelayar duduk pada halaman kosong sehingga ia mengalah. Dua penjelasan sepadan dengan corak itu, dan kedua-duanya bukan variasi satu masalah: dasar yang tidak pernah membenarkan perkhidmatan, atau paket yang berhenti muat apabila pemindahan membesar. Balasan gema tidak menolak mana-mana daripadanya.
Bergerak dari soalan terkecil ke terbesar, dan catat apa yang sebenarnya dibuktikan oleh setiap langkah.
Balasan gema menjawab soalan yang jauh lebih kecil
Balasan gema mengatakan bahawa tindanan IP destinasi menjawab permintaan ICMP daripada sumber anda. Ia tidak mengatakan apa-apa tentang sama ada pendengar TCP wujud pada port yang anda perlukan, sama ada dasar membenarkan port itu, atau sama ada hos destinasi menapis trafik secara bebas daripada gerbang. Gerbang yang membenarkan satu perkhidmatan boleh menggugurkan yang lain sementara kedua-dua sasaran menjawab ping. Baca balasan itu sebagai satu fakta tentang satu paket dan satu arah.
Sahkan destinasi dan port perkhidmatan sebelum mentafsir apa-apa lagi. Alamat yang anda uji dan alamat yang digunakan oleh aplikasi kadangkala merupakan rekod berbeza, dan nama yang menyelesaikan kepada dua alamat menjadikannya mungkin.
Ketahui sama ada sambungan bermula
Sambungan yang ditolak serta-merta ialah jawapan pendengar atau dasar: sesuatu menjawab dan berkata tidak. Sambungan yang terbuka dan kemudian tersekat apabila data mula bergerak menunjuk kepada saiz. Sambungan yang tidak pernah menyelesaikan jabat tangan biasanya dasar atau penghalaan, dan kelihatan seperti tamat masa dan bukan penolakan.
curl -v --max-time 10 https://internal.example/ -o /dev/null
ss -tn state established '( dport = :443 )'
Catat yang mana antara ketiga-tiganya anda perhatikan sebelum menyentuh tetapan MTU. Menukar saiz terowong untuk membaiki sambungan yang ditolak membazirkan perubahan itu dan menyembunyikan punca sebenar untuk sementara waktu.
Ukur saiz dengan nombor yang dinyatakan
Apabila tersekat muncul di bawah beban, uji satu saiz paket dengan bit larangan pecah ditetapkan dan nyatakan aritmetik supaya hasilnya bermakna. Pada Linux dengan iputils, muatan 1392 bait ditambah pengepala ICMP 8 bait dan pengepala IPv4 20 bait menghasilkan paket dalaman tepat 1420 bait. Nyatakan aritmetik itu dalam tiket, kerana ping kosong yang sampai ke gerbang tidak membuktikan apa-apa tentang aplikasi.
ping -4 -M do -s 1392 10.44.0.10
ping -4 -M do -s 1372 10.44.0.10
Kedua-dua ujian ialah titik ukuran, bukan cadangan saiz terowong. Jika ICMP ditapis di mana-mana pada laluan, tamat masa tidak memberitahu apa-apa tentang saiz, kerana penapisan dan paket yang terlalu besar kelihatan sama dari pihak klien. Kejayaan juga tidak memberitahu apa-apa tentang arah songsang atau destinasi lain.
Perhitungkan laluan luar
Enkapsulasi menambah pengepalanya sendiri, jadi paket pada wayar lebih besar daripada paket yang anda ukur di dalam terowong. Jurang antara keduanya itulah yang membolehkan permintaan kecil yang berfungsi dan permintaan besar yang gagal wujud serentak.
Penemuan MTU laluan dalam IPv4 bergantung pada maklum balas tentang paket yang tidak dapat dihantar tanpa pemecahan, dan IPv6 menggunakan mesej Packet Too Big. Spesifikasi IPv4 menerangkan mekanisme itu. Menapis maklum balas merosakkan keupayaan penghantar untuk belajar dan membiarkannya menghantar semula paket yang tidak akan pernah muat. Itulah sebabnya permintaan kecil yang berfungsi dan permintaan besar yang gagal hidup bersama dengan begitu selesa.
Tukar satu nombor dan uji semula aplikasi
Turunkan MTU terowong, atau hadkan saiz segmen maksimum untuk TCP, kemudian ulangi ujian aplikasi asal dan bukan ujian itu. Ujian yang berjaya selepas perubahan dan aplikasi yang masih tersekat ialah masalah berbeza dengan bentuk serupa, dan hanya ujian aplikasi membezakan keduanya.
Simpan aritmetik dalam rekod perubahan: saiz yang diukur, overhed yang anda andaikan, dan nilai yang anda tetapkan. Sesiapa yang menyemaknya kemudian boleh memeriksa andaian itu dan bukannya memperolehnya semula daripada tangkapan skrin ping.
Jika aplikasi berfungsi pada setiap saiz yang anda cuba, berhenti melaraskan nombor dan lihat dasar yang memisahkan perkhidmatan yang berfungsi daripada yang gagal.