Monday, September 3, 2007

Cara Sederhana Bikin Gateway + Firewall Server

Senin, 03 September 2007 10:33 AM

I. Persiapan

º rokok lucky strike
º kopi [biar ga ngantuk]
º komputer [kalo gak punya pinjem punya tetangga juga gpp :-D]
º puter lagu dream theater/yngwie malmsteen biar ga jenuh...


II. Skema Topologi Jaringan

(internet)---[gateway]---|hub|--{privat network}

III. It's Show Time...

Sebelum memulai, persiapin/load dulu modul2 yang dibutuhin buat gateway seperti modul buat ip forwarding, masquerading, filtering, dll [yg perlu2 aja] dengan perintah :


[root@terwilun~]#modprobe ipip
[root@terwilun~]#modprobe ip_tables
[root@terwilun~]#modprobe iptable_nat
[root@terwilun~]#modprobe iptable_filter
[root@terwilun~]#modprobe iptable_mangle
[root@terwilun~]#modprobe ip_conntrack
[root@terwilun~]#modprobe ip_conntrack_ftp
[root@terwilun~]#modprobe ip_conntrack_irc
[root@terwilun~]#modprobe ip_nat_ftp
[root@terwilun~]#modprobe ip_nat_irc
[root@terwilun~]#modprobe ipt_MASQUERADE

Setelah itu aktifkan parameter kernel untuk ip forwarding dengan perintah :

[root@terwilun~]#sysctl -c net.ipv4.ip_forward=1

Buka editor kesukaan kamu [mcedit, emacs, vi, joe, pico, or whatever lah pokoke kamu ngerti] trus tulis script dibawah ini :

####begining of script####
#!/bin/sh
# Baris yang diawali dengan "#" hanyalah sebuah komentar [ga dieksekusi]
#
# Clear iptables/rule
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
iptables -F -t nat
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -F
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables -t mangle -F


# Hanya mengizinkan paket-paket yang lewat yang state-nya ESTABLISHED dan RELATED
iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Request dari gateway server diterima (semua port)
iptables -t filter -A FORWARD -s $IP_GW/SUBN -j ACCEPT

# Menerima semua request dari semua host/subnet yang bertujuan ke port 21, 80, 53 dan 25
iptables -t filter -A FORWARD -p tcp --dport 21 -j ACCEPT
iptables -t filter -A FORWARD -p tcp --dport 80 -j ACCEPT
iptables -t filter -A FORWARD -p tcp --dport 25 -j ACCEPT
iptables -t filter -A FORWARD -p tcp --dport 53 -j ACCEPT
iptables -t filter -A FORWARD -p udp --dport 53 -j ACCEPT

# Paket paket yang akan lewat di masquerade
iptables -t nat -A POSTROUTING -j MASQUERADE

# Akhirnya, DROP semua paket yang lewat
iptables -t filter -A FORWARD -j DROP

#### end of script ####

Setelah script selesai dibuat [ato cuma copy-paste :D] trus simpen script diatas di direktori [misal] /home/user dengan nama "gw.sh". Trus ubah permision dari file tersbut supaya bisa dieksekusi :

[root@terwilun~]#pwd
/home/user
[root@terwilun~]#chmod 755 gw.sh

Selanjutnya tinggal kita eksekusi shell script diatas :

[root@terwilun~]#pwd
/home/user
[root@terwilun~]#./gw.sh

*catatn :
berjalan dengan baik di Knoppix 4.0

Greetz to :
ºALLAH SUBHANAHU WATA'ALA atas segala yang telah dilimpahakan kepada penulis.
ºWasis Supeno, guru program keahlian TKJ SMKN 1 Cerme Gresik yang #@%^&*>?
ºIndolinux@dal.net yang telah memberikan wadah bagi para linuxer indonesia.
ºlucky_man@indolinux atas pencerahannya.
ºGalih Satriaji, Sekilas Domain Name Server dan Iptables.
ºlinux2.arinet.com, atas pencerahannya.




#### THE END ####

No comments: