.:My Black Corner:.

Friday, March 14, 2008

Membuat PC Router dengan mesin Linux

Ini salah satu artikel yang terlambat di-posting. Yaa, daripada tidak sama sekali, "better late than never". Disini saya akan memaparkan bagaimana membuat PC router sederhana dengan menggunakan Linux dan iptables. Sebenarnya relatif mudah dalam installasi kali ini, anggap saja system Linux sudah ter-install dengan baik. Dalam penerapan kali ini saya menggunakan distro Ubuntu 7.10.

Satu syarat apabila ingin membuat PC router Linux dengan menggunakan iptables, pastikan nilai dari ip_forward = 1. Untuk melihatnya gunakan perintah berikut:
# more /proc/sys/net/ipv4/ip_forward
0

Nilai default dari /proc/sys/net/ip_forward adalah 0. Ubah nilai tersebut menjadi 1.
# echo 1 > /proc/sys/net/ipv4/ip_forward

Contoh kasus, lihat gambar berikut:



Pada kasus ini, kita mempunyai misi bagaimana caranya meneruskan paket dari kedua client tersebut ke Internet (atau sebaliknya), dengan melewati gateway/PC router. Dengan menggunakan iptables kita hanya perlu satu baris script routing.
# iptables -t nat -A POSTROUTING -s 192.168.0.254/24 -d ! 192.168.0.254 -j MASQUERADE

Lalu coba sekarang dari komputer client melakukan ping:
$ ping www.detik.com
PING www.detik.com 56(84) bytes of data.
64 bytes from www.detik.com : icmp_seq=1 ttl=64 time=0.324 ms
64 bytes from www.detik.com : icmp_seq=2 ttl=64 time=0.222 ms

Apabila komputer client sudah dapat reply, maka artinya PC router kita sudah dapat digunakan. Oleh sebab itu kita harus membuat satu script routing, agar apabila PC router restart, script tersebut dapat langsung dijalankan.

Tambahkan 3 baris berikut pada file /etc/rc.local.
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -t nat -A POSTROUTING -s 192.168.0.254/24 -d ! 192.168.0.254 -j MASQUERADE

Untuk mencobanya, silahkan restart komputer router. Lalu lakukan ping ke alamat situs di internet melalui komputer client, ketika komputer router sudah nyala kembali dengan normal.

Tambahan:
Bila perlu kita tambahkan beberapa script firewalling dibawah 3 baris perintah tadi. Bedanya kita kali ini perlu membuat satu file yang isi file-nya seperti berikut ini:

Buat satu file dengan nama routing.
# touch /etc/init.d/routing
# chmod 755 routing

Isi dari file routing:
# Script routing pada baris ke 3
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -t nat -A POSTROUTING -s 192.168.0.254/24 -d ! 192.168.0.254 -j MASQUERADE

# FIREWALL hanya mengijinkan port 22 dan 80 saja
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT DROP
# Unlimited access to loop back
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# ==========================
iptables -A INPUT -p TCP --dport 22 -j ACCEPT
iptables -A INPUT -p TCP --dport 80 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Selamat mencoba...

posted by .:CyberColombuzz:. at 11:16 AM

1 Comments:

Maaf mqn artikel ini udh lama tp sy rasa sgt membantu. Yg ingin sya tanyakan bgmn stlh buat file routing itu di init.d.? Apa otomatis begitu restrt komp,dia jd sndri? Ato hrs bgmn? Tx b4:

Wednesday, September 22, 2010 9:32:00 PM  

Post a Comment

<< Home