Dynamic NAT

Dynamic NAT ကတော့ NAT overload နဲ့ သိပ်ပြီးမကွာပါဘူး။ အဓိက ကွာခြားချက်က NAT overload က public ip address တစ်ခုထဲကိုပဲသုံးတယ်။ dynamic NAT ကတော့ public ip address ၂ ခုနဲ့ အထက်ကို သုံးပြီး အင်တာနက်ကို access လုပ်တာပါ။

dynamic_nat

ဒီပုံလေးအတိုင်း setup လုပ်ပြီးတော့ R1 မှာ အောက်အတိုင်း configure လုပ်ပြီးတော့ပဲ စမ်းကြည့်လိုက်ပါတော့။

ip nat pool NAT-POOL 172.16.12.10 172.16.12.20 netmask 255.255.255.0
ip nat inside source list 1 pool NAT-POOL
access-list 1 permit 10.1.1.0 0.0.0.255
int g0/1
ip nat inside
int g0/0
ip nat outside

ဒါကဘာကိုပြောလဲဆိုတော့ LAN အတွက် access-list တစ်ခုလုပ်တယ်။

public IP Address ကို 172.16.12.10 ကနေ 172.16.12.20 range ကို သုံးလိုက်တယ်။ ပြီးရင် နာမည်တစ်ခုပေးပြီးတော့ pool တစ်ခုလုပ်လိုက်တယ်။ ပြီးရင် အဲဒီ pool နာမည်နဲ့ access-list ကို map လုပ်ပေးလိုက်တာပါ။

စမ်းကြည့်လိုက်ပါဦး။

Static NAT

static NAT ကိုတော့ ဘယ်လိုမျိုးနေရာမှာသုံးလဲဆိုတော့ ကိုယ့် network ထဲမှာရှိတဲ့ Server တစ်ခုခုက ဆားဗစ်တစ်ခုကို အပြင်ကနေ access လုပ်ချင်ရင် သုံးပါတယ်။

static_nat

 

ဒီထဲကပုံမှာဆိုရင် ကျွန်တော်တို့ configure လုပ်ပေးရမှာက R1 နောက်မှာရှိတဲ့ web server ကို R2 နောက်မှာရှိတဲ့ PC ကနေ access လုပ်လို့ရအောင် လုပ်ပေးရမှာပါ။ IP address တွေကို ပုံထဲကအတိုင်း configure လုပ်လိုက်မယ်။ ပြီးရင် R1’s Gi0/0 and Gi 0/1 interface အောက်မှာ ip nat outside and ip nat inside command ထည့်လိုက်ပါမယ်။

interface GigabitEthernet0/0
ip address 172.16.12.1 255.255.255.0
ip nat outside

interface GigabitEthernet0/1
ip address 192.168.10.1 255.255.255.0
ip nat inside

ပြီးရင် static nat command ကို အောက်ကအတိုင်း global config mode မှာ ထည့်လိုက်ပါမယ်။

ip nat inside source static 192.168.10.10 172.16.12.3

ပြီးရင် PC ကနေ public ip address အနေနဲ့ သုံးထားတဲ့ 172.16.12.3 ကို ဘရောက်ဇာကနေ ခေါ်ကြည့်ရအောင်။

web-1

ခေါ်ကြည့်လို့ရနေပါဘီ။ ping ကြည့်ရအောင်။

ping

ping ကြည့်လို့လဲ ရနေပါတယ်။ အဲဒါဘာလို့လဲဆိုတော့ static nat မှာ IP to IP ပဲ mapping လုပ်ထားလို့ပါ။ port 80 and 443 ကိုပဲ allow လုပ်ကြည့်ရအောင်။

ip nat inside source static 192.168.10.10 172.16.12.3 ကို ဖျက်လိုက်ပြီးတော့ အောက်က ကွန်မန်းတွေကို အစားထိုးပြီးထည့်လိုက်ပါမယ်။

ip nat inside source static tcp 192.168.10.10 80 172.16.12.3 80
ip nat inside source static tcp 192.168.10.10 443 172.16.12.3 443

no_ping

