Simetris NAT dan UDP Hole Punching

8

Saya sudah membaca pertanyaan ini , tetapi penjelasan tentang Symmetric NAT tidak cukup detail.

Tolong bisakah seseorang membantu saya untuk memahami paragraf berikut?

Saya membaca ini tentang Symmetric NAT :

Setiap permintaan dari alamat IP internal dan port yang sama ke tujuan alamat IP dan port yang spesifik dipetakan ke alamat IP dan port sumber eksternal yang unik, jika host internal yang sama mengirimkan paket bahkan dengan alamat dan port sumber yang sama tetapi ke tujuan, pemetaan yang berbeda digunakan. Hanya host eksternal yang menerima paket dari host internal yang dapat mengirim paket kembali.

http://en.wikipedia.org/wiki/Network_address_translation#Types_of_NAT

Dan ini tentang lubang meninju UDP :

Meninju lubang UDP tidak akan bekerja dengan perangkat NAT simetris (juga dikenal sebagai NAT dua arah) yang cenderung ditemukan dalam jaringan perusahaan besar. Dalam NAT simetris, pemetaan NAT yang terkait dengan koneksi ke server STUN yang terkenal dibatasi untuk menerima data dari server yang terkenal, dan karenanya pemetaan NAT yang dilihat server terkenal bukan informasi yang berguna untuk titik akhir.

http://en.wikipedia.org/wiki/UDP_hole_punching

Tapi aku tidak benar-benar menyerapnya. Saya mendapatkan perasaan bahwa ia memberi tahu saya bahwa (dalam aplikasi client-server di mana klien memulai komunikasi) server tidak dapat berkomunikasi kembali dengan cara lain kecuali jika diizinkan secara eksplisit oleh perangkat NAT. Saya tidak mengerti mengapa itu dikatakan. Jika mungkin, bisakah Anda menyederhanakan deskripsi ini sedikit untuk saya?

Kami memiliki masalah di lingkungan kami di mana alat dukungan jarak jauh yang terkenal tidak dapat digunakan oleh vendor perangkat lunak yang sama-sama terkenal untuk memberikan dukungan kepada kami. Klien sadar proxy, tetapi untuk beberapa reson, ia berpikir mungkin ide yang baik untuk tidak menggunakannya dan melakukan sesuatu yang sama sekali berbeda melalui UDP pada port 1153.

john
sumber
1
Sebelum saya menjawab, apakah Anda hanya ingin tahu mengapa meninju lubang UDP tidak bekerja dengan NAT simetris atau Anda bertanya tentang masalah khusus Anda? Karena masalah Anda sepertinya juga tidak berhubungan, jadi saya ingin tahu.
TheCleaner
OKE, mungkin Anda bisa menjelaskan keduanya? Maksud saya, mengapa itu tidak berhasil dan mengapa masalah saya sepertinya tidak berhubungan.
john
Mari kita mulai dengan ruang obrolan jika Anda ingin membuatnya ... Saya punya sedikit waktu dan mungkin lebih mudah. Saya akan memotong / menempelkan penjelasan saya dari sana sebagai jawaban di sini nanti.
TheCleaner

Jawaban:

6

Dari obrolan kami ... jadi orang lain mungkin tidak mendapatkan percakapan lengkap, tetapi dasar-dasarnya ada di sini.

Jadi NAT dasar = source address:port >> external address:port >> NAT>> new source address:port >> external address port

dengan NAT simetris itu adalah pemetaan statis dan sama setiap waktu dan untuk kedua sumber DAN tujuan.

Contoh: 192.168.100.5:34983 going to 4.2.2.2:53 then REQUIRE it to be 216.222.222.222:44444 with destination 8.8.8.8:333333

"dalam aplikasi client-server di mana klien memulai komunikasi) server tidak dapat berkomunikasi kembali dengan cara lain kecuali jika diizinkan secara eksplisit oleh perangkat NAT."

bagian yang Anda katakan salah itu harus dibaca:

dalam aplikasi client-server di mana klien memulai komunikasi) server BISA berkomunikasi kembali dengan cara lain SETELAH sumber menetapkan sesi LEBIH dari port yang digunakan dalam sesi.

Berarti jika 2.2.2.2:43424 pergi ke 5.5.5.5:80 kemudian 5.5.5.5:80 mengirim informasi kembali ke 2.2.2.2:43424 setelah sesi ditetapkan. Dalam kalimat Anda ... sesi hanya akan menjadi sumber berkomunikasi ke tujuan dengan tujuan tidak pernah membalas dengan paket / info / grafik / apa pun.

