Cerita IP Forward dan NAT dari Kamas Muhammad

Pada suatu hari, bertanyalah seorang teman kepada saya: "Gimana cara biar jaringan lokal kantorku bisa ngontak
jaringan ip publik di kantor tanpa NAT?" Ya, memang seringkali susah mempelajari mekanisme routing ketika sebelum
belajar sudah ngerti bahwa ada IP Privat dan ada IP Publik.



Di sini saya mencoba untuk menjelaskan dengan cara yang sedikit berbeda dengan penjelasan-penjelasan yang sudah ada
di internet, yang jumlahnya sudah jutaan halaman itu. Semoga saja dengan cara ini, hubungan awal dan perbedaan antara IP Forwarding dengan
Source NAT bisa lebih mudah dimengerti. Tentu saja, tulisan ini ditujukan untuk semua pemula yang ingin belajar tentang topik ini.



Harap diingat bahwa dalam cerita ini saya membuang beberapa detil yang seharusnya juga ada dalam proses routing. Detil itu saya hilangkan
untuk mempermudah pemahaman hal-hal mendasar dalam operasi ini. Jangan pernah menerima cerita ini sebagai
informasi utuh
. Lengkapi dengan cerita/referensi lain yang membahas detilnya lebih dalam!



Suatu Desa dan Seorang Anak



Ilustrasi Kampungnya



Inilah peta kecamatan OtotKwat yang terletak di salah satu distrik di Negeri Kayangan.




Pada Suatu Hari...



Hiduplah keluarga bahagia di Desa Suka Nyapu. Keluarga itu memiliki seorang anak yang masih balita.
Mereka menjalani kehidupan seperti biasa, hingga pada suatu hari sang ibu sakit flu. Karena pileknya tak
tertahankan dan bapak sedang nun jauh di sana bekerja, maka ibu terpaksa minta tolong pada anaknya untuk membeli obat di toko
obat Bu Jamilah yang terletak di Desa Suka Ngelap, walaupun sang anak sebenarnya tidak tahu jalan. Yang diketahui
oleh anaknya hanyalah kalau mau keluar dari Desa Suka Nyapu, jalannya ya hanya itu saja
.



Ibu berpesan kepada anaknya: "Nak, tolong belikan obat UsirPhileg di toko Bu Jamilah. Naik sepeda saja,
nanti kalau sudah ketemu Pak Hasan tanyakan jalan ke Desa Suka Ngelap." Dan berangkatlah sang anak
naik sepeda kecilnya. Klutak klutek klutik, akhirnya sang anak bertemu dengan Pak Hasan. Berkatalah
sang anak kepada Pak Hasan: "Pak, saya mau ke toko obat Bu Jamilah di Desa Suka Ngelap. Saya lewat mana ya pak?" Dan
Pak Hasan pun menjawab: "Belok kanan nak, nanti kamu akan sampai ke Desa Suka Ngelap."



Sesampainya di Desa Suka Ngelap di toko Bu Jamilah, anak itu kemudian membeli obat, dan menuju kembali pulang.
Bertanyalah sang anak kepada Bu Jamilah: "Bu, kembali ke Desa Suka Nyapu lewat mana?" Dan
dia memperoleh jawaban: "Lewat jalan yang tadi saja Nak, kemudian nanti kalau sudah ketemu Pak Hasan tanyakan saja
jalan menuju Desa Suka Nyapu."


Klutak klutek klutik, bertemulah anak itu dengan Pak Hasan lagi. Kembali dia bertanya: "Pak, saya mau ke
Desa Suka Nyapu lewat mana ya?" Jawaban yang diperoleh: "Belok kiri nak, nanti kau akan sampai kembali ke
desamu."
Akhirnya, dengan arahan Pak Hasan, sampailah sang anak ke desanya dengan membawa obat flu untuk ibunya
yang sedang sakit.



Pada Hari Yang Lain...



"Ibu, aku ingin mandi, tapi sabunnya habis.. hiks.. hiks.." Sang ibu pun berkata kepada anaknya: "Ya beli dong nak, di Desa
Suka Mandi
pasti ada yang jual sabun." Tanpa basa-basi, sang anak langsung berangkat menuju Desa Suka Mandi. Dia tak
merasa perlu bertanya kepada ibunya, karena toh jalan keluar dari desanya ya hanya itu, dan nanti dia bisa bertanya
kepada Pak Hasan
.



