Jump to content

NAT (Network Address Translation)

From Wiki

NAT (Network Address Translation) merupakan sebuah sistem untuk menggabungkan lebih dari satu komputer untuk dihubungkan ke dalam jaringan internet hanya dengan menggunakan sebuah alamat IP. Sehingga setiap komputer di dalam NAT ketika berselancar di internet akan terlihat memiliki alamat IP yang sama jika dilacak. Dengan kata lain, sebuah alamat IP pada jaringan lokal akan terlebih dahulu ditranslasikan oleh NAT untuk dapat mengakses IP publik di jaringan komputer. Sebelum proses translasi ini, maka pengguna tidak dapat terhubung ke internet.

NAT adalah proses untuk memodifikasi sumber atau alamat tujuan dalam header IP dari sebuah paket saat sedang dalam transisi. Secara umum, pengirim dan penerima aplikasi tidak menyadari bahwa paket IP sedang dimanipulasi.

NAT sering dilaksanakan oleh router, dan kita akan merujuk ke host melakukan NAT sebagai NAT router. Dalam pengarahan OpenStack biasanya server Linux yang mengimplementasikan fungsi NAT, bukan router hardware. Server ini menggunakan iptables paket perangkat lunak untuk melaksanakan fungsi NAT.

Ada beberapa variasi dari NAT, dan di sini ada tiga jenis umum yang ditemukan dalam pengerahan OpenStack.

SNAT

Dalam Source Network Address Translation (SNAT), router NAT memodifikasi alamat IP dari pengirim di paket IP. SNAT umumnya digunakan untuk memungkinkan host dengan private addresses untuk berkomunikasi dengan server di internet public.

RFC 1918 cadangan tiga subnet berikut sebagai alamat private:

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

Alamat IP ini tidak routable public, yang berarti bahwa host di internet public tidak dapat mengirim paket IP ke salah satu alamat ini. Alamat IP private yang banyak digunakan baik dalam lingkungan perumahan maupun perusahaan.

Seringkali sebuah aplikasi yang berjalan pada host dengan alamat IP private harus terhubung ke server di internet public. Contohnya adalah user yang ingin mengakses situs public seperti www.openstack.org, jika paket IP mencapai server web www.openstack.org dengan alamat IP private sebagai seumber. Maka web server tidak dapat mengirim paket Kembali ke pengirim.

SNAT memecahkan masalah ini dengan memodifikasi alamat IP sumber ke alamat IP yang routable di internet public. Ada variasi yang berbeda dari SNAT; dalam bentuk pengarahan OpenStack menggunakan router NAT di jalan antara pengirim dan penerima menggantikan alamat IP sumber paket dengan alamat IP public router. Router juga memodifikasi port TCP atau UDP ke nilai lain, dan router memelihara catatan port dan alamat IP yang benar dari pengirim, serta port dan alamat IP yang dimodifikasi.

DNAT

Dalam DNAT (Destination Network Address Translation), router NAT memodifikasi alamat IP dari tujuan di header paket IP. Openstack menggunakan DNAT untuk rute paket dari instance ke layanan Openstack metadata. Aplikasi yang berjalan di dalam instance mengakses layanan metadata Openstack dengan membuat permintaan HTTP GET ke server web dengan alamat IP 169.254.169.254. dalam pengarahan Openstack, tidak ada host dengan alamat IP ini.

Sebaliknya Openstack menggunakan DNAT untuk mengubah IP tujuan dari paket tersebut sehingga mereka mencapai interface jaringan dimana layanan metadata mendengarkan.

One-to-one NAT

Dalam one-to-one NAT, router NAT mempertahankan pemetaan antara alamat IP private dan alamat IP public. Openstack menggunakan one-to-one NAT untuk melaksanakan pengembangan alamat IP.

Banyak yang berpendapat bahwa NAT mirip dengan Proxy Server, namun bedanya adalah jika proxy server menyediakan mekanisme caching, tak begitu halnya dengan NAT. sehingga dengan penggunaan NAT tidak ada Batasan mengenai jumlah halaman web yang dapat diakses.

Cukup banyak pengguna NAT yang memanfaatkan system ini, bisa jadi dikarenakan ketersediaan alamat IP yang terbatas, membutuhkan keamanan lebih, atau ada pula yang menggunakan NAT karena dinilai lebih fleksibel dalam hal administrasi jaringan. Sebab jaringan NAT didesain menyederhanakan alamat IP dan untuk melindunginya.

