E ra D i srupsi 2 025 ini adalah tahun terpesat dimana dunia A rtificial I ntelligence berkembang pesat, dimana pengerjaan kode sudah terlampaui oleh sistem kecerdasan buatan ini, semua aspek komprehensif didalam dunia programming seperti syntax itu sudah terkuasai oleh data, sehingga memungkinkan penggunanya untuk cukup memerintahkan penulisan kode yang begitu sederhana. Namun, di lain waktu, cara orang untuk mempelajari bahasa pemrograman pun akan terlihat lebih sederhana karena bantuan alat kecerdasan buatan, AI .

Kadang orang-orang yang sering ngulik pada konsep jaringan menemukan hal ini, NAT. Mungkin alasannya ketika ingin memblokir atau mencegah koneksi agar supaya tidak masuk ke mesin Linux yang dipakainya, atau mungkin gimana cara jaringan lokal bisa konek ke Internet lewat mesin Linux yang dipakainya. Kepanjangan NAT adalah Network Address Translation, atau bahasanya Translasi Alamat Jaringan.
Ya, definisi NAT yang diambil di Wikipedia adalah "A method of remapping one IP address space into another by modifying network address information in the IP header of packets while they are in transit across a traffic routing device." Yang artinya "Sebuah metode untuk memetakan ulang satu ruang IP address ke IP address yang informasinya dimodifikasi di header paket disaat paket itu sedang transit di perangat perutean lalu lintas".
NAT bisa juga dibilang salah satu fungsi dari router, karena memang fungsinya untuk mengubah informasi paket IP address, mulai dari destination address, source address, dan bahkan memberikan aksi pada paket itu sendiri ( ACCEPT, REJECT, DROP, DNAT, SNAT, dll. ).
Salah satu hal yang populer pada NAT ini yakni bisa menampung beberapa Alamat IP Privat dibelakang satu IP. Selain itu juga DNAT, SNAT dan MASQUERADING.
Dalam OS GNU/Linux, NAT dikendalikan oleh kernel dan dapat dikonfigurasikan memakai IPTables.

![]() |
| Tabel NAT di IPTables Linux |
- PREROUTING, paket yang sebelumnya akan masuk ke chain INPUT.
- POSTROUTING, paket yang akan keluar setelah chain OUTPUT.
- INPUT, paket yang masuk ke mesin lokal.
- OUTPUT, paket yang keluar dari mesin lokal.
Karena spesialitasnya, Chain PREROUTING dapat digunakan untuk mengubah informasi paket sebelum paket itu datang ke mesin lokal Linux. Dan sebaliknya pada POSTROUTING, yakni dapat mengubah paket sebelum paket itu keluar dari mesin lokal Linux.

Paket-paket yang masuk lewat interface jaringan akan melalui Chain PREROUTING terlebih dahulu. Paket yang masuk ke Chain PREROUTING dapat ditindak, sebagaimana yang kita mau. Contohnya DNAT, yakni dapat merubah alamat tujuan dari sebuah paket, atau REDIRECT, membelokan paket ke mesin lokal Linux, dan masih banyak lagi.
Bila tidak ada tindakan, paket yang sampai ke mesin lokal pada Chain PREROUTING akan memilih rute mana yang akan dilewati. Bila tujuan paket itu memilih rute ke mesin lokal Linux, maka jalur yang dilewati adalah Chain PREROUTING ke Chain INPUT dan seterusnya sampai Chain POSTROUTING. Bila mesin Linux itu dipakai sebagai router, maka rute jalur yang dilewati adalah Chain PREROUTING ke Chain FORWARD, lalu ke Chain POSTROUTING.
Perintah & Aksi IPTables NAT
Chain-chain pada IPTables mempunyai aksi, artinya kita dapat menindak paket dan akan kita apakan paket itu. Misal, kita ingin memblokir paket yang masuk dari IP Address ini, port sekian, MAC Addressya ini, ataupun bisa pula kita menerima paket yang masuk dari IP Address ini, port sekian, MAC Addressnya ini, dan sebagainya.
Perintah umum iptables bisa dilihat opsi-opsinya menggunakan opsi --help.
Tabel yang kita gunakan adalah NAT, jadi kita pakai opsi -t nat setiap memberikan perubahan pada iptables, dan dapat melihat aturan-aturan pada berbagai chain dengan menambahkan opsi -L. Lihat gambar ini.
![]() |
| Tabel NAT di IPTables Linux |
Destination NAT ( DNAT )
Aksi DNAT pada opsi -j dapat mengubah alamat tujuan dari sebuah sumber menjadi alamat tujuan yang lain. Semisal sebuah PC ingin menghubungkan ke alamat 1.2.3.4 melewati sebuah gateway NAT, maka dengan DNAT, alamat tujuan itu dapat diubah ke alamat yang lain, misalnya 1.1.1.1.
Opsi -j DNAT hanya berlaku pada tabel NAT Chain OUTPUT dan POSTROUTING. Opsi -j DNAT mempuyai opsi tambahan --to-destination.
iptables -t nat -I [PREROUTING|OUTPUT] [-s [ip]|-d [ip]|-s [ip] -d [ip]] -j DNAT [--to-destination [ipaddr[-ipaddr]:[port[-port]]]]
Source NAT ( SNAT )
Aksi SNAT pada iptables berfungsi untuk mengubah informasi IP dari koneksi. Contohnya semisal mesin Linux 192.168.1.1 membuat koneksi ke PC 192.168.1.2, ketika SNAT ini dipakai di chain POSTROUTING, maka mesin Linux tersebut dapat merubah alamat IPnya sendiri ke IP yang lain. Sehingga bila dibaca di PC 192.168.1.2 itu, koneksi yang datang bukanlah dari alamat 192.168.1.1, melainkan IP yang lain.
iptables -t nat -I [PREROUTING|POSTROUTING] [-s [ip]|-d [ip]|-s [ip] -d [ip]] -j SNAT --to-source [ip]
Sistem Linux Sebagai Gateway
NAT pada OS Linux dapat difungsikan sebagai Gateway dapat diaktifkan dengan mengubah opsi /proc/sys/net/ipv4/ip_forward ke 1 dan pada iptables menggunakan chain POSTROUTING pada tabel NAT dengan aksi MASQUERADE. MASQUERADE ini mirip dengan SNAT, namun SNAT hanya dapat mengubah menjadi satu sumber IP saja. Sedangkan MASQUERADE dapat menyesuaikan IPnya secara dinamis.
echo "1" > /proc/sys/net/ipv4/ip_forward
Perintah ini memfungsikan IP Forwarding pada mesin Linux sebagai penerusan paket yang datang ke mesin lokal ke mesin yang lain.
iptables -t nat -I POSTROUTING -j MASQUERADE
Penambahan rule ini berfungsi agar koneksi yang masuk ke mesin untuk diteruskan ke lalulintas jaringan di luar mesin Linux, contohnya seperti Internet.
Summary
Summary
- NAT pada OS Linux berfungsi sebagai pengubah alamat dan sekaligus firewall jaringan, yaitu sebuah 'tembok api' yang mengatur lalulintas jaringan yang masuk/keluar kedalam sebuah mesin.
- Pada beberapa Distro Linux , NAT diatur menggunakan IPTables.
- NAT mempunyai chain PREROUTING, POSTROUTING, INPUT dan OUTPUT yang mengatur lalulintas, translasi alamat dan tindakannya.

Komentar
Posting Komentar
Gunakan bahasa yang sopan dan enak dibaca oleh orang lain. Komentar yang bersifat menyinggung dan atau mengganggu tidak masuk ke komentar posting.