Sesampainya di tempat Pak Hasan, dia bertanya: "Pak, ke Desa Suka Mandi lewat mana ya?" Dan
Pak Hasan
pun menjawab: "Bapak tidak tahu, Nak, jadi kamu lurus saja dan nanti tanyakan ke Pak
Amir
."
Berangkatlah dia mengikuti petunjuk Pak Hasan. Tak lama kemudian, sampailah dia ke tempat Pak Amir.
Lagi-lagi dia menanyakan pertanyaan yang sebelumnya telah dia tanyakan ke Pak Hasan.Tapi di luar dugaan, Pak Amir

berkata: "Jangan ke sana, Nak, pulanglah. Di sana sedang ada kerusuhan!" Tanpa patah semangat,
sang anak terus-menerus mendesak agar boleh meneruskan perjalanan ke Desa Suka Mandi. Karena ternyata Pak Amir tak
bergeming, maka pulanglah sang anak dengan kecewa. Dasar balita ndak tau jalan, ketika bertemu Pak Hasan,
bertanya lagi dia tentang jalan pulangnya. Berkat petunjuk Pak Hasan, akhirnya dia sampai ke desanya dan kembali
ke rumah.



Selang beberapa hari, kembali sang anak melanjutkan usahanya menuju Desa Suka Mandi. Dengan melalui jalan yang sama seperti
beberapa hari sebelumnya, sampailah anak itu ke tempat Pak Amir. Karena keadaan sudah aman, berkatalah Pak Amir
kepada anak itu: "Jalan terus saja nak, nanti bertanyalah kepada Pak Badri." Dengan riang gembira,
berjalanlah dia sesuai dengan arahan Pak Amir. Sesampainya di tempat Pak Badri, kembali dia menanyakan jalan ke

Desa Suka Mandi. Dijawab oleh Pak Badri: "Belok Kanan, ikuti jalan!"
Cihuyyy, dia berjalan dan akhirnya sampailah ke toko sabun itu.



Karena mendapati bahwa pembelinya balita, bertanyalah si penjual: "Rumahmu di mana, Nak?" Sang anak menjawab: "Rumah saya ada di
Desa Suka Nyapu." Penjualnya kemudian berkata: "Aku tak tahu di mana itu, Nak. Berangkatlah
ke Pak Badri, kemudian tanyakan jalan menuju arah pulangmu."
Sambil tersenyum, berangkatlah anak itu. Sesampainya di
tempat Pak Badri, dia menanyakan jalan yang mana yang menuju ke arah desanya. Dia memberitahukan bahwa desanya adalah Desa
Suka Nyapu
. Di luar dugaan, Pak Badri menjawab:

"Aduh Nak, aku tak tahu ke mana arah pulangmu. Aku cuma tahu jalan ke Desa Suka Mandi, Desa Suka Cuci, Desa
Suka Ngepel,
dan Desa Suka Setrika. Ke 2 desa yang terakhir melewati Pos Pak Amir. Selebihnya aku tak tahu."

Menangislah sang anak, dan karena dia tak bisa pulang, maka dia menjalani sisa hidupnya sampai mati di Pos Pak Badri.



Sayang sekali hidupnya harus berakhir seperti itu. Kejadian itu tidak perlu terjadi andaikata sebelumnya Pak Amir berkata:

"Nak, sepulangmu nanti katakan kepada Pak Badri bahwa kau berasal dari Pos Pak
Amir
,"
karena Pak Badri memang tahu ke mana jalan yang harus ditempuh kalau anak itu akan kembali menuju
Pos Pak Amir, tapi selebihnya tidak. Setelah sampai di tempat Pak Amir, anak itu bisa diteruskan menuju
tujuan yang sesungguhnya, yaitu rumahnya di Desa Suka Nyapu.


Computer Network Version of Previous Story