Jenis-Jenis NAT

Ada beberapa jeni NAT yang perlu diketahui yaitu NAT Statis, NAT Dinamis, Overloding NAT, dan Overlopping NAT. berikut pengertian dari jenis – jenis NAT tersebut :

1. NAT Statis

NAT Statis

Bekerja dengan menerjemahkan semua alamat IP yang belum terdaftar menjadi alamat IP yang terdaftar. NAT statis banyak digunakan untuk computer yang ingin diakses dari luar.

NAT statis ini sebetulnya bisa dikatakan pemborosan terhadap alamat IP yang didaftarkan, sebab setiap satu computer dipetakan untuk satu alamat IP terdaftar, sehingga jika ada banyak computer yang didaftarkan tentu semakin terbatas pula alamat IP yang masih tersedia.

Kekurangan lain dari NAT statis adalah kurang aman dibandingkan NAT dinamis, sebab setiap computer memiliki alamat IP tersendiri, dan akhirnya resiko penyusup masuk langsung ke dalam jaringan private lebih besar.

2. NAT Dinamis

NAT Dinamis

Berbeda dengan NAT statis, NAT dinamis bekerja dengan mendaftarkan beberapa computer ke dalam satu kelompok dengan alamat IP terdaftar yang sama. Sehingga nantinya ada beberapa computer yang memiliki kesamaan alamat IP terdaftar.

Keuntungan menggunakan NAT dinamis ini tentu lebih amannya penelusuran di internet. Ketika ada penyusup yang ingin menembu computer yang menggunakan NAT dinamik, maka penyusup tersebut tersebut pasti mengalami kesulitan, sebab alamat IP yang diasosiasikan ke suatu computer selalu berubah secara dinamis.

3. Overloading NAT

Overloading NAT

Memungkinkan lebih dari satu klien terhubung menuju satu IP public, namun pada port yang berbeda. Sehingga saat NAT menerima permintaan dari klien untuk dihubungkan kepada server, NAT kemudian akan menentukan nomor IP dan port untuk klien tersebut.

Keuntungannya adalah walaupun sebuah nomor IP telah digunakan, namun masih bisa dipakai untuk klien lain sebab berada dalam port yang berbeda.

4. Overlapping NAT

Overlapping NAT

Bentuk NAT yang melupakan penerjemahan dua arah, terutama jika terdapat nomor yang sama antara alamat IP public dan local. Agar tidak terjadi konflik, maka NAT mengubah nomor IP public menjadi nomor yang tidak terdapat dalam jaringan local.

Fungsi NAT

  1. Melakukan penghematan terhadap IP legal yang disediakan oleh Internet Service Provider (ISP).
  2. Meminimalisir adanya duplikasi alamat IP dalam jaringan.
  3. Ketika terjadi perubahan jaringan, menghindari proses pengalamatan kembali.
  4. Menambah fleksibilitas untuk terhubung dengan jaringan internet.
  5. Melakukan peningkatan terhadap keamanan sebuah jaringan.
  6. Dibandingkan dengan aplikasi alternatif seperti proxy, penggunaan NAT memberikan fleksibilitas dan performa yang lebih baik.

Walaupun begitu, dibalik semua fungsi dan kelebihannya, sebetulnya ada juga beberapa kekurangan yang mesti dirasakan pengguna NAT, seperti misalnya mengalami delay switching ketika proses translasi, kehilangan kemampuan melacak IP end to end, dan juga ada beberapa aplikasi yang menolak bekerja saat menggunakan NAT.

Cara Kerja NAT

  1. Pertama-tama, NAT menerima permintaan dari klien berupa paket data yang ditujukan untuk sebuah server remote di internet.
  2. NAT kemudian mencatat alamat IP klien, lalu menyimpannya ke dalam tabel translasi alamat. Selanjutnya, alamat IP komputer klien tersebut diubah oleh NAT menjadi nomor IP NAT, lalu NAT lah yang akan melakukan permintaan kepada server.
  3. Server kemudian merespon permintaan tersebut. Dari sudut pandang server, yang terlihat adalah alamat IP NAT, bukan alamat IP klien yang meminta data bersangkutan.
  4. NAT menerima respon dari server, lalu melanjutkannya dengan mengirimkan ke alamat IP klien yang bersangkutan.
  5. Keempat tahapan tersebut terjadi berulang-ulang, sehingga walaupun klien komputer tidak memiliki alamat IP publik, namun tetap dapat mengakses internet.

Source