"Kami memiliki masalah di lingkungan kami di mana alat dukungan jarak jauh yang terkenal tidak dapat digunakan oleh vendor perangkat lunak yang sama-sama terkenal untuk memberikan dukungan kepada kami. Klien sadar akan proxy, tetapi untuk beberapa reson ia berpikir itu mungkin sebuah ide bagus untuk tidak menggunakannya dan melakukan sesuatu yang sama sekali berbeda melalui UDP pada port 1153. "

Itu bisa jadi karena mereka hanya memblokir Logmein / Teamviewer / apa pun di tingkat pelabuhan karena mereka meminta untuk menggunakan port yang berbeda ... jadi mereka berpikir jika Anda mengizinkan atau berkomunikasi pada 1153 itu akan menghindari batasan IT mereka sendiri ... terbaik Saya bisa memikirkan tanpa mengetahui secara detail aplikasi apa atau detail lengkap. Tidak ada hubungannya dengan lubang meninju NAT atau UDP simetris benar-benar ... setidaknya sejauh masalah yang mereka bawa sendiri.

Saya akan merekomendasikan berbicara dengan tim dukungan mereka tentang alat dukungan jarak jauh apa yang mereka kerjakan ATAU bekerja dengan mereka untuk menentukan cara menggunakan alat yang Anda sukai. Jika itu berarti port NATing / aturan tertentu maka Anda harus bekerja dengannya dan tim Networking Anda untuk mengetahui bagian itu.

Semoga semua bisa membantu.

Pembersih
sumber
Alat dukungan jarak jauh adalah Log Me In dan digunakan oleh beberapa pemasok pihak ketiga kami untuk dukungan. Kami mengizinkan lalu lintas di firewall perusahaan kami, dan bisa melihat lalu lintas dilewati oleh firewall. Namun tidak ada yang kembali. Hampir seperti tidak ada jalan kembali melalui firewall, atau server jarak jauh tidak dapat menentukan ke mana harus mengirim komunikasi kembali.
john
Kami juga memiliki proksi, jadi mungkin mereka mengganggu.
john
Jika Anda memiliki "kebijakan izin" keluar, maka itu akan berfungsi jika pihak Anda yang memulai lalu lintas dan lalu lintas itu mencapai pihak jauh dengan info NAT yang tepat. Lihat di sini juga: help.logmein.com/... tetapi Anda mungkin perlu berkonsultasi atau lebih banyak keahlian di lokasi untuk merobohkan ini ...
TheCleaner
4

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Lihatlah foto-foto ini diambil dari halaman "Terjemahan alamat jaringan" Wikipedia.

Dalam "NAT Cone Penuh"

  1. Setelah alamat internal (iAddr: iPort) dipetakan ke alamat eksternal (eAddr: ePort), paket apa pun dari iAddr: iPort dikirim melalui eAddr: ePort.
  2. Host eksternal mana pun dapat mengirim paket ke iAddr: iPort dengan mengirim paket ke eAddr: ePort.

Dalam NAT Simetris

  1. Setiap permintaan dari alamat dan port IP internal yang sama ke tujuan dan alamat IP port tertentu dipetakan ke alamat IP dan port sumber eksternal yang unik; jika host internal yang sama mengirimkan paket bahkan dengan alamat sumber dan port yang sama tetapi ke tujuan yang berbeda, pemetaan yang berbeda digunakan.
  2. Hanya host eksternal yang menerima paket dari host internal yang dapat mengirim paket kembali.

Sekarang mari kita bahas mengapa meninju lubang UDP tidak dapat bekerja di Symmetric NAT. Katakanlah Server1 adalah STUN Server dan Server 2 adalah perangkat NAT dari Private Network yang berbeda. Dalam lubang meninju UDP, Klien terhubung dengan Server1 dan pemetaan port dibuat pada perangkat NAT. Tetapi ketika klien ini terhubung ke host di belakang Server2, perangkat NAT membuat pemetaan port lain seperti yang ditunjukkan pada gambar 2. Server1 berbagi pemetaan port klien dengan host di belakang Server2 dan dengan pemetaan port ini Server2 tidak dapat membuat koneksi dan Server2 tidak mengetahui yang kedua pemetaan port yang dibuat oleh perangkat NAT.

vicky
sumber