All About iDiots
Archives
Recent Posts
Friends
LinKs
Recent Comments
Top Clicks
- None
Blog Stats
- 68,086 hits
All About Log
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.
wah makasih ni om atas penjelasannnya…
sekarang saya uda tau konsepnya NAT berkat artikel dari blog yg mas buat….thanks yah..
yap… sama sama