04 May 2006

Linux Internet Connection Sharing

Ini nih ada cara gampang buat sharing koneksi internet pake linux. Linux yang dipake adalah distro PLuG. Anggap aja kita udah tau interface apa yang buat sharingnya. Misal ppp0, eth0, atau eth1.
Beri nama script ini ics.sh, dan isinya kaya gini :

#!/bin/sh
#ics.sh alias buat internet connectuon sharing
#2006 @ blitar
#bayuart@yahoo.com
echo "Interface mana yg dipake ICS ? [ppp0,eth0,eth1,dst]"
read inf
echo ""
DEVICE=$ics

#LAN ke Internet
iptables -A FORWARD -o $DEVICE -i ! $DEVICE -j ACCEPT
#Dari Internet
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -f -j ACCEPT
#Internet Sharingnya
iptables -t nat -A POSTROUTING -o $DEVICE -j MASQUERADE
Ok, cuman itu aja ICS nya, sekarang pastikan bahwa IP Forwarding telah diaktifkan.
cat /proc/sys/net/ipv4/ip_forward
jika masih bernilai "0", lakukan langkah berikut ini:
echo "1" > /proc/sys/net/ipv4/ip_forward
Sekarang chmod +x ics.sh nya, jalankan, kemudian lakukan
service iptables save
hal ini akan secara otomatis menyimpan rule iptables dari ics.sh dan secara otomatis juga akan di load setiap kali komputer di hidupkan (kondisi service default), kecuali IP Forwardingnya. Untuk IP FORWARDING agar sama perlakuannya dengan rule iptables ics.sh tadi taruh
echo "1" > /proc/sys/net/ipv4/ip_forward
pada file /etc/rc.local, atau bisa juga menambahkan baris
net.ipv4.ip_forward=1
di /etc/sysctl.conf tanpa menaruh apa² di /etc/rc.local

Tanpa menambah perintah untuk route manual, dengan kondisi diatas box linux kita sudah bisa digunakan sebagai ICS alias Internet Connectuon Sharing.

No comments: