Assalamu'alaikum. Selamat Datang di blog saya yang berjudul Peace, Love and Believe ini. Semoga kita bisa berbagi tentang apa saja.
Tampilkan postingan dengan label IP NAT. Tampilkan semua postingan
Tampilkan postingan dengan label IP NAT. Tampilkan semua postingan

Kamis, 17 Oktober 2013

Konfigurasi Sederhana IP Nat Outside Source Command



Konfigurasi Sederhana menggunakan Command IP Nat Outside Source

Topology jaringan yang digunakan :

Ketika kita melakukan Ping dari interface Loopback 0 router R1 (172.16.88.1) dengan destinasi interface Loopback 0 router R3 (171.68.1.1), maka yang terjadi adalah :

Router R1 memforward paket ke router R2 karena sebelummya telah dikonfigurasi default route pada router R1. Pada outside interface router R2, paket memiliki source address (SA) 172.16.88.1 dan destination address (DA) 171.68.1.1. Karena SA di permit secara explicit dalam access-list yang kemudian digunakan sebagai source IP Nat, SA tersebut akan ditranslasi dengan menggunakan address yang ada dalam Nat Pool. Ingat bahwa command ip nat outside source list akan merujuk pada Nat Pool sebagai address hasil translasinya. Pada kasus ini, address ditranslasi menjadi 171.68.16.10 dimana IP ini adalah IP pertama yang available di Nat Pool. Setelah translasi, router R2 melihat destination address di dalam routing table-nya, dan kemudian me-routing-kan paket tersebut sesuai tujuannya. Router R3 melihat paket datang melalui incoming interface-nya (interface E0). Paket tersebut memiliki SA 171.68.16.10 dan DA 171.68.1.1. R3 kemudian merespon dengan mengirim ICMP echo reply ke 171.68.16.10. JIka address 171.68.16.10 tidak ada di routing table, maka paket tersebut akan di drop. Pada kasus ini, R3 memiliki default route, sehingga R3 mengirim paket ke router R2 menggunakan SA 171.68.1.1 dan DA 171.68.16.10. Router R2 kemudian melihat paket yang datang melalui inside interface-nya tersebut, dan kemudian melakukan pengecekan route menuju 171.68.16.10. Jika router R2 tidak memiliki routing menuju ke alamat tersebut, maka statusnya menjadi unreachable. Namun pada kasus ini router R2 memiliki default route menuju 171.68.16.10, karena adanya penggunaan optional command add-route pada ip nat outside source dimana optional command ini akan menambahkan route menuju host berdasarkan translasi antara outside global address dan outside local address, sehingga router R2 akan mentranslasikan paket kembali menuju 172.16.88.1 melalui outside interface-nya.

Configurations
Router R1
hostname R1
interface Loopback0
 ip address 172.16.88.1 255.255.255.0
interface Serial0
 ip address 172.16.191.254 255.255.255.252
 no ip mroute-cache
ip classless
ip route 0.0.0.0 0.0.0.0 172.16.191.253

Router R2
hostname R2
interface Ethernet1
 ip address 171.68.192.202 255.255.255.0
 ip nat inside
 no ip mroute-cache
 no ip route-cache
interface Serial1
 ip address 172.16.191.253 255.255.255.252
 ip nat outside
 no ip mroute-cache
 no ip route-cache
 clockrate 2000000
ip nat pool Net171 171.68.16.10 171.68.16.254 netmask 255.255.255.0
ip nat outside source list 1 pool Net171 add-route
ip classless
ip route 172.16.88.0 255.255.255.0 172.16.191.254
ip route 171.68.1.0 255.255.255.0 171.68.192.201
access-list 1 permit 172.16.88.0 0.0.0.255

Router R3
hostname R3
interface Loopback0
 ip address 171.68.1.1 255.255.255.0
interface Ethernet0
 ip address 171.68.192.201 255.255.255.0
ip classless
ip route 0.0.0.0 0.0.0.0 171.68.192.202
 
Verifikasi
Show ip nat translations dapat digunakan untuk melakukan pengecekan terhadap hasil translasi,
seperti terlihat di bawah ini : 
R2# show ip nat translations
Pro Inside global      Inside local       Outside local      Outside global
--- 171.68.1.1          171.68.1.1         171.68.16.10       172.16.88.1
--- --- 
Output di atas menunjukkan Outside global  address 172.16.88.1 (ip address interface Loopback 0 
router R1) ditranslasikan menjadi Outside local address 171.68.16.10. 
Show ip route juga dapat digunakan untuk mengecek entri routing table, seperti berikut : 
R2# show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route
Gateway of last resort is not set 
     171.68.0.0/16 is variably subnetted, 3 subnets, 2 masks
C       171.68.192.0/24 is directly connected, Ethernet1
S       171.68.1.0/24 [1/0] via 171.68.192.201
S       171.68.16.10/32 [1/0] via 172.16.88.1
     172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
S       172.16.88.0/24 [1/0] via 172.16.191.254
C       172.16.191.252/30 is directly connected, Serial1
 

Pada routing table di atas, terlihat sebuah /32 untuk outside local address 171.68.16.10, dimana 
route tersebut di create karena adanya penggunaan optional command add-route pada command 
ip nat outside source. Route ini digunakan untuk me-routing-kan dan mentranslasikan paket dari 
inside ke outside network.
 
Troubleshoot
Output berikut adalah hasil dari debug ip packet dan debug ip nat pada router R2, ketika secara
bersamaan dilakukan ping dari Router R1 dengan source address interface Loopback 0 
(172.16.88.1) ke interface Loopback 0 (171.68.1.1) router R3. 
*Mar  1 00:02:48.079: NAT*: s=172.16.88.1->171.68.16.10, d=171.68.1.1 [95]
!--- Source address pada paket pertama, tiba dan masuk ke interface outside
ditranslasikan pertama kali
*Mar  1 00:02:48.119: IP: tableid=0, s=171.68.16.10 (Serial1), d=171.68.1.1 (Ethernet1),
routed via RIB
*Mar  1 00:02:48.087: IP: s=171.68.16.10 (Serial1), d=171.68.1.1 (Ethernet1),
g=171.68.192.201, len 100, forward 
!--- Paket ICMP echo request (dengan IP source address yang telah ditranslasi)
diroutingkan dan diforward ke inside interface. 
*Mar  1 00:02:48.095: IP: tableid=0, s=171.68.1.1 (Ethernet1), d=171.68.16.10 (Serial1),
routed via RIB 
!--- Paket ICMP echo reply sampai di interface inside diroutingkan berdasarkan 
destination address-nya.
*Mar  1 00:02:48.099: NAT: s=171.68.1.1, d=171.68.16.10->172.16.88.1 [95] 
!--- Destination address pada paket kemudian ditranslasikan.
*Mar  1 00:02:48.103: IP: s=171.68.1.1 (Ethernet1), d=172.16.88.1 (Serial1),
g=172.16.191.254, len 100, forward 
!--- Peket ICMP echo reply (dengan IP destination address yang telah ditranslasi)
diforward melalui outside interface.
Contoh di atas adalah untuk satu buah paket ICMP, dan akan berulang seperti di atas sesuai
jumlah paket ICMPnya.
 

Rabu, 16 Oktober 2013

Dasar-dasar IP NAT



Ketika pertama kali mempelajari NAT, Saya dibuat pusing bin bingung mengenai topology addressing. Dalam NAT, IP address type dikategorikan dalam 4 jenis yaitu :
  • Inside local
  • Inside global
  • Outside local
  • Outside global

Sejujurnya tidak ada materi tentang NAT yang telah saya baca dapat saya pahami dengan baik, sampai saya benar-benar tau tentang konsep dan kapan NAT digunakan. Untuk memahami NAT, pahami dulu tentang perspective NAT berikut :
 


Address location, pada NAT dikenal Inside dan Outside. Address location ini merujuk pada sisi dari router yang mengimplementasikan NAT. Biasanya Inside address adalah private address dan Outside address adalah Public address yang telah teregistrasi.

Perspective merujuk pada sisi router NAT, dari mana dia diamati, apakah local atau global. Jika address dilihat dari host inside, maka address tersebut termasuk local. Jika address dilihat dari host outside, maka address tersebut termasuk global.

Untuk lebih jelas dan lebih memahami, berikut topologi lab yang bisa digunakan.
 

interface FastEthernet0/0
 ip address 10.0.0.1 255.255.255.252
 ip nat outside
!
interface FastEthernet0/1
 ip address 192.168.0.1 255.255.255.0
 ip nat inside
!
ip nat inside source static 192.168.0.10 192.0.2.10

Contoh konfigurasi di atas adalah mapping static NAT. IP 192.168.0.10 ditranslasikan menjadi 192.0.2.10.

R2# show ip nat translations
Pro Inside global   Inside local   Outside local  Outside global
--- 192.0.2.10      192.168.0.10   ---            ---

Perlu diingat bahwa yang terlihat pada table NAT di atas hanya 2 address karena belum ada action apa pun alias belum ada traffic apa pun yang mengalir dan “match” dengan rule pada router NAT.

  • Inside Global artinya address pada inside host yang terlihat dari outside
  • Inside Local artinya address pada inside host yang terlihat dari inside.

Jika kita menginisiasi traffic TCP dari R1 ke R3, table NAT translasi akan muncul, namun table ini hanya bersifat temporer.

R2# show ip nat translations
Pro Inside global  Inside local     Outside local   Outside global
tcp 192.0.2.10:23  192.168.0.10:23  10.0.0.2:32978  10.0.0.2:32978
--- 192.0.2.10     192.168.0.10     ---             ---

Dua kolom terakhir (outside local dan outside global) terlihat IP address yang sama karena outside address tidak di translasi kedalam address mana pun.


Untuk Review:
  • Inside global: Address dari inside host yang dilihat dari outside
  • Inside local: Address dari inside host yang terlihat dari inside
  • Outside local: Address dari outside host yang terlihat dari inside
  • Outside global: Address dari outside host yang terlihat dari outside
Apa bedanya inside source dan outside source pada global configuration?

Secara umum perbedaannya adalah sumber IP yang akan ditranslasikan, apakah inside source addresses or outside source addresses.

Contoh :
ip nat inside source static 155.1.13.1 155.1.23.1
ip nat outside source static 155.1.23.2 155.1.13.2

Command pertama untuk mentranslasikan IP address dari paket yang datang dan masuk ke inside interface, dari 155.1.13.1 menjadi 155.1.23.1. Ini juga akan mentranslasikan destination IP address dari traffic inbound pada interface outside (maksudnya kita bisa ping 155.1.23.1 dari outside network dan host 155.1.13.1 akan melakukan respon.

Command kedua untuk mentranslasikan IP address dari paket yang datang masuk ke outside interface., dari 155.1.23.2 menjadi 155.1.13.2. Host-host yang berada pada sisi inside akan melihat host outside sebagai local subnet (network 155.1.13.0).

Command pertama lebih familiar karena sering digunakan untuk mentranslasikan private inside address ke public outside address. Command kedua lebih banyak digunakan untuk VPN yang akan diakses dari public networks.