ping လို့မရတော့ပါဘူး။

ဘရောက်ဇာကနေခေါ်ကြည့်ရအောင်။

web_only

ဘရောက်ဇာမှာတော့ အဆင်ပြေပါတယ်။

R1 မှာ ip nat translation ကို ကြည့်ကြည့်ရအောင်။

R1#sh ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 172.16.12.3:443 192.168.10.10:443 — —
tcp 172.16.12.3:443 192.168.10.10:443 172.16.12.2:1046 172.16.12.2:1046
tcp 172.16.12.3:443 192.168.10.10:443 172.16.12.2:1047 172.16.12.2:1047
tcp 172.16.12.3:80 192.168.10.10:80 — —
tcp 172.16.12.3:80 192.168.10.10:80 172.16.12.2:1045 172.16.12.2:1045
R1#

ဒီပို့ရဲ့အရင်တင်ထားတဲ့ NAT overload (Port address Translation- PAT) နဲ့ အခုပို့ကို တခါထဲ configure လုပ်ပြီးလဲ စမ်းကြည့်နိုင်ပါတယ်။ တဖက်ကို overload configure လုပ်ပြီး တဖက်ကို static NAT configure လုပ်ပြီး စမ်းကြည့်နိုင်ပါတယ်။

 

NAT overload (Port address Translation- PAT)

Cisco Router တွေမှာ NAT configuration ဘယ်လိုလုပ်လဲ ဆိုတာကို လေ့လာကြည့်ရအောင်။

ပထမဆုံး NAT overload ကို ကြည့်ရအောင်။ အဲဒါကို port address translation (PAT) လို့လဲ ခေါ်ပါတယ်။

NAT.png

Topology ကိုတော့ အထက်ကပုံလေးအတိုင်းသုံးလိုက်ပါမယ်။

ဒီပုံလေးမှာ R1, Switch and two PCs ကိုတော့ ကိုယ့်နပ်ဝပ်ထဲက အပိုင်း၊ 172.16.12.0/24 ကိုတော့ public IP Address အနေနဲ့ မြင်ပေးပါ။ ဘာလို့လဲဆိုတော့ ဒီပို့မှာ NAT overload အကြောင်းကို ပြောမှာမို့လို့ပါ။ 172.16.12.3 IP Address ကိုတော့ R2 ကနေ ပိုင်ဆိုင်တဲ့ public ip address အနေနဲ့သုံးထားပါတယ်။

R1 gig0/0 ကို 172.16.12.1/24 လို့ပေးလိုက်မယ်။ R1’s Gig0/1 ကိုတော့ 192.168.10.254/24 လို့ပေးလိုက်ပါမယ်။ အဲဒီတော့ PC တွေရဲ့ default gw တွေက 192.168.10.254 ဖြစ်သွားပါမယ်။

ပထမဆုံး 192.168.10.0/24 က အင်တာနက်ကိုသွားဖို့အတွက် access-list တစ်ခု လုပ်လိုက်ပါမယ်။

access-list 1 permit 192.168.10.0 0.0.0.255

ပြီးရင် R1’s Gi0/0 interface အောက်မှာ ip nat outside ဆိုတဲ့ command ထည့်လိုက်ပါမယ်။ ဘာလို့လဲဆိုတော့ သူက အင်တာနက်ကို တိုက်ရိုက်ချိတ်ထားတဲ့ interface မို့လို့ပါ။

ပြီးရင် R1’s Gi0/1 interface အောက်မှာ ip nat inside ဆိုတဲ့ command ကို ထည့်လိုက်ပါမယ်။ သူကတော့ LAN ကို ချိတ်ထားတဲ့ interface မို့လို့ပါ။

interface GigabitEthernet0/0
ip address 172.16.12.1 255.255.255.0
ip nat outside
!
interface GigabitEthernet0/1
ip address 192.168.10.254 255.255.255.0
ip nat inside

R2 မှာလဲ လိုအပ်တဲ့ configuration တွေလုပ်ထားဖို့လိုပါတယ်။ အဲဒီအကြောင်းကိုတော့ နောက်ပို့မှာ ထပ်ရေးပေးပါမယ်။

