Alamat sumber mana yang dilihat STUN dengan VPN di router?
Rute, pemilihan sumber, dan terjemahan menentukan alamat yang dilaporkan reflektor. Tiga fakta untuk dicatat, lalu satu kueri untuk memastikan jalur mana yang menang.
Pertanyaan ini terdengar seperti satu pencarian dan sebenarnya tiga keputusan. Rute mana yang diambil binding request, sumber mana yang dipilih kernel untuk rute itu, dan apakah ada sesuatu di sepanjang jalan yang menulis ulang sumber itu. Ubah salah satunya dan alamat yang dilaporkan server STUN ikut berubah. Karena itu, pernyataan bahwa VPN ada di router hampir tidak menjelaskan apa pun sendirian.
Keputusan bertumpu pada tiga fakta
Pertama rute: aturan kebijakan dan tabel perutean menentukan apakah permintaan keluar lewat terowongan atau lewat WAN biasa, dan tujuan yang dikecualikan mengambil jalur kedua bahkan saat terowongan aktif. Kedua sumber: kernel memilih sumber untuk rute yang dipilih, dan pilihan itu bergantung pada sumber pilihan rute dan pada aturan apa pun yang cocok. Ketiga terjemahan: NAT di sepanjang jalan menggantikan sumber yang dipilih. Alamat yang dipantulkan adalah hasil kali ketiganya, bukan sifat terowongan.
Ubah salah satu dari tiga dan jawabannya berubah, sementara setiap komponen masih tampak sehat di lognya sendiri. Itulah alasan biasa diagnosis ini terhenti.
Catat ketiga fakta untuk aliran yang Anda uji sebelum mulai. Antarmuka, rute, dan aturan terjemahan cukup untuk memprediksi hasilnya, dan justru prediksi itu yang membuat kejutan menjadi informatif. Jika Anda tidak dapat mengisi salah satu dari tiga, celah itulah temuan sebenarnya.
Ikuti satu binding request sepanjang jalur
Sebuah binding request STUN meminta server melaporkan alamat transport sumber yang diamatinya. Jawabannya menjelaskan jalur yang ditempuh permintaan, bukan inventaris antarmuka di mesin klien. Dua permintaan lewat dua jalur akan dengan jujur melaporkan dua alamat berbeda.
| Path taken | Source the reflector sees | What it means |
|---|---|---|
| Tunnel to a public exit that translates | The exit's public address | The reflector learns nothing about the LAN |
| Tunnel to a private reflector, translated to the tunnel address, no later translation | That tunnel address | An internal identifier is disclosed to that reflector |
| Excluded flow over the ordinary WAN | The WAN address | The tunnel was not used at all |
Baca tabel itu sebagai kumpulan syarat, bukan menu penyedia. Baris tengah menuntut reflektor privat dapat dijangkau di bawah perutean dan kebijakan peer terowongan itu sendiri; itu fakta konfigurasi yang dapat Anda verifikasi, bukan sesuatu yang tersirat dari tingkat akun. Baris bawah biasanya yang penting bagi kebijakan, karena lalu lintas itu seharusnya tetap di dalam terowongan. Di antara keduanya ada kasus biasa, ketika pintu keluar menerjemahkan dan reflektor hanya melihat pintu keluar.
Kandidat host dan kandidat refleksif sisi server berasal dari mekanisme berbeda, jadi daftar kandidat tidak menyatakan jalur mana yang benar-benar dipakai media. Baca pasangan yang dipilih, bukan log pengumpulan, saat ingin tahu ke mana sesi pergi.
Apa yang bukan alamat terowongan router
Alamat terowongan yang ditetapkan ke router milik sebuah antarmuka di router. Peramban di host LAN punya alamat antarmuka sendiri dan tidak melihat antarmuka terowongan router secara langsung. Memperlakukan keduanya sebagai dapat dipertukarkan menghasilkan jawaban salah yang percaya diri tentang apa yang dapat dipelajari halaman web.
Penerusan adalah yang menghubungkan keduanya. Permintaan melintasi router sebagai lalu lintas yang dirutekan, dan sumbernya adalah apa yang dihasilkan perutean dan terjemahan.
Jika jalur terowongan mempertahankan sumber LAN, reflektor privat dapat mempelajari alamat LAN itu, yang merupakan pengungkapan nyata dan berbeda dari alamat terowongan. Jika jalur menerjemahkan ke alamat terowongan, reflektor mempelajari alamat terowongan sebagai gantinya. Kedua hasil konsisten dengan peramban yang sama di host yang sama, karena itu sebuah pengamatan harus diikat ke aliran tertentu. Tanyakan kepada kernel sumber mana yang akan dipakainya sebelum menyalahkan aplikasi.
Pengungkapan versus penerobosan: dua temuan, dua perbaikan
Alamat terowongan yang dipantulkan mengungkap pengenal internal melalui jalur yang Anda izinkan. Permintaan langsung lewat WAN menerobos jalur yang ingin Anda wajibkan. Yang pertama soal informasi, yang kedua soal penegakan, dan keduanya diperbaiki di tempat berbeda. Menyatukannya dalam satu kata menghasilkan perbaikan yang tidak menangani keduanya.
WebRTC membuat ini lebih terlihat tanpa membuatnya salah, karena mengumpulkan kandidat tidak sama dengan memilihnya.
ip route get 203.0.113.7 from 192.0.2.25
ip rule showJalankan kueri rute untuk setiap alamat reflektor yang Anda izinkan, dengan sumber yang Anda perkirakan dibawa aliran itu, lalu jalankan lagi untuk rentang yang dikecualikan untuk melihat apa yang dipilih opsi cadangan. Bandingkan kedua jawaban dengan kebijakan yang Anda catat. Ketika keduanya berbeda dengan cara yang tidak Anda maksudkan, Anda telah menemukan titik perbaikan tanpa perlu menafsirkan daftar kandidat peramban sama sekali.