Tuesday, May 06, 2014

Konfigurasi Source NAT di Router Cisco

Simulasi Network NAT

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.
  1. 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. 
  2. 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 :
  1. 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.
  2. 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.
  1. Static NAT
  2. Dynamic NAT
  3. Dynamic NAT dengan overload (Port Address translation)
  4. 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
Pengetestan.
Di sisi user XP setting IP addressnya. (kalo anda tidak tau tempat konfigurasi IP address di XP… itu namanya … TERLALU…!!!)
TCP IP Properties user XP

Lanjutkan dengan test ping.
test ping from user XP

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
….
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.

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...

No comments:

Post a Comment