今天,這個專題應用下route-map,在這個之前,有很多內容需要掌握,不是簡單的制定一個路由圖就可以了。
--------
本次專題理論的東西居多,但是不是復制黏貼,是加上自己的理解思想。
第一個要解決的問題:路由策略和策略路由有什么區別?到底為何物?
先說策略路由,影響的不是路由表的生產,策略路由又叫PBR,是Policy-based routing策略基於路由,那么這個路由表存在是已經存在而且穩定的。
用TCP/IP路由技術一書的表述就是:策略路由就是一個復雜的靜態路由。
總結:策略路由是一個基於路由表的影響特定數據包的轉發的一個方式,這個方式是應用於接口下的。
例如:讓192.168.1.1的數據包都從s0/1走,讓192.168.1.2的數據包都從s0/1走
access-list 1 permit host 192.168.1.1
access-list 2 permit host 192.168.1.2
route-map ccie permit 10
match ip address 1
set interface s0/1
router0map ccie permit 20
match ip address 2
set interface s0/2
int fa1/0
ip policy route-map ccie
注意:set interface s0/1 與 set default interface s0/1
set ip next-hip 與 set default ip next-hop 是有區別的,前者不查找路由直接進行了轉發,而后者是先查找路由表,查找不到精確的路由表時才會轉發到下一跳接口或IP。
注意:PBR只有進方向方向,一定要注意!PBR優先於路由表查找
注意:策略路由PBR默認只對穿越流量生效,
(config)#(ip local policy route-map ccie) //這樣寫是策略理由也影響本地產生的流量
思科利用策略路由最常用的方式是丟棄報文:
set interface null 0 (這樣比acl deny 減少很多開銷)
int null 0
no ip unreachable //為了防止丟棄報文返回大量的不可達信息
路由策略開始了,路由策略說白了就是影響路由表最終生成的結果的,比如我可以匹配ACL之后修改OSPF網絡中的COST,達到改變路由表的效果。我也可以匹配ACL 一些源路由信息,然后修改下一跳的出口或IP
路由策略一般與BGP結合使用的比較常見,這里要注意一下:
match interface s0/1 //不是判斷s0/1接口Up與down的,他是用於匹配“指定下一跳接口是否是s0/1的路由“
2個概念性問題先說到這里,下面說route-map 路由圖
route-map 10 是默認的
route-map 10 route-map 20 這樣是按匹配成功與否順序執行的,對於route-map 的命名一定要注意!!
route-map isp1 permit 10
route-map isp12 permit 10
route-map isp permit 10
肯定是先執行isp,如果匹配失敗執行isp1 ,如果失敗再執行isp12。
注意:對於route-map有一個隱含的默認拒絕,但是對於拒絕行為依賴於這個路由圖是應用於 策略路由還是應用於 重新分配(重分布),如果是IP數數據包匹配策略路由沒有成功,是會重新查找路由表的,對於重新分配則,是對於路由來說的,它是不會被重分布的。
注意:對於match interface s0/1 這個配置一般和 match ip route-source 一起使用,用於匹配這個路由信息的下一跳接口是否是s0/1!
set ip next-hop verify-availability 利用CDP表驗證下一跳IP是否可達,來判斷是否繼續策略路由或者切換線路
route-map的match可以對標准ACL匹配,也可以對擴展ACL匹配
access-list 1 permit host 172.16.1.1
match ip address 1
access-list 100 permit tcp 172.16.1.0 0.0.0.255 any eq ftp
access-list 100 permit tcp 172.16.1.0 0.0.0.255 eq ftp any //一樣的
match ip adress 100
match length 1000 1600 //匹配三層的數據包字節大小范圍