Kalau gateway anda sudah siap dengan dua interface, tinggal pasang IP Masquerading dan voila … Internet Sharing anda jalan.
IPTABLES
IPTABLES itu pengatur komunikasi TCP/IP di Linux kernel 2.4 ke atas. IPTABLES jalan bersama kernel. Kita mengatur kerja IPTABLES dengan memberi rules (hukum). Nah untuk ini kita bisa pakai a.l:
- Script manual.
- Konfigurator high level seperti guarddog (KDE), lokkit (Redhat), portsentry (VL) dll.
Perhatikan bahwa semua cara tersebut cuma mengirim hukum ke si IPTABLES. Jadi kalau anda pakai beberapa cara, tentu saja hukum-hukumnya akan campur aduk. Makanya lebih baik hanya pakai salah satu cara. Di sini kita akan coba cara skrip manual yang generik (kapan ya si Kocil mau pakai cara GUI ?).PERSIAPAN DI REDHAT
Sistem firewall di Redhat punya lokkit dan service iptables. Buat latihan ini, matikan saja semuanya !
root@gateway # lookkit --disabled root@gateway # service iptables stop root@gateway # chkconfig iptables off
Nanti kalau mau menghidupkan lagi ..
root@gateway # lookkit --high root@gateway # chkconfig iptables on root@gateway # service iptables start
PERSIAPAN DI VL
Jalankan vasm, pilih menu SRVMENU, lalu matikan portsentry.
IPTABLES GENERIK
Nah, untuk membuat skrip manual sederhana, edit file /etc/rc.d/rc.local. Isinya cukup:
#!/bin/sh # Setting IPTABLES paling sederhana untuk masquerading ###################################################### # Konstanta IPT="/sbin/iptables" LOAD="/sbin/modprobe" # Interface # Kalau pakai modem, ganti RED=ppp0 RED=eth1 GREEN=eth0 RED_IP=10.0.0.15 GREEN_NET=192.168.0.0/24 #-------------------------------- # Inisialisasi IPTABLES $LOAD ip_tables $LOAD iptable_filter $LOAD iptable_nat $LOAD ip_conntrack $LOAD ip_conntrack_ftp $LOAD ip_nat_ftp $LOAD ip_conntrack_irc $LOAD ip_nat_irc #-------------------------------- # Kosongkan rumus-rumus IPTABLES $IPT -F $IPT -F -t nat $IPT -F -t mangle $IPT -X #-------------------------------- # Rumus default $IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT ACCEPT #-------------------------------- # Rumus masquerading, IP statik $IPT -t nat -A POSTROUTING -o $RED -j SNAT --to-source $RED_IP # Rumus masquerading, lebih komplit $IPT -t nat -A POSTROUTING -s $GREEN_NET -o $RED -j SNAT --to-source $RED_IP # Kalau RED anda IP dinamik (ppp0), gunakan # $IPT -t nat -A POSTROUTING -o $RED -j MASQUERADE #-------------------------------- # Rumus forward, hanya dari dalam atau luar related $IPT -A FORWARD -i $GREEN -o $RED -j ACCEPT $IPT -A FORWARD -i $RED -o $GREEN -m state --state ESTABLISHED,RELATED -j ACCEPT #-------------------------------- # Rumus INPUT, hanya terima dari dalam atau luar yang related $IPT -A INPUT -i lo -j ACCEPT $IPT -A INPUT -i $GREEN -j ACCEPT $IPT -A INPUT -i $RED -m state --state ESTABLISHED,RELATED -j ACCEPT #-------------------------------- # Hidupkan forwarding echo "1" > /proc/sys/net/ipv4/ip_forward ###############################################################
Nah, tinggal jalankan skrip tersebut atau reboot komputer anda.
root@gateway # chmod 700 /etc/rc.d/rc.local root@gateway # /etc/rc.d/rc.local
TEST DARI CLIENT
Pastikan network client anda sudah benar,
IP=192,168.0.x Netmask=255.255.255.0 Gateway=192.168.0.1 DNS= DNS si ISP
Coba dari client …
# Ping sisi internal gateway. # Kalau gagal, koneksi client ke gateway tidak beres # atau network sisi internal gateway belum benar tux@client$ ping 192.168.0.1 # Ping sisi eksternal gateway. # Kalau gagal, network sisi eksternal gateway belum benar tux@client$ ping 10.0.0.15 # Ping gateway si ISP # Kalau gagal, masquerading belum benar tux@client$ ping 10.0.0.1
Copyleft : Kocil, 2003
License : GNU FDL
Posted to: www.benpinter.net, 6 Dec 2003.
Testbed : Redhat 9.0, Vector Linux 4.0
Writepad : Bluefish