ပြီးရင် အောက်ကကွန်မန်းလေးကို R1 ရဲ့ global config mode မှာ ထည့်ပေးဖို့လိုပါတယ်။

ip nat inside source list 1 interface GigabitEthernet0/0 overload

source list 1 ကတော့ စောစောက လုပ်ထားတဲ့ access-list number ပါ။ Gi0/0 ကတော့ အင်တာနက်ဘက်ကို ချိတ်ထားတဲ့ interface ပါ။

ပြီးရင် PC ကနေ web server ကို သွားကြည့်ရအောင်။

web_access.png

အထက်ကပုံလိုမျိုးမြင်ရရင်တော့ အဆင်ပြေပါဘီ။

local ip to public ip translation ကို အောက်က command နဲ့ ပြန်ကြည့်လို့ရပါတယ်။

R1#sh ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 172.16.12.1:1027 192.168.10.1:1027 172.16.12.3:80 172.16.12.3:80
tcp 172.16.12.1:1031 192.168.10.2:1031 172.16.12.3:80 172.16.12.3:80
tcp 172.16.12.1:1032 192.168.10.2:1032 172.16.12.3:80 172.16.12.3:80
tcp 172.16.12.1:1033 192.168.10.2:1033 172.16.12.3:80 172.16.12.3:80
tcp 172.16.12.1:1034 192.168.10.2:1034 172.16.12.3:80 172.16.12.3:80
tcp 172.16.12.1:1035 192.168.10.2:1035 172.16.12.3:80 172.16.12.3:80
tcp 172.16.12.1:1036 192.168.10.2:1036 172.16.12.3:80 172.16.12.3:80
tcp 172.16.12.1:1037 192.168.10.2:1037 172.16.12.3:80 172.16.12.3:80
tcp 172.16.12.1:1038 192.168.10.2:1038 172.16.12.3:80 172.16.12.3:80
tcp 172.16.12.1:1039 192.168.10.2:1039 172.16.12.3:80 172.16.12.3:80
tcp 172.16.12.1:1040 192.168.10.2:1040 172.16.12.3:80 172.16.12.3:80
tcp 172.16.12.1:1041 192.168.10.2:1041 172.16.12.3:80 172.16.12.3:80
R1#

နောက်ထပ် NAT lab တွေကိုလဲ အချိန်ရရင် ထပ်ရေးပါဦးမယ်။

Virtual Router Redundancy Protocol – VRRP

ဒီတစ်ခါတော့ VRRP အကြောင်းကိုတော့ အရမ်းအသေးစိတ်မပြောတော့ပါဘူး။ ဘယ်လို configure လုပ်လဲဆိုတာကိုပဲ ပြောပါတော့မယ်။
topology ကိုတော့ HSRP တုန်းက အတိုင်းပဲ လုပ်ထားပါတယ်။

ESW1(config)#track 1 interface fa0/1 line-protocol
ESW1(config)#int fa0/0
ESW1(config-if)#vrrp 1 ip 192.168.1.250
ESW1(config-if)#vrrp 1 preempt delay minimum 60
ESW1(config-if)#vrrp 1 priority 130
ESW1(config-if)#vrrp 1 track 1 decrement 40

ESW2(config)#int fa0/0
ESW2(config-if)#vrrp 1 ip 192.168.1.250
ESW2(config-if)#vrrp 1 preempt

အခုလုပ်ထားတဲ့ အတိုင်းဆိုရင် အရင် HSRP တုန်းက အတိုင်းပဲ အလုပ်လုပ်ပါလိမ့်မယ်။

ESW1(config)#int fa0/1
ESW1(config-if)#shut
*Mar  1 00:02:48.767: %TRACKING-5-STATE: 1 interface Fa0/1 line-protocol Up->Down
*Mar  1 00:02:48.807: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 10: Neighbor 10.1.1.10 (FastEthernet0/1) is down: interface down
ESW1(config-if)#
*Mar  1 00:02:50.767: %LINK-5-CHANGED: Interface FastEthernet0/1, changed state to administratively down
*Mar  1 00:02:51.767: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down
ESW1(config-if)#
*Mar  1 00:02:52.203: %VRRP-6-STATECHANGE: Fa0/0 Grp 1 state Master -> Backup
ESW1(config-if)#

