Live Journal

All About Log

Router ( Internet Sharing )

Internet Sharing

Agar seluruh komputer pada jaringan local dapat mengakses internet maka diperlukan sebuah server sebagai gateaway yang menjalankan NAT (Network Address Translation) atau dikenal juga dengan nama MASQUERADE.

Dengan mengimplementasikan NAT maka seluruh komputer dalam jaringan lokal yang menggunakan alamat IP Private dapat mengakses IP Public yang terdapat pada Internet.

Adapun berdasarkan standar yang telah ditentukan oleh IANA alamat IP Private harus memenuhi aturan sebagai berikut:

Class

Range

Notation CIDR

Default

Subnet

Mask

A

10.0.0.0-10.255.255.255

10.0.0.0/8

255.0.0.0

B

172.16.0.0-172.31.255.255

172.16.0.0/12

255.255.0.0

C

192.168.0.0-192.168.255.255

192.168.0.0/16

255.255.255.0

Alamat IP Private tersebut di terapkan untuk alamat IP pada jaringan lokal.

Pada saat sebuah komputer dari jaringan lokal yang menggunakan alamat IP Private akan mengakses sebuah web server di Internet yang memiliki IP Public maka alamat IP Private tersebut akan di translate ke alamat IP Public yang dimiliki oleh gateway. Berikutnya pada saat paket data dari web server tersebut dikirim ke komputer jaringan lokal, maka gateaway akan meneruskan paket data tersebut ke IP Private komputer yang meminta data tsb. Hal ini dikerjakan oleh NAT.

Untuk menggunakan NAT di Linux Mandrake 8.1 digunakan IPTABLES, sebelumnya pada kernel 2.2.x digunakan IPCHAINS.

Jika pada Linux Mandrake 8.1 belum terinstall IPTABLES anda dapat menginstalnya dengan mendownload atau meng-copy file: iptables-1.2.2-8mdk.i586.rpm yang terdapat pada CD ke 1.

Untuk menginstall lakukan:

#rpm –ivh iptables-1.2.2-8mdk.i586.rpm

Setelah menginstall iptables berikutnya edit file /etc/rc.local dan tambahkan baris berikut ini pada script rc.local:

#Memuat modul NAT

modprobe iptable_nat

#Aktifkan IP Forward

echo 1 > /proc/sys/net/ipv4/ip_forward

#Menghapus dan membersihkan rantai iptable

iptables –F

iptables –t nat –F

iptables –x

iptables –t nat –x

#Seting untuk IP Forwarding dan Masquerading

iptables –t nat –A POSTROUTING –o eth0 –j MASQUERADE

iptables –A FORWARD –i eth1 –j ACCEPT

Selanjutnya pastikan bahwa routing tabel pada gateaway telah terkonfigurasi dengan benar. Untuk memeriksan ketik:

#route

Jika default route pada gateaway perlu ditambah, lakukan dengan cara:

#route add –net 0.0.0.0 gw 202.159.127.193

Contoh:

Sebagai contoh diatas IP 202.159.127.193 adalah default route untuk gateaway ber-IP Public 202.159.127.197 pada eth0 dan memiliki IP Private 192.168.0.253 pada eth1 yang menjalankan NAT agar komputer pada jaringan lokal yang menggunakan IP Private 192.168.0.1 sd 192.168.0.254 dengan subnet mask 255.255.255.0 dapat mengakses Internet melalui gateaway 202.159.127.197.

Untuk mengaktifkan konfigurasi rc.local yang baru dapat anda lakukan dengan:

#/etc/rc.local

atau jika Anda telah berada pada /etc ketik:

#./rc.local

Berikutnya coba anda konfigurasikan komputer lainnya untuk menjadikan IP:192.168.0.253 sebagai default gateaway-nya.

Setting alamat IP pada Ms. Wiondows 9x:

·Klik kanan “Network Neighborhood” -> Properties -> TCP/IP -> Properties -> IP Address -> Specify an IP Address, pada IP Address ketik: 192.168.0.254 pada Subnet Mask ketik: 255.255.255.0

·Untuk mengkonfigurasi Gateway klik Gateway -> pada New gateway ketik: 192.168.0.253 -> Add.

·Untuk mengkonfigurasi DNS klik DNS Configuration -> Enable DNS, pada Host ketik nama komputer bersangkutan pada domain boleh diisi dengan domain jaringan anda -> ketik IP DNS ISP Anda atau IP DNS lokal jaringan anda pada DNS Server Search Order lalu Add.

·Setelah semua di konfigurasi dengan benar klik OK.

·Restart Komputer Anda

Berikutnya coba ping dari Ms. Windows 9x tersebut ke situs yang ada di Internet, contoh:

Dengan demikian berarti NAT telah berhasil di konfigurasi dan jaringan lokal Anda telah berhasil mengakses host atau server yang berada di Internet.

