Mengapa traceroute mati di satu arah melalui terowongan VPN
Jejak yang selesai di satu arah dan mencetak tanda bintang di arah lain biasanya masalah diagnostik. Bandingkan metode probe, jalur balik, dan permintaan nyata.
Keluaran traceroute yang selesai di satu arah dan mencetak baris tanda bintang di arah lain terlihat seperti penerusan asimetris, dan biasanya bukan. Setiap lompatan yang ditampilkan memerlukan probe tiba, router memutuskan untuk menjawab, dan jawaban kembali serta dicocokkan dengan probe. Putuskan salah satu mata rantai itu dan baris menjadi tanda bintang sementara terowongan tetap membawa data.
Jejak adalah bukti tentang diagnostik sebelum menjadi bukti tentang transportasi. Pertanyaan yang layak diajukan adalah mata rantai mana dari tiga itu yang gagal, dan jawabannya datang dari paket, bukan dari bentuk keluaran.
Tanda bintang adalah jawaban yang hilang, bukan lompatan yang hilang
Traceroute bergerak ke luar dengan mengirim probe yang TTL-nya kedaluwarsa satu router lebih jauh setiap putaran. Router yang membuang probe kedaluwarsa seharusnya mengembalikan pesan ICMP Time Exceeded yang menyebut namanya sendiri, dan alat itu mencetak nama tersebut. Yang sebenarnya ditunggu alat adalah pesan itu tiba dalam batas waktu. Jika router menjawab dari alamat sumber lain, membatasi seberapa sering ia menghasilkan galat, atau membuang probe tanpa sepatah kata, putaran itu tidak menghasilkan apa pun untuk dicetak.
Tidak satu pun dari hasil itu mengatakan jalur maju rusak. Tanda bintang adalah laporan tentang surat tanpa jawaban, bukan tentang jalan kosong.
Metode probe menentukan filter mana yang Anda temui
Metode bawaan di Linux biasanya port tujuan UDP bernomor tinggi, tracert di Windows mengirim gema ICMP, dan Linux dapat diperintahkan memakai ICMP atau TCP sebagai gantinya. Masing-masing tampak sebagai jenis lalu lintas berbeda bagi firewall stateful atau grup keamanan cloud. Membandingkan jejak UDP dari satu sisi dengan jejak ICMP dari sisi lain membandingkan dua percobaan berbeda. Kunci metode, keluarga alamat, alamat sumber, dan batas waktu sebelum menyebut hasilnya perbedaan.
Untuk perbandingan yang adil, jalankan jejak dari host yang benar-benar membawa lalu lintas, bukan dari gateway yang meneruskan atas nama mereka. Jejak yang dihasilkan router memakai alamat sumber dan kebijakan keluaran router itu sendiri, yang bisa lebih ketat daripada apa pun yang dilihat klien. Catat perintah persisnya agar orang berikutnya dapat mengulanginya.
Nilai batas waktu adalah separuh percobaan lainnya, dan mudah terlewat dari catatan. Tunggu dua detik pada jalur yang padat melaporkan tanda bintang di tempat tunggu lima detik melaporkan lompatan. Pertahankan nilai yang sama di semua eksekusi agar perbandingan tetap tentang jaringan.
Jalur balik adalah rute tersendiri
Galat ICMP adalah paket biasa dengan sumber dan tujuannya sendiri, dan ia memerlukan rute kembali ke pelacak. Jika kebijakan terowongan membawa prefiks LAN tetapi tidak membawa alamat router yang menghasilkan galat, pesan itu keluar melalui jalur yang tidak dapat mencapai Anda. Penyaringan balasan dapat membuangnya bahkan ketika rute ada, karena paket datang dari alamat tak terduga di antarmuka tak terduga. Itu ketidaksesuaian di bidang diagnostik, bukan kegagalan aplikasi.
Melebarkan setiap pemilih sampai jejak selesai membuat gambarnya lebih cantik dan kebijakannya lebih buruk. Perbaiki alamat diagnostik yang spesifik, atau terima tanda bintang itu dan uji aplikasi dengan cara lain.
Konfirmasi terowongan dengan permintaan nyata
Jabat tangan TCP pada port milik layanan itu sendiri menguji penerusan, perutean balik, dan penyaringan ke arah yang penting. Perintah di bawah berjalan di kedua ujung dan membandingkan apa yang dapat dibuka masing-masing sisi. Ganti port layanan dan nama antarmuka terowongan dari pengaturan 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 dulu dua eksekusi traceroute: jika eksekusi ICMP menunjukkan lompatan dan eksekusi TCP tidak, perbedaannya metode, bukan jalur. Lalu ambil hasil curl sebagai jawaban tingkat aplikasi, karena pertukaran yang selesai dengan kode status yang wajar berarti jalur maju dan balik keduanya bekerja untuk lalu lintas nyata. Daftar soket menunjukkan apakah koneksi benar-benar terbentuk, yang tidak dapat dikatakan jejak mana pun.
Terowongan yang membawa sesi interaktif di kedua arah sementara satu traceroute mencetak tanda bintang adalah sehat dan sekadar tidak fotogenik. Simpan keluaran perintah dari masing-masing sisi sebagai catatan, dan perlakukan lompatan yang hilang sebagai pertanyaan terbuka tentang diagnostik, bukan putusan tentang VPN.