ဒါကတော့ ESW1 မှာ မြင်ရတဲ့ မက်စေ့ပါ။

ESW2#
*Mar  1 00:02:52.155: %VRRP-6-STATECHANGE: Fa0/0 Grp 1 state Backup -> Master
ESW2#

ဒါကတော့ ESW2 မှာ မြင်ရတဲ့ မက်စေ့ပါ။

ပီးရင် ESW1’s interface fa0/1 ကို ပြန်ပြီးတော့ no shut လုပ်လိုက်ပါမယ်။

ESW1(config-if)#no shut
*Mar  1 00:16:07.023: %TRACKING-5-STATE: 1 interface Fa0/1 line-protocol Down->Up
*Mar  1 00:16:07.739: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 10: Neighbor 10.1.1.10 (FastEthernet0/1) is up: new adjacency
ESW1(config-if)#
*Mar  1 00:16:09.019: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to up
*Mar  1 00:16:10.019: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up
ESW1(config-if)#
*Mar  1 00:17:07.615: %VRRP-6-STATECHANGE: Fa0/0 Grp 1 state Backup -> Master
ESW1(config-if)#

ဒါကတော့ ESW1 မှာ မြင်ရတဲ့ မက်စေ့ပါ။

*Mar  1 00:17:07.595: %VRRP-6-STATECHANGE: Fa0/0 Grp 1 state Master -> Backup
ESW2#

ဒါကတော့ ESW2 မှာ မြင်ရတဲ့ မက်စေ့ပါ။

ဘယ် router က Master လဲ ဆိုတာကို အောက်ကအတိုင်း ကြည့်နိုင်ပါတယ်။

ESW1#show vrrp
FastEthernet0/0 – Group 1
State is Master
Virtual IP address is 192.168.1.250
Virtual MAC address is 0000.5e00.0101
Advertisement interval is 1.000 sec
Preemption enabled, delay min 60 secs
Priority is 130
Track object 1 state Up decrement 40
Master Router is 192.168.1.1 (local), priority is 130
Master Advertisement interval is 1.000 sec
Master Down interval is 3.492 sec

ESW1#

 

 

Hot Standby Routing Protocol – HSRP

HSRP က gateway redundancy protocol ထဲက တစ်ခုပါ။ စုစုပေါင်း ၃ ခုရှိပါတယ်။
HSRP (Hot Standby Routing Protocol),  GLBP (Gateway Load Balancing Protocol) နဲ့ VRRP (Virtual Router Redundancy Protocol)
HSRP နဲ့ GLBP ကတော့ Cisco proprietary ဖြစ်ပြီးတော့ VRRP ကတော့ IEEE standard ပါ။
ဒီနုတ်မှာတော့ HSRP အကြောင်းကို ပြောပြမှာပါ။
HSRP မှာ version ၂ ခုရှိပါတယ်။ ဘာတွေကွာလဲ ဆိုတာကို အောက်ကပုံလေးမှာ ကြည့်ကြည့်လိုက်ပါ။

HSRPv12.png

Configuration လုပ်ကြည့်ဖို့အတွက်ကိုတော့ အောက်က topology လေးကို သုံးထားပါတယ်။

HSRP-topo.png

ဒီမှာဆိုလို့ရှိရင် PC1 ကနေ R1 ရဲ့ loopback0 address ဖြစ်တဲ့ 1.1.1.1 ကို သွားဖို့အတွက် လမ်းကြောင်း၂ခုရှိပါတယ်။ တစ်ခုက ESW1 ‌ကနေသွားပြီးတော့ နောက်တစ်ခုက ESW2 ကနေသွားလို့ရပါတယ်။ ဒီမှာတော့ ဘယ်လိုလုပ်ထားလဲဆိုတော့ ESW1 and ESW2 ကြားမှာ Virtual gateway တစ်ခုလုပ်လိုက်ပြီးတော့ ESW1 ကို active ထားပြီး ESW2 ကို standby အနေနဲ့ထားလိုက်ပါမယ်။ တစ်ကယ်လို့ ESW1 က လင့် ဒေါင်းသွားရင် ESW2 က active role ကို တာဝန်ယူပြီးတော့ ဆက်ပြီးအလုပ်လုပ်သွားမှာပါ။
ESW1 ရဲ့ interface fa0/0 မှာ အောက်ကလို configure လုပ်လိုက်ပါမယ်။