Contoh file rc.local lengkap:

#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don’t

# want to do the full Sys V style init stuff.

[ -f /etc/sysconfig/system ] && source /etc/sysconfig/system

[ -z “$SECURITY” ] && SECURITY=0

if [ -f /var/lock/TMP_1ST ];then

if [ -f /etc/init.d/mandrake_firstime ];then

/bin/sh /etc/init.d/mandrake_firstime

fi

fi

if [ -f /etc/mandrake-release ]; then

R=$(cat /etc/mandrake-release)

arch=$(uname -m)

a=”a”

case “_$arch” in

_a*) a=”an”;;

_i*) a=”an”;;

esac

NUMPROC=`egrep -c “^cpu[0-9]+” /proc/stat`

if [ “$NUMPROC” -gt “1” ]; then

SMP=”$NUMPROC-processor “

[ “$NUMPROC” = “2” ] && \

SMP=”Dual-processor “

if [ “$NUMPROC” = “8” -o “$NUMPROC” = “11” ]; then

a=”an”

else

a=”a”

fi

fi

# This will overwrite /etc/issue at every boot. So, make any changes you

# want to make to /etc/issue here or you will lose them when you reboot.

if [ -x /usr/bin/linux_logo ];then

/usr/bin/linux_logo -c -n -f > /etc/issue

echo “” >> /etc/issue

else

> /etc/issue

fi

echo “$R” >> /etc/issue

echo “Kernel $(uname -r) on $a $SMP$(uname -m) / \l” >> /etc/issue

if [ “$SECURITY” -le 3 ];then

echo “Welcome to %h” > /etc/issue.net

echo “$R” >> /etc/issue.net

echo “Kernel $(uname -r) on $a $SMP$(uname -m)” >> /etc/issue.net

else

echo “Welcome to Mandrake Linux” > /etc/issue.net

echo “————————-” >> /etc/issue.net

fi

fi

touch /var/lock/subsys/local

#Memuat modul NAT

modprobe iptable_nat

#Aktifkan IP Forward

echo 1 > /proc/sys/net/ipv4/ip_forward

#Menghapus dan membersihkan rantai iptable

iptables -F

iptables -t nat -F

iptables -X

iptables -t nat -X

#Seting untuk IP Forwarding dan Masquerading

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

iptables -A FORWARD -i eth1 -j ACCEPT

Untuk mengetahui perintah-perintah IPTABLE secara lengkap dapat dilakukan dengan mengetikkan:

#iptables –help

Yang isinya sbb:

iptables v1.2.2

Usage: iptables -[ADC] chain rule-specification [options]

iptables -[RI] chain rulenum rule-specification [[options]

iptables -D chain rulenum [options]

iptables -[LFZ] [chain] [options]

iptables -[NX] chain

iptables -E old-chain-name new-chain-name

iptables -P chain target [options]

iptables -h (print this help information)

Commands:

Either long or short options are allowed.

–append -A chain Append to chain

–delete -D chain Delete matching rule from chain

–delete -D chain rulenum

Delete rule rulenum (1 = first) from chain

–insert -I chain [rulenum]

Insert in chain as rulenum (default 1=first)

–replace -R chain rulenum

Replace rule rulenum (1 = first) in chain

–list -L [chain] List the rules in a chain or all chains

–flush -F [chain] Delete all rules in chain or all chains

–zero -Z [chain] Zero counters in chain or all chains

–check -C chain Test this packet on chain

–new -N chain Create a new user-defined chain

–delete-chain

-X [chain] Delete a user-defined chain

–policy -P chain target

Change policy on chain to target

–rename-chain

-E old-chain new-chain

Change chain name, (moving any references)

Options:

–proto -p [!] proto protocol: by number or name, eg. `tcp’

–source -s [!] address[/mask]

source specification

–destination -d [!] address[/mask]

destination specification

–in-interface -i [!] input name[+]

network interface name ([+] for wildcard)

–jump -j target

target for rule (may load target extension)

–match -m match

extended match (may load extension)

–numeric -n numeric output of addresses and ports

–out-interface -o [!] output name[+]

network interface name ([+] for wildcard)

–table -t table table to manipulate (default: `filter’)

–verbose -v verbose mode

–line-numbers print line numbers when listing

–exact -x expand numbers (display exact values)

[!] –fragment -f match second or further fragments only

–modprobe=<command> try to insert modules using this command

–set-counters PKTS BYTES set the counter during insert/append

[!] –version -V print package version.

2 responses to “Router ( Internet Sharing )

  1. Alfa May 22, 2008 at 7:30 am

    wah makasih ni om atas penjelasannnya…
    sekarang saya uda tau konsepnya NAT berkat artikel dari blog yg mas buat….thanks yah..

Leave a comment