Dan
sekarang kita bahas mengenai NAT (Network Address Translation). Agar mudah
dipahami, simulasi networknya menggunakan simulasi sebelumnya, tentang EIGRP.
Seperti pada gambar di atas, ibaratnya ada sebuah network ISP (ISP
kecil-kecilan, hahaha...) dan sebuah Local Area Network (LAN). Lalu ada datang
user baru (sebut saja misalnya User Linux)
yang masuk ke dalam LAN dan ingin terhubung ke ISP. Apa yang akan terjadi ??
Karena IP network LAN di router R-JKT-4 adalah 192.0.4.0/30, maka tidak ada
lagi lewat untuk si user baru ini (Linux). Ingat lagi tentang perhitungan IP
address ya…
Network
192.0.4.0/30, maka penggunaan IP addressnya,
- 192.0.4.0 adalah Network ID nya
- 192.0.4.1, udah dipakai sebagai gateway oleh router R-JKT-4
- 192.0.4.2, udah dipakai sama user XP.
- 192.0.4.3, untuk broadcast.
So,
ada 2 cara, agar bisa si user baru bisa masuk ke network.
- Minta pergantian IP address ke ISP-nya sehingga user bisa mendapatkan range IP address yang lebih lebar. Misalnya diubah menjadi network 192.0.4.0/29, berarti IP address yang bisa digunakan oleh user adalah adalah 5 buah, di luar dari IP broadcast, network ID dan gateway. Namun secara realita kan mengubah network atau range IP address, harus ada cost tambahan, administrasi dan sebagainya. Bisa juga si ISP nya kehabisan IP address, sehingga tidak bisa memenuhi permintaan user.
- Mengubah IP address di sisi user sendiri, menjadi IP private (local). Dan di router R-JKT-4 ada tambahan rules untuk me-NAT-kan. Nah cara inilah yang nanti akan kita terapkan.
Sekilas Teori NAT
NAT
= Network address translation adalah suatu metode untuk menghubungkan lebih
dari satu komputer ke jaringan internet dengan menggunakan satu alamat IP.
Banyaknya penggunaan metode ini disebabkan karena ketersediaan alamat IP yang
terbatas, kebutuhan akan keamanan (security), dan kemudahan serta fleksibilitas
dalam administrasi jaringan.
(http://id.wikipedia.org/wiki/Penafsiran_alamat_jaringan).
Bahasa
mudahnya, NAT adalah mengubah network address menjadi network address lainnya.
Aturannya, yang diubah adalah IP address private ke IP address publik. ( saya
asumsikan anda yang membaca posting ini, sudah mengetahui benar apa itu IP
address private dan IP address publik. Jadi tidak perlu saya jelaskan lebih
jauh.)NAT ada 2, yaitu :
- DNAT (Destination Network Address Translation), IP dari internet (User IP Publik), mengakses server, masuk ke dalam network kita, oleh router diteruskan ke server sebenarnya di dalam LAN atau di dalam DMZ (Demilitarized Zone). Nah, router lah yang melakukan process DNAT.
- SNAT (Source Network Address Translation), adalah packet dari user (IP address private) mengakses ke internet, sebelum diteruskan ke internet, oleh router diubah dahulu IP addressnya menjadi IP Public. Source NAT selalu dilakukan setelah routing, sebelum paket keluar ke jaringan. Masquerading adalah contoh dari SNAT. Bahasa mudahnya, ya… seperti cerita tentang diatas tadi. Si user Linux yang masuk ke LAN dan ingin terhubung ke ISP … dstnya…
Ok…
Yang akan dibahas dan disimulasikan kali ini adalah Source NAT. Untuk
Destination NAT, akan dibahas di kesempatan yang lain. Ada beberapa cara untuk
membuat Source NAT.
- Static NAT
- Dynamic NAT
- Dynamic NAT dengan overload (Port Address translation)
- IP Masquerade (Port Address Translation)
Semua
akan coba disimulasikan. Untuk nomor 4 (IP Masquerade) akan dibahas dan disimulasi pada posting berikutnya. Ok… Dan inilah list table IP address pada router
selengkapnya.
Router
|
Fa0/0
|
Fa0/1
|
Fa1/0
|
Fa1/1
|
R-JKT-0
|
200.0.10.1/30
|
200.0.30.1/30
|
200.0.40.1/30
|
200.0.20.1/30
|
R-MKS-1
|
200.0.10.2/30
|
200.0.21.2/30
|
192.0.1.1/24
|
-
|
R-MTR-2
|
200.0.32.1/30
|
200.0.21.1/30
|
192.0.2.1/24
|
200.0.20.2/30
|
R-SBY-3
|
200.0.32.2/30
|
200.0.30.2/30
|
192.0.3.1/24
|
|
R-JKT-4
|
200.0.40.2/30
|
192.168.1.1/24
|
Selanjutnya,
berikut list table IP address untuk users.
IP Address
|
Netmask
|
Gateway
|
|
XP
|
192.168.1.2
|
255.255.255.0
|
192.168.1.1
|
Linux
|
192.168.1.3
|
255.255.255.0
|
192.168.1.1
|
IP Public untuk users (XP dan Linux) adalah
192.0.4.0/30, yang akan ditempatkan dalam pool dan dikonfigurasikan pada router
R-JKT-4.
Network
192.168.1.0/24, merupakan network address private yang sering kita gunakan. Dengan
prefix 24 (/24) atau netmask 255.255.255.0, artinya selain kedua user tadi, nantinya
ke depan bisa juga ditambahkan user-user lain. Maksimal jumlah total user 254,
dan semuanya bisa terhubung ke ISP (dengan menggunakan NAT Masquarade). Langsung
ke konfigurasinya...,
Konfigurasi Router
R-JKT-4
Konfigurasi
yang ditampilkan disini hanya berfokus pada router R-JKT-4 dan interface yang
mengalami perubahan konfigurasi saja. Untuk konfigurasi router lainnya, tidak
ada mengalami perubahan dan tidak akan dibicarakan lagi disini… Jika anda ingin
mengetahui konfigurasi router lainnya selengkapnya, silahkan melihat pada
posting sebelumnya.
R-JKT-4#config term
Enter configuration
commands, one per line. End with CNTL/Z.
R-JKT-4(config)#inter
fa0/1
R-JKT-4(config-if)#ip
address 192.168.1.1 255.255.255.0
R-JKT-4(config-if)#description
GATEWAY LAN JKT-4
1. Konfigurasi NAT Static
R-JKT-4#config ter
Enter configuration
commands, one per line. End with CNTL/Z.
R-JKT-4(config)#ip nat
inside sourc static 192.168.1.2 192.0.4.2
R-JKT-4(config)#inter
fa0/0
R-JKT-4(config-if)#ip
nat outside
R-JKT-4(config-if)#inter
fa0/1
R-JKT-4(config-if)#ip
nat inside
Bagaimana
cara menentukan interface mana menggunakan "ip nat inside" dan interface mana
yang menggunakan "ip nat outside".
- ip nat inside, ditempatkan pada interface LAN yang berhadapan dengan IP private (IP local)
- ip nat outside, ditempatkan pada interface WAN yang menuju ke arah internet
Di
sisi user XP setting IP addressnya. (kalo anda tidak tau tempat konfigurasi IP
address di XP… itu namanya … TERLALU…!!!)
Lanjutkan
dengan test ping.
Ok,
berhasil… selanjutnya di sisi User Linux.
Login to Core Linux
Username
"tc", password is not set
box login: tc
(°-
//\
Core is distributed with ABSOLUTELY NO WARRANTY.
v_/_
www.tinycorelinux.com
tc@box:~$ sudo su
root@box:~# ifconfig eth0
add 192.168.1.3/24
root@box:~# route add
default gw 192.168.1.1 eth0
root@box:~# ping
192.0.2.1
PING 192.0.2.1
(192.0.2.1): 56 data bytes
64 bytes from
192.0.2.1: seq=0 ttl=252 time=93.351 ms
64 bytes from
192.0.2.1: seq=1 ttl=252 time=70.815 ms
64 bytes from
192.0.2.1: seq=2 ttl=252 time=59.230 ms
64 bytes from
192.0.2.1: seq=3 ttl=252 time=68.170 ms
64 bytes from
192.0.2.1: seq=4 ttl=252 time=97.134 ms
--- 192.0.2.1 ping
statistics ---
5 packets transmitted,
5 packets received, 0% packet loss
round-trip min/avg/max
= 59.230/77.740/97.134 ms
root@box:~#
Dan
berhasil juga ping ke 192.0.2.1, yang berarti si user Linux sudah bisa masuk ke
ISP, dengan menggunakan IP Private (192.168.1.3). Di router R-JKT-4, bisa
dilihat IP address yang menggunakan nat, dengan perintah “sh ip nat translation”
R-JKT-4#sh ip nat
translations
Pro Inside global Inside local Outside local Outside global
icmp 192.0.4.2:512 192.168.1.2:512 192.0.2.1:512 192.0.2.1:512
icmp 192.0.4.2:512 192.168.1.2:512 192.0.3.1:512 192.0.3.1:512
--- 192.0.4.2 192.168.1.2 --- ---
R-JKT-4#
Untuk
mode konfigurasi static NAT ini. Setiap 1 buah IP private ditranslate ke 1 buah
IP public. Jika IP publicnya sudah pernah digunakan, akan ada pesan error,
seperti di bawah ini.
R-JKT-4#config ter
Enter configuration
commands, one per line. End with CNTL/Z.
R-JKT-4(config)#ip nat
inside source static 192.168.1.3 192.0.4.2
% similar static entry
(192.168.1.2 -> 192.0.4.2) already exists
R-JKT-4(config)#ip nat
inside source static 192.168.1.3 192.0.4.1
2. Konfigurasi Dynamc
NAT
Ok.
Selanjutnya ini adalah cara lain untuk mengkonfigurasi NAT. Biasanya ini
disebut dengan dynamic NAT, dengan menggunakan pool dan access list.
R-JKT-4(config)# ip nat
pool nat-pool 192.0.4.1 192.0.4.2 netmask 255.255.255.252
R-JKT-4(config)#access-list
4 permit 192.168.1.0 0.0.0.255
R-JKT-4(config)#ip nat
inside source list 4 pool nat-pool
R-JKT-4(config)#inter
fa0/0
R-JKT-4(config-if)#ip
nat outside
R-JKT-4(config-if)#inter
fa0/1
R-JKT-4(config-if)#ip
nat inside
Untuk
pengetestannya silahkan ditest ping sendiri dari sisi users ke arah ISP.
Seharusnya hasilnya akan sama. Dari router lihat hasil “sh ip nat translation”
R-JKT-4#sh ip nat tran
Pro Inside global Inside local Outside local Outside global
icmp 192.0.4.2:512 192.168.1.2:512 192.0.2.1:512 192.0.2.1:512
--- 192.0.4.2 192.168.1.2 --- ---
icmp
192.0.4.1:2823 192.168.1.3:2823 192.0.2.1:2823 192.0.2.1:2823
--- 192.0.4.1 192.168.1.3 --- ---
R-JKT-4#
3. Konfigurasi Dynamic
NAT overload
Selanjutnya
cara lain untuk membuat dynamic NAT. Ada tambahan command overload.
R-JKT-4(config)# ip nat
pool nat-pool 192.0.4.2 192.0.4.2 netmask 255.255.255.252
R-JKT-4(config)#access-list
4 permit 192.168.1.0 0.0.0.255
R-JKT-4(config)#ip nat
inside source list 4 pool nat-pool overload
R-JKT-4(config)#inter
fa0/0
R-JKT-4(config-if)#ip
nat outside
R-JKT-4(config-if)#inter
fa0/1
R-JKT-4(config-if)#ip
nat inside
R-JKT-4#sh ip nat
translations
Pro Inside global Inside local Outside local Outside global
icmp 192.0.4.2:512 192.168.1.2:512 192.0.2.1:512 192.0.2.1:512
icmp
192.0.4.2:57094 192.168.1.3:57094 192.0.2.1:57094 192.0.2.1:57094
Konfigurasi
Dynamic NAT overload, ini disebut juga dengan Port Address Translation. Karena menggunakan
metode mapping port untuk mentranslate IP Private ke IP Public. Mari kita lihat
perbedaan antara dynamic NAT dengan PAT.
Dengan
menganalisa hasil dari command sh ip nat translations, seharusnya bisa terlihat
perbedaannya. Pada Dynamic NAT, 1 IP public hanya boleh digunakan/diubah ke 1
private saja.
192.168.1.2 --> 192.0.4.2
192.168.1.3 --> 192.0.4.1
….
192.168.1.3 --> 192.0.4.1
….
Sedangkan
dalam PAT (NAT Overload) 1 IP public bisa digunakan / diubah ke banyak IP private. Hanya port-portnya (mapping port) yang dibedakan, sehingga router tidak akan keliru terhadap banyaknya permintaan NAT dari client (IP Private).
192.168.1.2:512 --> 192.0.4.2:512
192.168.1.3:57094 --> 192.0.4.2:57094
...dst.
192.168.1.3:57094 --> 192.0.4.2:57094
...dst.
Note :
Mungkin
anda menemukan error seperti di bawah
ini,
R-JKT-4(config)# ip nat
pool nat-pool 192.0.4.3 192.0.4.4 netmask 255.255.255.252
%Pool pool-nat mask
255.255.255.252 too small; should be at least 255.255.255.248
%Start and end
addresses on different subnets
Error tersebut artinya, anda salah dalam
mengkonfigurasi IP poolnya. Karena netmasknya 255.255.255.252, maka IP
192.0.4.4. sudah berbeda subnet mask dengan IP 192.0.4.3. Yang ndak ngerti,
perdalam lagi tentang IP address.
Jika anda membuat perintah nat pool seperti di bawah
ini…
R-JKT-4(config)# ip nat
pool nat-pool 192.0.4.0 192.0.4.3 netmask 255.255.255.252
Perintah di atas, betul, tapi agak kurang sreg.
Dengan kata lain, mubazir… Karena router hanya akan menggunakan IP address
192.0.4.1 dan 192.0.4.2 sebagai IP public untuk NAT, sedangkan IP address
192.0.4.0 (network ID) dan 192.0.4.3 (broadcast) tidak bisa digunakan…
Ok, selanjutnya mengenai IP Masquerade, lihat pada posting berikutnya...
Ok, selanjutnya mengenai IP Masquerade, lihat pada posting berikutnya...
No comments:
Post a Comment