PBR با IP SLA و Track#
مقدمه#
Static route برای همهٔ sourceها یکسان تصمیم میگیرد. PBR میتواند ترافیک یک host را به next-hop دیگری بفرستد، حتی اگر routing table مقصد را جای دیگری برده باشد. خود PBR از up یا down بودن آن next-hop باخبر نیست. IP SLA همان همسایه را با icmp-echo میسنجد و Track هنگام قطع و وصل، down script و up script را اجرا میکند.
در این آزمایش static route با next-hop برابر 200.1.2.99 یک blackhole است؛ روی لینک چنین همسایهای وجود ندارد. تا وقتی policy روی ge3 نباشد، ping از n4 شکست میخورد. با PBR همان ترافیک از next-hop برابر 200.1.2.2 عبور میکند.
مرور سناریو#
access-list با نام PBR-LAN فقط n4 را انتخاب میکند. route-map مقدار next-hop را 200.1.2.2 میگذارد و روی جهت in اینترفیس ge3 اعمال میشود. IP SLA شمارهٔ ۱ هر پنج ثانیه به همین IP بستهٔ icmp-echo میفرستد. script با نام pbr-down سیاست را برمیدارد و pbr-up آن را برمیگرداند.
توضیح توپولوژی#

n4 با IP برابر 1.1.1.10 به ge3 روتر n1 وصل است. تنها لینک واقعی بین روترها ge1 با شبکهٔ 200.1.2.0/24 است. n5 با IP برابر 2.1.1.10 پشت n2 است. IP برابر 200.1.2.99 روی این لینک همسایهای ندارد و فقط blackhole مسیر عادی است.
پیشنیازها#
آشنایی با route-map و access-list
آشنایی با IP SLA و Track
امکان ذخیرهٔ script روی روتر با نام
script:pbr-downوscript:pbr-upسناریو بدون IP روی روتر بالا میآید؛ IP اینترفیسها در گامهای زیر وارد میشود
پیکربندی مرحلهبهمرحله#
PBR و IP SLA روی n1#
اول blackhole را بگذارید و یکبار ping را ناموفق ببینید. بعد policy را اعمال کنید. scriptها باید پیش از Track وجود داشته باشند.
روی روتر SooDar n1:
interface ge1
ip address 200.1.2.1/24
no shutdown
!
interface ge3
ip address 1.1.1.1/24
no shutdown
!
ip route 2.1.1.0/24 200.1.2.99
!
ip access-list PBR-LAN
permit 1.1.1.10/32 any
!
route-map PBR-LAN permit 10
match ip address PBR-LAN
set ip next-hop 200.1.2.2
!
interface ge3
ip policy route-map PBR-LAN
!
ip sla 1
icmp-echo 200.1.2.2
frequency 5
!
ip sla schedule 1 start-time now
!
track 1 ip sla 1 reachability upscript script:pbr-up downscript script:pbr-down
!
show track 1
show ip sla statistics 1
نوع عملیات SLA فقط هنگام ساخت عملیات نوشته میشود. show track 1 باید پس از چند دوره وضعیت up را نشان دهد.
متن script با نام pbr-down را با همین نام ذخیره کنید:
enable
conf t
!
interface ge3
no ip policy route-map PBR-LAN
این script وقتی Track به down میرود policy را از ge3 برمیدارد تا ترافیک دوباره تابع routing table شود.
متن script با نام pbr-up را با همین نام ذخیره کنید:
enable
conf t
!
interface ge3
ip policy route-map PBR-LAN
route برگشت و قطع لینک روی n2#
n2 باید شبکهٔ n4 را بشناسد، وگرنه جواب ping حتی با PBR درست هم برنمیگردد. shutdown و no shutdown روی ge1 محرک SLA است.
روی روتر SooDar n2:
interface ge1
ip address 200.1.2.2/24
no shutdown
!
interface ge3
ip address 2.1.1.1/24
no shutdown
!
ip route 1.1.1.0/24 200.1.2.1
!
interface ge1
shutdown
no shutdown
shutdown را بعد از up شدن Track اجرا کنید. چند ثانیه بعد Track باید down شود و خط ip policy route-map PBR-LAN از running-config اینترفیس ge3 حذف شود. سپس no shutdown را بزنید تا up script سیاست را برگرداند.
میزبانها#
روی میزبان n4:
ip route replace default via 1.1.1.1
ping -c 3 2.1.1.10
روی میزبان n5:
ip route replace default via 2.1.1.1
صحتسنجی و تست#
با route به
200.1.2.99و بدون policy، ping از n4 ناموفق است.بعد از
ip policy route-map PBR-LANهمان ping موفق است.show track 1پیش از قطع لینک وضعیت up دارد وshow ip sla statistics 1خروجی دارد.پس از
shutdownروی ge1 روتر n2، Track پایین میآید و running-config دیگرip policy route-map PBR-LANندارد.پس از
no shutdown، Track دوباره up میشود، policy برمیگردد و ping موفق است.
جمعبندی#
PBR تصمیم را از روی source میگیرد و برای همان ترافیک routing table را کنار میگذارد. ماندن این تصمیم به سلامت next-hop وابسته است. Track با script، policy را هنگام قطع برمیدارد و هنگام برگشت همسایه دوباره اعمال میکند.