1 poin oleh GN⁺ 2025-01-06 | Belum ada komentar. | Bagikan ke WhatsApp

Cara Kerja NAT Traversal

  • Masalah Dasar: Membahas tantangan menentukan koneksi peer-to-peer antar dua mesin. Dalam kasus Tailscale, tujuannya adalah membuat terowongan WireGuard®. Teknologi ini digunakan di berbagai bidang, termasuk WebRTC, panggilan VoIP, dan permainan video.

  • Protokol Berbasis UDP: Untuk NAT traversal diperlukan protokol berbasis UDP. TCP juga bisa digunakan, tetapi kompleksitas meningkat dan mungkin perlu penyesuaian kernel.

  • Kontrol Langsung Socket Jaringan: Diperlukan kontrol langsung atas socket yang mengirim dan menerima paket jaringan. Tidak dapat melewati NAT hanya dengan menggunakan pustaka jaringan yang sudah ada.

  • Menggunakan Proxy Lokal: Jika akses langsung ke socket sulit dilakukan, dapat menggunakan proxy lokal untuk NAT traversal dan relai paket.

Memahami Firewall

  • Firewall Berstatus: Sebagian besar perangkat NAT menyertakan firewall berstatus, yang mengingat paket yang pernah dilihat sebelumnya dan menggunakannya untuk memproses paket baru.

  • Aturan Lalu Lintas UDP: Firewall mengizinkan paket UDP masuk yang cocok dengan paket outbound yang sebelumnya telah dilihat.

  • Menghadapi Firewall: Jika seluruh firewall menghadap arah yang sama, ini sama seperti mendesain ulang komunikasi klien-server. Namun muncul masalah saat dua klien mencoba berkomunikasi langsung.

Melewati Firewall

  • Tanpa Mengonfigurasi Ulang Firewall: Dibutuhkan cara untuk menyelesaikan masalah tanpa harus mengubah konfigurasi firewall. Jika paket UDP memiliki sumber dan tujuan yang benar, maka paket yang tampak sebagai balasan akan diizinkan.

  • Berbagi Informasi: Peer perlu mengetahui informasi ip:port lawan lebih dulu. Untuk itu, gunakan server koordinator untuk menyinkronkan informasi ip:port.

Inti NAT

  • Perangkat NAT: Perangkat NAT mengubah paket, terutama Source NAT (SNAT) yang memicu masalah. NAT digunakan untuk menghubungkan beberapa perangkat ke internet.

  • Penemuan NAT: Karena perangkat NAT mengubah paket, kedua peer tidak tahu ip:port lawan. Penemuan NAT didukung menggunakan protokol STUN.

STUN dan Penemuan NAT

  • Protokol STUN: Saat klien yang berada di balik NAT berkomunikasi dengan server internet, server dapat melihat ip:port publik yang dibuat oleh perangkat NAT. Server STUN lalu menyediakan informasi ini ke klien.

  • Batasan: STUN bekerja hanya dalam beberapa kasus dan kemungkinan gagal tinggi, terutama pada NAT gateway yang dipromosikan sebagai perangkat keamanan.

Solusi Tambahan

  • Menggunakan Relay: Ketika koneksi langsung gagal, paket diteruskan melalui relay yang memungkinkan kedua sisi berkomunikasi tanpa hambatan.

  • Protokol DERP: Tailscale memakai DERP (Detoured Encrypted Routing Protocol) untuk merelay data dan mendukung NAT traversal.

  • Protokol Pemeta Port: Dapat meminta perangkat NAT agar lebih kooperatif dengan menggunakan protokol pemetaan port seperti UPnP IGD, NAT-PMP, dan PCP.

Belum ada komentar.

Belum ada komentar.