ESW1(config)#int fa0/0
ESW1(config-if)#standby 1 ip 192.168.1.250
ESW1(config-if)#standby 1 priority 120
ESW1(config-if)#standby 1 preempt delay minimum 300
ESW1(config-if)#standby 1 track FastEthernet0/1 40

ပြီးရင် ESW2 ရဲ့ interface fa0/0 ကို အောက်ကလို configure လုပ်လိုက်ပါမယ်။

ESW2(config)#int fa0/0
ESW2(config-if)#standby 1 ip 192.168.1.250
ESW2(config-if)#standby 1 preempt

1 ဆိုတာကတော့ group ID
192.168.1.250 ကတော့ ESW1 and ESW2 ကြားက virtual IP
ESW1 ရဲ့ priority ကို 120 လို့ထားထားပါတယ်။ default ကတော့ 100 ပါ။ အဲဒီတော့ ESW1 က active ဖြစ်ပြီးတော့ ESW2 ကတော့ Standby ပါ။
ESW1 မှာ configure လုပ်ထားတဲ့ standby 1 track fastethernet 0/1 40 ဆိုတာကတော့ တစ်ကယ်လို့ fa0/1 link ဒေါင်းသွားမယ်ဆိုရင် ESW1 ရဲ့ priority ကို ၄၀ နုတ်မယ်။ အဲဒီတော့ ၈၀ ဖြစ်သွားပြီး ESW2 က ချက်ခြင်း active ဖြစ်သွားပါမယ်။
ESW1 မှာ configure လုပ်ထားတဲ့ standby 1 preempt delay minimum 300 က ဘယ်လိုအလုပ်လုပ်လဲဆိုတော့ တစ်ကယ်လို့ ESW1 ရဲ့ fa0/1 လင့်ဒေါင်းပြီးESW2 က active ဖြစ်သွားမယ်။ ပြီးတော့ ESW1 ရဲ့ fa0/1 လင့် ပြန်ကောင်းသွားမယ်ဆိုရင်တော့ မိနစ် ၃၀၀ စောင့်ပြီးမ ESW1 ကို active role ပြန်ယူအောင်လုပ်ထားတာပါ။
လောလောဆယ် ဘယ်သူက active လဲဆိုတာကို show standby နဲ့ ကြည့်လို့ရပါတယ်။