Dalam dunia jaringan, padanannya kira-kira begini:



  • Anak balita yang berjalan-jalan adalah IP Packet.

  • Pak Hasan, Pak Amir, dan Pak Badri pada perangkat jaringan berperan sebagai ROUTER.


  • Desa-desa di kecamatan OtotKwat pada jaringan merupakan suatu Network Segment.

  • Warna biru menunjukkan proses routing. Tentu saja, pada proses ini IP Forwarding aktif.

  • Warna hijau menunjukkan kondisi di mana router tidak melakukan IP Forwarding. Dalam
    dunia Linux, kondisi ini berlaku ketika /proc/sys/net/ipv4/ip_forward bernilai 0.


  • Warna merah merupakan ilustrasi peristiwa timeout.

  • Warna oranye merupakan ilustrasi peristiwa destination unreachable.

  • Warna hijau aneh merupakan ilustrasi peristiwa source NAT.




Skema Jaringan



Pada skema di bawah ini, kotak kuning adalah internet, sedangkan warna hijau (atau biru? terserah) muda adalah jaringan suatu gedung.





Cara Kerja



Menurut cerita sebelumnya, dari Desa Suka Nyapu sang anak menuju ke Desa Suka Ngelap. Pada versi ini, berarti ada paket dari network 10.1.21.0/24
ke network 222.111.212.248/29. Kalau memperhatikan cerita sebelumnya, tidak ada operasi Source NAT di situ. Kok bisa sampai? Padahal asalnya adalah
IP Privat, dan tujuannya adalah IP Publik! Tak masalah. Berapa pun IPnya, asal router punya info tentang itu ya ndak masalah. Yang penting
adalah router punya info untuk paket itu untuk kembali. Kasus yang persis sama berlaku untuk cerita kalau ada paket dari
172.16.92.16/28 ke 222.111.212.248/29, atau untuk cerita 10.1.21.0/24 ke 202.212.222.128/28.




Pada cerita sebelumnya pun tergambarkan bahwa paket dari 10.1.21.0/24 ke 9.10.11.0/23 tanpa
operasi NAT ya bisa sampai kok. Perkaranya adalah, siapa pun yang dihubungi di 9.10.11.0/23 tidak dapat mengirim jawaban kembali ke 10.1.21.0/24.
Kenapa? Karena Pak Badri tidak tahu di mana itu desa 10.1.21.0/24. Kenapa ndak tau? Karena tidak ada dalam routing table-nya.
Alasan lain yang sedikit lebih masuk akal: Silakan baca RFC1918 yang menyatakan bahwa
10.0.0.0/8, 172.16.0.0/12, dan 192.168.0.0/16 tidak boleh routeable di internet. Kenapa angkanya itu? Ya suka-suka yang bikin keputusan.
Tugas kita adalah menikmati keputusan, bukan ikut memikirkan keputusannya.



Sebentar, bukannya paket ndak bisa nyampe karena IP privat diblok? Pada dasarnya tidak.
Ngapain diblok? Tidak diblok pun tetap tidak bisa balik lha ndak ada info route-nya. Kalau mau diblok ya boleh-boleh saja,
itung-itung ngurangi traffic yang ndak perlu.



Nah setelah ada operasi S-NAT pada paket yang menuju ke 9.10.11.0/23, maka harusnya paket bisa balik ke tujuan, karena Pak Badri akan melihat
bahwa paket itu berasal dari jaringan Pak Amir. Setelah dikembalikan ke Pak Amir, maka Pak Amir bisa mengembalikan paket data tersebut ke
jaringan asalnya. Kalau tidak di-NAT bagaimana? Ya sesuai cerita di atas: Tewas.



Kesimpulan



IP Forwarding merupakan peristiwa di mana router meneruskan paket yang diterima pada suatu interface ke interface yang lain sesuai tujuan paket.


Source NAT merupakan peristiwa di mana router mengubah paket, menggantikan SourceAddress paket tersebut menjadi suatu alamat tertentu.


Bisakah IP Forwarding bekerja tanpa S-NAT? BISA. Bisakah S-NAT bekerja tanpa IP Forwarding? Bisa aja sih, tinggal set iptables kalo anda
pake Linux, atau perintah NAT lain yang sesuai untuk router anda. Tapi ya ngapain???