Route-map နဲ့ PBR အကြောင်းကိုလေ့လာပီးတဲ့အချိန်မှာ Route-map ရဲ့ Set Next-hop ဆိုတဲ့ အရာ နဲ့ကိုယ်ပို့ချင်တဲ့လမ်းကြောင်းကိုရွေးလို့ရတယ်ဆိုတာသိလောက်ပါပီ။ ဒါပေမယ့် တွေ့ကရာ IP ကို Next-Hop အနေနဲ့သုံးလို့ရသလားဆိုတာက စဉ်းစားစရာပါ။ တွေးမိတဲ့သူလည်းရှိမှာပါ ဘယ်သူကို ဘယ် IP ကို အသုံးပြုရမလဲဆိုတာ။ နောက်ပီးတော့ Lab လုပ်ကြည့်တဲ့သူတွေ အများစုကြုံရတဲ့ ပြဿနာက PBR တော့ သုံးထားတယ် ဒါပေမယ့် အလုပ်မလုပ်ပဲ Routing Table အတိုင်းပဲသွားနေတယ်ဆိုတာမျိုး။
Next ဆိုတာ အစဉ်အတိုင်းအရ ကပ်နေတဲ့အရာကိုပြောတာဖြစ်တဲ့အတွက် Next-hop ကို ကပ်ရပ်က Router ရဲ့ Interface တွေမှာ တိုက်ရိုက်အသုံးပြုထားတဲ့ IP ကိုသာအသုံးပြုရမှာဖြစ်ပါတယ်။ တနည်းအားဖြင့်ဆိုရင် Connected Route ဒါမှမဟုတ် Connected Router ရဲ့ Interface IP ပေါ့။ Route-map ကတော့ ဘယ် IP ထည့်ထည့် ဘာမှပြောမှာ မဟုတ်ဘူး ဒါပေမယ့် စောစောကပြောသလို အလုပ်မလုပ်ပဲ Routing table အတိုင်းပဲသွားလိမ့်မယ် ကိုယ်သွားစေချင်သလို သွားမှာမဟုတ်။ ဒါပေမယ့် တချို့ကိစ္စတွေမှာ ကပ်ရပ်က IP မသုံးပဲ နောက် ၂ဆင့်၃ဆင့်လောက်က IP ကိုသုံးမှ အဆင်ပြေမယ့်ကိစ္စတွေ ရှိတယ်။ PBR သုံးပီဆိုမှတော့ ဒါမျိုးတွေလုပ်ချင်လို့ပဲလေ။ ဒီနေရာမှာတော့ Next hop IP ဆိုပီးရပ်နေလို့မရပဲ Recursive ဆိုတာကိုပါထည့်ပေးရတယ်။ ဒါမှ PBR ကသိမှာ။ ဒီ IP ဟာကပ်ရပ်တော့ မရှိဘူး ဒါပေမယ့် သွားလို့ရ မှာပဲဆိုပီးတော့ PBR က အလုပ်လုပ်မှာဖြစ်ပါတယ်။ ဒါပေမယ့် Next-Hop နဲ့ Recursive next-hop ပြိုင်ရွေးကြရင်တော့ Next-hop ကိုအသုံးပြုမှာဖြစ်ပါတယ်။
နောက်ပီးတော့ Recursive next-hop ကိုတစ်ခုသာ အသုံးပြုလို့ရပါတယ်။ Next-hop လိုမျိုး ၃၊ ၄ ခုထည့်ပီးအသုံးပြုလို့မရပါ။ ဒါပေမယ့် များသောအားဖြင့် Next-hop တစ်ခုနဲ့ recursive next-hop တစ်ခုလောက်သာတွဲသုံးလေ့ရှိပါတယ်။ PBR မှာ Next-hop တွေသာ အများကြီးထည့်ရပီဆိုရင်တော့ အခြေအနေသိပ်မကောင်းပါ။ Design ဖက်ကိုသေသေချာချာပြန်ကြည့် သင့်ပါတယ်။ ဒါမှမဟုတ်ရင်လည်း အတော်ကိုရှုပ်ထွေးတဲ့ လိုအပ်ချက်တွေများတဲ့ Network ဖြစ်ကောင်းဖြစ်ပါလိမ့်မယ်။ Trousbleshooting ပိုင်းအရလည်း ရှုပ်ထွေးနိုင်လို့ Routing table တစ်မျိုးထဲနဲ့ ကြည့်ပီးဆုံးဖြတ်လို့မရတော့ပါ။
ဒီအတိုင်းဖတ်တာထက်စာရင် လက်တွေ့လုပ်ကြည့်ရင်ပိုပီးမြင်သာပါလိမ့်မယ်။ PBR အလုပ် လုပ်မလုပ်ကိုသိချင်ရင် Source Router ကနေ Traceroute နဲ့လမ်းကြောင်းကိုကြည့်နိုင်သလို ACL မှာ Application ပါလာရင်တော့ PBR Router မှာ Debug လုပ်ပီးတော့လည်းကြည့်နိုင်ပါတယ်။
PBR အလုပ်ဖြစ်တယ်ဆိုရင် Debug မှာ အခုလိုမျိုးမြင်ရမှာပါ။
*Mar 1 00:22:43.651: IP: s=192.168.100.2 (FastEthernet0/0), d=1.1.1.1, len 100, FIB policy match
*Mar 1 00:22:43.651: IP: s=192.168.100.2 (FastEthernet0/0), d=1.1.1.1, g=200.200.200.2, len 100, FIB policy routed
*Mar 1 00:22:43.715: IP: s=192.168.100.2 (FastEthernet0/0), d=1.1.1.1, len 100, FIB policy match
*Mar 1 00:22:43.719: IP: s=192.168.100.2 (FastEthernet0/0), d=1.1.1.1, g=200.200.200.2, len 100, FIB policy routed
Match မဖြစ်ရင်တော့ပုံမှန် Routing အတိုင်းပဲသွားလိမ့်မယ်။
*Mar 1 00:24:15.015: IP: s=192.168.100.2 (FastEthernet0/0), d=100.100.100.2, len 100, FIB policy rejected(no match) – normal forwarding
*Mar 1 00:24:15.047: IP: s=192.168.100.2 (FastEthernet0/0), d=100.100.100.2
R1#, len 100, FIB policy rejected(no match) – normal forwarding
Match တော့ဖြစ်တယ် ဒါပေမယ့် Next-Hop က ကပ်ရပ်ရှိမနေဘူး၊ Recursive Next-hop ကိုမသုံးထားဘူးဆိုရင်လည်း ပုံမှန် Routing အတိုင်းပဲသွားမှာဖြစ်ပါတယ်။
*Mar 1 00:35:01.703: IP: s=192.168.100.2 (FastEthernet0/0), d=1.1.1.1, len 28, FIB policy match
*Mar 1 00:35:01.703: CEF-IP-POLICY: fib for address 200.200.200.2 is with flag 0
*Mar 1 00:35:01.703: IP: s=192.168.100.2 (FastEthernet0/0), d=1.1.1.1, len 28, FIB policy rejected – normal forwarding
*Mar 1 00:35:01.759: IP: s=192.168.100.2 (FastEthernet0/0), d=1.1.1.1, len 28, FIB policy match
*Mar 1 00:35:01.759: CEF-IP-POLICY: fib for address 200.200.200.2 is with flag 0
*Mar 1 00:35:01.763: IP: s=192.168.100.2 (FastEthernet0/0), d=1.1.1.1, len 28, FIB policy rejected – normal forwarding
http://www.cisco.com/c/en/us/td/docs/ios/iproute_pi/configuration/guide/15_0/iri_15_0_book/iri_prb_rec_next_hop.pdf
ကိုဖြိုး
Showing posts with label Route-map. Show all posts
Showing posts with label Route-map. Show all posts
Sunday, 26 July 2015
လိုရာသွားဖို့ Route-maps
Routing ကိုလေ့လာတဲ့အခါမှာ Static Route ကနေစပီးတော့လေ့လာရပါတယ်။ ဒါမှ Network တစ်ခုနဲ့တစ်ခု ဘယ်လိုသွားရမယ်၊ Gateway တို့ Next-hop တို့ စတဲ့အရာတွေကို နားလည် သဘောပေါက်မှာ ဖြစ်ပါတယ်။ Router လေးလုံးလောက်နဲ့ အသွားအပြန် သွားလို့ရအောင် လေ့ကျင့်ပီးရင်တော့ Return route တွေ end to end reachability တွေကိုပါ မှန်ကန်စွာ Configure လုပ်နိုင်လာမှာဖြစ်ပါတယ်။ အဲဒီမှ တစ်ဆင့် Dynamic Routing ကိုဆက်ပီးတော့ လေ့လာရပါတယ်။ Dynamic Routing protocols တွေရဲ့အသုံးပြုပုံ၊ Configuration လိုအပ်ချက်တွေ၊ (ဥပမာ OSPF Area ၊ EGIRP/BGP AS ၊ Router ID တို့No Auto-Summary တို့) ကိုလေ့လာရပါတယ်။ ပီးရင် Protocols နှစ်ခု သုံးခုရောပီး Multi-protocols အသုံးပြုပုံတွေကို နားလည်အောင် LAB လုပ်ကြည့်ရပါတယ်။ ဒီနေရာမှာ အဓိကပါလာမှာကတော့ Route Redistribution ပါ (Redistribution အကြောင်းကို ရေးထားပီးပါပီ)။ Redistribution ဟာသိပ်မလွယ်ပါဘူး၊ Configuration မှားရင် Routing Loop တွေဖြစ်ပီး Network တစ်ခုလုံး ပြဿနာတက်သွားနိုင်ပါတယ်။ ဒီတော့ Redistribution နဲ့အတူ မဖြစ်မနေတွဲသုံးရမယ့် အရာကတော့ Route-map ပဲဖြစ်ပါတယ်။
Route-map ကို Redistribution မှာသာမကပဲ Policy Based Routing တို့BGP Configuration တို့ မှာလည်း အသုံးများကြပါတယ်။ Route-map မပါပဲနဲ့ပြည့်စုံတဲ့ Configuration ၊ လိုချင်တဲ့ Routing Path ကိုတည်ဆောက် ဖို့ရာအလွန်ခက်ပါလိမ့်မယ်။ ဘာနဲ့တူမလဲဆိုရင် မြို့ပြတစ်ခုရဲ့ လမ်းကြောင်းတွေကို ရေးဆွဲရာမှာ လမ်းဖောက်၊ တံတားဆောက်၊ မီးပိုင့်တပ်ဆင်ပေးလိုက်ရုံနဲ့ အဆင်ပြေသွားပီလို့ပြောလို့မရသလိုပါပဲ။ ဥပမာ တစ်လမ်းမောင်း ထားသင့်တဲ့နေရာထား၊ မဝင်ရသတ်မှတ်တဲ့နေရာသတ်မှတ်၊ စတဲ့အရာတွေထပ်ပီး စီမံရသလိုပဲ Route-map ရဲ့အကူအညီနဲ့ ကိုယ်လိုချင်သလိုဖြစ်စေ၊ လုပ်ငန်းခွင်ရဲ့လိုအပ်ချက်အရ ဖြစ်စေ အဆင်ပြေအောင် လုပ်ဆောင်ရပါတယ်။ Route-map မသုံးရင်ကော မရဘူးလားလို့မေးခဲ့ရင်တော့ ရတယ်လို့ဆိုရမှာပါ ဒါပေမယ့် ရိုးရှင်းတဲ့ Network တွေမှာပဲ ရပါလိမ့်မယ်။ ရှုပ်ထွေးတဲ့ Network တွေနဲ့လိုအပ်ချက်အမျိုးမျိုးနဲ့ပြည့်နေတဲ့ Network တွေမှာတော့ မရှိမဖြစ်အသုံးပြုရပါလိမ့်မယ်။
Route-map ဟာ ACL လို Permit/ Deny တွေနဲ့ကိုယ်လိုချင်တာကို ထိန်းချုပ်လို့ရသလို ACL အတိုင်းပဲ ရေးထားတဲ့ အစဉ်လိုက်အတိုင်း ဘာလုပ်မယ်ဆိုတာကို ဆုံးဖြတ်ပါတယ်။ IF/ELSE လိုမျိုး ဒီဟာတွေ့ရင်ဖြင့် ဒီလိုလုပ်၊ ဒါမှမဟုတ်ရင်တော့ ဟိုလိုသွား စသဖြင့် ရေးလို့ရပါတယ်။ ဒါပေမယ့် Route-map ဟာ ACL ၊ Prefix-list ၊ Interface ၊ IP address ၊ Metric ၊ Route-Type စတာတွေကို Match လုပ်ပီးမှ Route-map ဟာ အသက်ဝင်လာ တာပါ။ ACL ထက်ပိုမိုကောင်းမွန်တဲ့ Permit/ Deny Statement တွေရေးလို့ရသလို ACL မှာမရတဲ့ Set Commands တွေနဲ့Route Attributes တွေ၊ Metric တို့Next-Hop တို့တွေပါ ပြောင်းလဲပေးတဲ့ လုပ်ဆောင်ပေးနိုင်တဲ့ အရာတွေ ပါဝင်ပါတယ်။ ဒီတော့ Configuration ပိုင်းအရကြည့်ရင် Route-map မှာ Match နဲ့Set ပဲပါ ပါတယ်။ Adminရဲ့ခြုံ ငုံကြည့်ရမည့် အမြင်နဲ့Match Attribute တွေကို ပါးနပ်စွာရွေးချယ် ရေးသားမှုက ပိုပီးတော့ အရေးပါတယ် လို့ဆိုရပါမယ်။ ဒါ့အပြင် Match statement တစ်ခုမှာ နှစ်မျိုးသုံးမျိုးရေးတာ OR တို့၊ တစ်ကြောင်းစီရေးရင် AND ၊ Match ဖြစ်ပီးသားကို ဆက်ပီးထပ်သွားဖို့အတွက် Continue တို့တွေကိုပါ သိထားရင်တော့ အသေးစိတ် အသုံးချနိုင်လာပါလိမ့်မယ်။
Route-map ကို Redistribution မှာအသုံးပြုထားပုံ
router ospf 100
redistribute rip route-map rip-to-ospf
route-map rip-to-ospf permit
match metric 1
set metric-type type1
ဒီနမူနာမှာ RIP Routes တွေကို OSPF အထဲကို Redistribution လုပ်တဲ့နေရာမှာ အသုံးပြုထားတာ ဖြစ်ပါတယ်။ လိုချင်တာက RIP route တွေအထဲက Metric 1 နဲ့ဝင်လာတဲ့ Routes တွေကို OSPF External Route Type 1 အဖြစ်နဲ့Redistribution လုပ်ဖို့ဖြစ်ပါတယ်။ ပုံမှန်ဆိုရင် OSPF က Redistributed လုပ်ထာတဲ့ External Routes တွေဟာ Type 2 အနေနဲ့Inject လုပ်ပါတယ်။ Type 2 ဆိုရင် Cost ကစားလို့အဆင်မပြေတဲ့အတွက် Route-map ရဲ့အကူအညီကိုသုံးပီး Type 1 အဖြစ်သို့ ပြောင်းလဲပေးလိုက်ခြင်း ဖြစ်ပါတယ်။
Route-map ကို Policy Based Routing မှာအသုံးပြုထားပုံ
access-list 1 permit ip 192.168.1.0 0.0.0.255
route-map Diff-path permit 10
match ip address 1
set ip next-hop 10.10.10.1
route-map Diff-path permit 20
Interface FastEthernet 0/1
ip policy route-map Diff-path
ဒီနမူနာကတော့ ACL 1 ကလာတဲ့ Traffic ဟာ Interface FE0/1 ကိုရောက်လာရင် Routing table ရဲ့ အဆုံးအဖြတ်အရ မသွားစေပဲ 10.10.10.1 ကနေသွားဖို့လမ်းကြောင်းပြောင်းပေးလိုက်တာဖြစ်ပါတယ်။ ကျန်တာတွေကိုတော့ ပုံမှန်အတိုင်းပဲသွားပေါ့။
Route-map ကို BGP configuration မှာအသုံးပြုထားပုံ
access-list 1 permit ip 192.168.1.0 0.0.0.255
route-map Only-This permit 10
match ip address 1
router bgp 100
neighbor 10.10.10.1 route-map Only-This out
ဒီနောက်ဆုံးဥပမာမှာတော့ BGP Route advertisement မှာ ကိုယ်ပေးချင်တဲ့ Network တစ်ခုကို ACL ရေး၊ Route-map နဲ့Match ပီးတော့ Neighbor advertisement မှာယူသုံးထားခြင်းဖြစ်ပါတယ်။ တစ်ဖက်က Neighbor ဟာ 192.168.1.0/24 ဆိုတဲ့ Route တစ်ခုကိုပဲ မြင်ရမှာဖြစ်ပါတယ်။
အခုလောက်ဆို Route-map ရေးဆွဲပီး လိုရာရောက်အောင်သွားလို့ရပီလို့ထင်ပါတယ်။
ကိုဖြိုး
Route-map ကို Redistribution မှာသာမကပဲ Policy Based Routing တို့BGP Configuration တို့ မှာလည်း အသုံးများကြပါတယ်။ Route-map မပါပဲနဲ့ပြည့်စုံတဲ့ Configuration ၊ လိုချင်တဲ့ Routing Path ကိုတည်ဆောက် ဖို့ရာအလွန်ခက်ပါလိမ့်မယ်။ ဘာနဲ့တူမလဲဆိုရင် မြို့ပြတစ်ခုရဲ့ လမ်းကြောင်းတွေကို ရေးဆွဲရာမှာ လမ်းဖောက်၊ တံတားဆောက်၊ မီးပိုင့်တပ်ဆင်ပေးလိုက်ရုံနဲ့ အဆင်ပြေသွားပီလို့ပြောလို့မရသလိုပါပဲ။ ဥပမာ တစ်လမ်းမောင်း ထားသင့်တဲ့နေရာထား၊ မဝင်ရသတ်မှတ်တဲ့နေရာသတ်မှတ်၊ စတဲ့အရာတွေထပ်ပီး စီမံရသလိုပဲ Route-map ရဲ့အကူအညီနဲ့ ကိုယ်လိုချင်သလိုဖြစ်စေ၊ လုပ်ငန်းခွင်ရဲ့လိုအပ်ချက်အရ ဖြစ်စေ အဆင်ပြေအောင် လုပ်ဆောင်ရပါတယ်။ Route-map မသုံးရင်ကော မရဘူးလားလို့မေးခဲ့ရင်တော့ ရတယ်လို့ဆိုရမှာပါ ဒါပေမယ့် ရိုးရှင်းတဲ့ Network တွေမှာပဲ ရပါလိမ့်မယ်။ ရှုပ်ထွေးတဲ့ Network တွေနဲ့လိုအပ်ချက်အမျိုးမျိုးနဲ့ပြည့်နေတဲ့ Network တွေမှာတော့ မရှိမဖြစ်အသုံးပြုရပါလိမ့်မယ်။
Route-map ဟာ ACL လို Permit/ Deny တွေနဲ့ကိုယ်လိုချင်တာကို ထိန်းချုပ်လို့ရသလို ACL အတိုင်းပဲ ရေးထားတဲ့ အစဉ်လိုက်အတိုင်း ဘာလုပ်မယ်ဆိုတာကို ဆုံးဖြတ်ပါတယ်။ IF/ELSE လိုမျိုး ဒီဟာတွေ့ရင်ဖြင့် ဒီလိုလုပ်၊ ဒါမှမဟုတ်ရင်တော့ ဟိုလိုသွား စသဖြင့် ရေးလို့ရပါတယ်။ ဒါပေမယ့် Route-map ဟာ ACL ၊ Prefix-list ၊ Interface ၊ IP address ၊ Metric ၊ Route-Type စတာတွေကို Match လုပ်ပီးမှ Route-map ဟာ အသက်ဝင်လာ တာပါ။ ACL ထက်ပိုမိုကောင်းမွန်တဲ့ Permit/ Deny Statement တွေရေးလို့ရသလို ACL မှာမရတဲ့ Set Commands တွေနဲ့Route Attributes တွေ၊ Metric တို့Next-Hop တို့တွေပါ ပြောင်းလဲပေးတဲ့ လုပ်ဆောင်ပေးနိုင်တဲ့ အရာတွေ ပါဝင်ပါတယ်။ ဒီတော့ Configuration ပိုင်းအရကြည့်ရင် Route-map မှာ Match နဲ့Set ပဲပါ ပါတယ်။ Adminရဲ့ခြုံ ငုံကြည့်ရမည့် အမြင်နဲ့Match Attribute တွေကို ပါးနပ်စွာရွေးချယ် ရေးသားမှုက ပိုပီးတော့ အရေးပါတယ် လို့ဆိုရပါမယ်။ ဒါ့အပြင် Match statement တစ်ခုမှာ နှစ်မျိုးသုံးမျိုးရေးတာ OR တို့၊ တစ်ကြောင်းစီရေးရင် AND ၊ Match ဖြစ်ပီးသားကို ဆက်ပီးထပ်သွားဖို့အတွက် Continue တို့တွေကိုပါ သိထားရင်တော့ အသေးစိတ် အသုံးချနိုင်လာပါလိမ့်မယ်။
Route-map ကို Redistribution မှာအသုံးပြုထားပုံ
router ospf 100
redistribute rip route-map rip-to-ospf
route-map rip-to-ospf permit
match metric 1
set metric-type type1
ဒီနမူနာမှာ RIP Routes တွေကို OSPF အထဲကို Redistribution လုပ်တဲ့နေရာမှာ အသုံးပြုထားတာ ဖြစ်ပါတယ်။ လိုချင်တာက RIP route တွေအထဲက Metric 1 နဲ့ဝင်လာတဲ့ Routes တွေကို OSPF External Route Type 1 အဖြစ်နဲ့Redistribution လုပ်ဖို့ဖြစ်ပါတယ်။ ပုံမှန်ဆိုရင် OSPF က Redistributed လုပ်ထာတဲ့ External Routes တွေဟာ Type 2 အနေနဲ့Inject လုပ်ပါတယ်။ Type 2 ဆိုရင် Cost ကစားလို့အဆင်မပြေတဲ့အတွက် Route-map ရဲ့အကူအညီကိုသုံးပီး Type 1 အဖြစ်သို့ ပြောင်းလဲပေးလိုက်ခြင်း ဖြစ်ပါတယ်။
Route-map ကို Policy Based Routing မှာအသုံးပြုထားပုံ
access-list 1 permit ip 192.168.1.0 0.0.0.255
route-map Diff-path permit 10
match ip address 1
set ip next-hop 10.10.10.1
route-map Diff-path permit 20
Interface FastEthernet 0/1
ip policy route-map Diff-path
ဒီနမူနာကတော့ ACL 1 ကလာတဲ့ Traffic ဟာ Interface FE0/1 ကိုရောက်လာရင် Routing table ရဲ့ အဆုံးအဖြတ်အရ မသွားစေပဲ 10.10.10.1 ကနေသွားဖို့လမ်းကြောင်းပြောင်းပေးလိုက်တာဖြစ်ပါတယ်။ ကျန်တာတွေကိုတော့ ပုံမှန်အတိုင်းပဲသွားပေါ့။
Route-map ကို BGP configuration မှာအသုံးပြုထားပုံ
access-list 1 permit ip 192.168.1.0 0.0.0.255
route-map Only-This permit 10
match ip address 1
router bgp 100
neighbor 10.10.10.1 route-map Only-This out
ဒီနောက်ဆုံးဥပမာမှာတော့ BGP Route advertisement မှာ ကိုယ်ပေးချင်တဲ့ Network တစ်ခုကို ACL ရေး၊ Route-map နဲ့Match ပီးတော့ Neighbor advertisement မှာယူသုံးထားခြင်းဖြစ်ပါတယ်။ တစ်ဖက်က Neighbor ဟာ 192.168.1.0/24 ဆိုတဲ့ Route တစ်ခုကိုပဲ မြင်ရမှာဖြစ်ပါတယ်။
အခုလောက်ဆို Route-map ရေးဆွဲပီး လိုရာရောက်အောင်သွားလို့ရပီလို့ထင်ပါတယ်။
ကိုဖြိုး
Subscribe to:
Posts (Atom)