Rabu, 16 Desember 2009

Setting NAT dengan IP Masquerade

NAT merupakan suatu tool yang mana kita dapat menyembunyikan suatu network dibelakang suatu IP Address. NAT merupakan feature yang diimplementasikan pada Router.

Biasanya suatu router tidak melakukan modifikasi pada paket yang dia kirim dari suatu network ke network yang lain,kecuali untuk pembatasan (misalnya,Router mengubah nilai TTL yang dapat mengakibatkan suatu paket didrop.).

Namun dengan adanya NAT terjadi beberapa perubahan.Khususnya pada TCP/IP paket yang berisi 2 alamat yaitu source address dan destination address.
Misalnya:
kamu memiliki 5 komputer dengan 1 IP Address legal (IP Public).Kamu dapat mengoperasikan suatu internal network dengan kelima komputer itu tetapi komputer-komputer ini membutuhkan IP Addressnya sesuai dengan range dari private address.Apabila kamu melakukan konfigurasi satu komputer dari sistemmu sebagai router biasa,dan suatu ketika sistem mengirim suatu paket ke tujuan diluar area network maka source address pada paket tersebut akan mengindikasikan private address (IP Private).Karena private address bukan merupakan bagian dari internet,sistem yang menerima tidak akan dapat melakukan reply.

Perlu diketahui bahwa ada tiga block IP Address yang dikhususkan untuk private networks: 192.168.0.0–192.168.255.255,
172.16.0.0–172.31.255.255,
10.0.0.0–10.255.255.255.

Biasanya penggunaan address ini buat internal network. Dengan NAT,router melakukan modifikasi terhadap paket tersebut dengan address yang valid (IP Public).
contoh:
paket dari 10.126.12.35 dikirim kemudian dilakukan modifikasi oleh router dengan mengubah source address menjadi IP Address dari router dan setelah itu baru dikirim.

tool-tool NAT pada linux
Kernel linux memiliki feature-feature untuk mendukung NAT.feature-feature ini alat untuk mensupport NAT namun perintah-perintah yang disediakan masih sedikit,untuk itu perlu didukung dengan paket-paket komersial.

Dibawah ini beberapa utiliti NAT untuk linux :
1. ipfwadm tool ini digunakan untuk mengkonfigurasi NAT dengan linux kernel 2.0.x
2. ipchains tool ini digunakan untuk mengkonfigurasi NAT dengan linux kernel 2.2.x
3. iptables tool ini digunakan untuk mengkonfigurasi NAT dengan linux kernel 2.4.x

Setting NAT pada Linux
Untuk mengaktifkan server linux sebagai NAT maka anda cukup mengetikkan beberapa perintah berikut ini :
# route add –net 255.255.255.255 netmask 255.255.255.255 dev eth0
# modprobe iptablenat# echo 1>/proc/sys/net/ipv4/ip_forward
# iptables –t nat –A POSTROUTING -s 10.126.12.0/24 –j MASQUERADE
# iptables –A FORWARD –s 10.126.12.0/24 –j ACCEPT

Agar semua perintah diatas dapat dieksekusi pada saat boot maka script diatas harus ditambahkan pada file /etc/rc.d/rc.local.

Contoh Kasus:
Anda mempunyai jaringan dengan alamat IP gateway linux 192.168.1.1 dan klien klien 192.168.1.2 s/d 192.168.1.4 dengan netmask 255.255.255.0 , dan anda ingin mengaktifkan IP Masquerading atas alamat alamat ini, maka anda harus mengetikkan perintah :

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0.0.0.0/0 -j MASQUERADE

Anda mempunyai alamat alamat IP spt diatas tapi anda ingin hanya klien dengan IP bernomer 192.168.1.5 dan 192.168.1.10 saja yang bisa mengakses internet, maka anda harus mengetikkan perintah :

iptables -t nat -A POSTROUTING -s 192.168.1.5/32 -d 0.0.0.0/0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.10/32 -d 0.0.0.0/0 -j MASQUERADE

Anda mempunyai alamat alamat IP spt diatas dan anda ingin semua klien bisa mengakses internet, kecuali IP 192.168.1.5 dan 192.168.1.10 saja yang tidak bisa mengakses internet, maka anda harus mengetikkan perintah :

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0/0 -j MASQUERADE (u/ mengaktifkan masquerade).

Baru kemudian kita cegat kedua komputer tersebut dengan perintah :

iptables -I INPUT -s 192.168.1.5/32 -d 0/0 -j DROPiptables -I INPUT -s 192.168.1.10/32 -d 0/0 -j DROP

Anda ingin klien dengan alamat 192.168.1.5 tidak diperbolehkan untuk melakukan chatting, maka kita bisa men-deny, paket paket dari klien 192.168.1.5 yang akan menuju ke port IRC (contoh port nomer 6667). maka anda harus mengetikkan perintah :

iptables -I INPUT -p tcp -s 192.168.1.5/32 -d 0/0 –destination-port 6667 -j DROP

Untuk membuka atau menghapus aturan aturan yang telah kita buat kita bisa mengganti option -I , -A dsb, misalnya dengan option -D
sebagai contoh:

iptables -I INPUT -p tcp -s 192.168.1.5/32 -d 0/0 –destination-port 6667 -j DROP
dapat dihapus dengan perintah :
iptables -D INPUT -p tcp -s 192.168.1.5/32 -d 0/0 –destination-port 6667 -j DROP

Catatan option option iptables yg digunakan diatas :
-A digunakan untuk menambahkan rule
-I digunakan untukmenyisipkan (insert) rule firewall ke baris paling atas
-D digunakan untukmenghapus rule yg telah dibuat
-s digunakan untuk source address
-d digunakan untuk destination address
DROP digunakan untuk mendisable paket yang masuk atau lewat

Demikian semoga bermanfaat bagi semua orang yang ingin belajar linux.

Tidak ada komentar:

Posting Komentar

slide kulo