ESW1#show standby
FastEthernet0/0 – Group 1
State is Active
8 state changes, last state change 00:03:52
Virtual IP address is 192.168.1.250
Active virtual MAC address is 0000.0c07.ac01
Local virtual MAC address is 0000.0c07.ac01 (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 1.100 secs
Preemption enabled, delay min 300 secs
Active router is local
Standby router is 192.168.1.2, priority 100 (expires in 9.112 sec)
Priority 120 (configured 120)
Track interface FastEthernet0/1 state Up decrement 40
Group name is “hsrp-Fa0/0-1” (default)
ESW1#

ဒါကတော့ version 1 နဲ့လုပ်ထားတာပါ။ version 2 ကို ပြောင်းပြီး ကြည့်ကြည့်ရင် အောက်ကလိုမျိုးတွေ့ရပါမယ်။

ESW1#show standby
FastEthernet0/0 – Group 1 (version 2)
State is Active
11 state changes, last state change 00:00:17
Virtual IP address is 192.168.1.250
Active virtual MAC address is 0000.0c9f.f001
Local virtual MAC address is 0000.0c9f.f001 (v2 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.816 secs
Preemption enabled, delay min 300 secs
Active router is local
Standby router is unknown
Priority 120 (configured 120)
Track interface FastEthernet0/1 state Up decrement 40
Group name is “hsrp-Fa0/0-1” (default)
ESW1#

ESW1 ကနေ ESW2 ကို failover ဖြစ်လား စမ်းကြည့်ရအောင်။ ပထမဆုံး PC1 ကနေ 1.1.1.1 ကို ping test လုပ်ထားလိုက်ပါ။ ပြီးရင် ESW1 မှာ track လုပ်ထားတဲ့ fa0/1 interface ကို shutdown လုပ်ကြည့်လိုက်ရင် အောက်ကလိုမျိုး မက်စေ့ကို မြင်ရပါလိမ့်မယ်။

ESW1(config-if)#int fa0/1
ESW1(config-if)#shut
*Mar  1 00:36:39.559: %TRACKING-5-STATE: 2 interface Fa0/1 line-protocol Up->Down
*Mar  1 00:36:39.643: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 10: Neighbor 10.1.1.10 (FastEthernet0/1) is down: interface down
*Mar  1 00:36:40.419: %HSRP-5-STATECHANGE: FastEthernet0/0 Grp 1 state Active -> Speak
ESW1(config-if)#

ဒါကတော့ ESW1 မှာ မြင်ရတဲ့ မက်စေ့ပါ။

ESW2#
*Mar  1 00:36:40.399: %HSRP-5-STATECHANGE: FastEthernet0/0 Grp 1 state Standby -> Active
ESW2#

ဒါကတော့ ESW2 မှာ မြင်ရတဲ့ မက်စေ့ပါ။

စောစောက configure လုပ်ထားတဲ့ အတိုင်းပဲ ESW1’s fa0/1 interface ဒေါင်းသွားတာနဲ့ ESW2 က ချက်ချင်းနီးပါ active ဖြစ်သွားပါတယ်။ delay 1 second လောက်တော့ ရှိပါတယ်။
ကဲ ဆက်ပြီး ESW1 ရဲ့ fa0/1 interface ကို no shut လုပ်လိုက်ပါမယ်။ ဒီမှာတော့ ESW1 ကချက်ခြင်း active role ကို ပြန်မယူပါဘူး။ 5 mins လောက်စောင့်ပြီးမ active role ကို ပြန်ယူမှာပါ။ ဘာလို့လဲဆိုတော့ ESW1(config-if)#standby 1 preempt delay minimum 300 လို့ configure လုပ်ထားလို့ပါ။

ESW1(config-if)#no shut
*Mar  1 00:37:06.751: %TRACKING-5-STATE: 2 interface Fa0/1 line-protocol Down->Up
*Mar  1 00:37:06.883: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 10: Neighbor 10.1.1.10 (FastEthernet0/1) is up: new adjacency
ESW1(config-if)#
*Mar  1 00:37:08.747: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to up
*Mar  1 00:37:09.747: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up
ESW1(config-if)#
*Mar  1 00:42:07.419: %HSRP-5-STATECHANGE: FastEthernet0/0 Grp 1 state Standby -> Active
ESW1(config-if)#

ဒါကတော့ ESW1 မှာ မြင်ရတဲ့ မက်စေ့ပါ။

ESW2#
*Mar  1 00:42:07.411: %HSRP-5-STATECHANGE: FastEthernet0/0 Grp 1 state Active -> Speak
ESW2#
*Mar  1 00:42:17.411: %HSRP-5-STATECHANGE: FastEthernet0/0 Grp 1 state Speak -> Standby
ESW2#

multicast address ကို သိချင်တယ်ဆိုရင်တော့ interface fa0/0 link မှာ wireshark နဲ့ ဖမ်းပြီး ကြည့်ကြည့်လိုက်ပါ။ အဲဒါဆိုရင် table ထဲက multicast address တွေကို မြင်ရပါလိမ့်မယ်။
ကျွန်တော်‌ပြောတာတွေကို မယုံပါနဲ့။ လက်တွေ့ကိုယ့်ဖာသာ ပြန်စမ်းကြည့်ပြီးမ ယုံပါ။