Mengapa traceroute mati di satu arah melalui terowong VPN
Jejak yang selesai di satu arah dan mencetak bintang di arah lain biasanya masalah diagnostik. Bandingkan kaedah probe, laluan balik dan permintaan sebenar.
Keluaran traceroute yang selesai di satu arah dan mencetak baris bintang di arah lain kelihatan seperti penghantaran asimetri, dan biasanya bukan. Setiap hop yang dipaparkan memerlukan probe tiba, penghala memutuskan untuk menjawab dan jawapan kembali serta dipadankan dengan probe. Putuskan mana-mana pautan itu dan baris menjadi bintang sementara terowong terus membawa data.
Jejak ialah bukti tentang diagnostik sebelum ia menjadi bukti tentang pengangkutan. Soalan yang patut ditanya ialah pautan mana antara tiga itu yang gagal, dan jawapannya datang daripada paket, bukan daripada bentuk keluaran.
Bintang ialah jawapan yang hilang, bukan hop yang hilang
Traceroute bergerak ke luar dengan menghantar probe yang TTLnya tamat satu penghala lebih jauh setiap pusingan. Penghala yang membuang probe yang tamat tempoh sepatutnya memulangkan mesej ICMP Time Exceeded yang menamakan dirinya, dan alat itu mencetak nama tersebut. Apa yang sebenarnya ditunggu alat ialah mesej itu tiba dalam had masa. Jika penghala menjawab dari alamat sumber lain, mengehadkan kekerapan ia menjana ralat atau membuang probe tanpa sepatah kata, pusingan itu tidak menghasilkan apa-apa yang boleh dicetak.
Tiada satu pun hasil itu mengatakan laluan ke hadapan rosak. Bintang ialah laporan tentang surat tanpa jawapan, bukan tentang jalan kosong.
Kaedah probe menentukan penapis mana yang anda temui
Kaedah lalai pada Linux biasanya port destinasi UDP bernombor tinggi, tracert pada Windows menghantar gema ICMP, dan Linux boleh diarahkan menggunakan ICMP atau TCP sebagai gantinya. Setiap satunya kelihatan sebagai jenis trafik berbeza kepada tembok api stateful atau kumpulan keselamatan awan. Membandingkan jejak UDP dari satu pihak dengan jejak ICMP dari pihak lain membandingkan dua eksperimen berbeza. Tetapkan kaedah, keluarga alamat, alamat sumber dan had masa sebelum menyebut hasilnya perbezaan.
Untuk perbandingan yang adil, jalankan jejak dari hos yang benar-benar membawa trafik, bukan dari get laluan yang menghantar bagi pihak mereka. Jejak yang dijana penghala menggunakan alamat sumber dan dasar keluaran penghala itu sendiri, yang mungkin lebih ketat daripada apa-apa yang dilihat pelanggan. Catat arahan yang tepat supaya orang seterusnya boleh mengulanginya.
Nilai had masa ialah separuh lagi eksperimen, dan mudah tertinggal daripada nota. Tunggu dua saat pada laluan sesak melaporkan bintang di tempat tunggu lima saat melaporkan hop. Kekalkan nilai yang sama dalam semua larian supaya perbandingan kekal tentang rangkaian.
Laluan balik ialah laluan tersendiri
Ralat ICMP ialah paket biasa dengan sumber dan destinasinya sendiri, dan ia memerlukan laluan kembali kepada penjejak. Jika dasar terowong membawa awalan LAN tetapi tidak membawa alamat penghala yang menjana ralat itu, mesej itu keluar melalui laluan yang tidak dapat mencapai anda. Penapisan balasan boleh membuangnya walaupun laluan wujud, kerana paket itu tiba dari alamat tidak dijangka pada antara muka tidak dijangka. Itu ketidakpadanan dalam satah diagnostik, bukan kegagalan aplikasi.
Melebarkan setiap pemilih sehingga jejak selesai menjadikan gambar lebih cantik dan dasar lebih buruk. Baiki alamat diagnostik tertentu, atau terima bintang itu dan uji aplikasi dengan cara lain.
Sahkan terowong dengan permintaan sebenar
Jabat tangan TCP pada port perkhidmatan itu sendiri menguji penghantaran, penghalaan balik dan penapisan ke arah yang penting. Arahan di bawah berjalan di kedua-dua hujung dan membandingkan apa yang boleh dibuka oleh setiap pihak. Gantikan port perkhidmatan dan nama antara muka terowong dengan milik konfigurasi anda sendiri.
traceroute -I -n -w 2 203.0.113.40
traceroute -T -p 443 -n -w 2 203.0.113.40
curl -sS -o /dev/null -w '%{http_code} %{time_total}\n' --max-time 5 http://203.0.113.40:8080/health
ss -tan state established
Baca dahulu dua larian traceroute: jika larian ICMP menunjukkan hop dan larian TCP tidak, perbezaannya kaedah, bukan laluan. Kemudian ambil hasil curl sebagai jawapan peringkat aplikasi, kerana pertukaran yang selesai dengan kod status yang munasabah bermakna laluan ke hadapan dan balik kedua-duanya berfungsi untuk trafik sebenar. Senarai soket menunjukkan sama ada sambungan itu terbentuk langsung, yang tidak dapat diberitahu oleh mana-mana jejak.
Terowong yang membawa sesi interaktif di kedua arah sementara satu traceroute mencetak bintang adalah sihat dan hanya tidak fotogenik. Simpan keluaran arahan setiap pihak sebagai rekod, dan anggap hop yang hilang sebagai soalan terbuka tentang diagnostik, bukan keputusan tentang VPN.