<!--[if !supportLists]-->第五章 <!--[endif]-->ip路由
5.1. 查找路由條目
提問 在路由表中查找特定的路由條目
回答
Router>show ip route 172.25.100.15
Routing entry for 172.25.100.0/24
Known via "ospf 55", distance 110, metric 11, type inter area
Redistributing via ospf 55
Last update from 172.25.1.1 on Ethernet0, 2d12h ago
Routing Descriptor Blocks:
* 172.25.1.1, from 172.25.1.1, 2d12h ago, via Ethernet0
Route metric is 11, traffic share count is 1
注釋 路由器在路由表中查找路由條目的原則是最長匹配,所以例子中雖然查找的是172.25.200.15但是由于沒有這條特定的路由,顯示的結(jié)果是最長匹配的172.15.100.0/24。假如沒有任何一條匹配只能使用缺省路由,會出現(xiàn)下面信息
Router> show ip route 172.15.101.5
% Network not in table
注重的是這里都是無類路由,假如有類的就不一樣了
5.2. 查找特定類型的路由條目
提問 在路由表中查找相同類型的路由條目
回答
Router>show ip route static
192.168.1.0/32 is subnetted, 1 subnets
S 192.168.1.1 [1/0] via 172.25.1.4
還有一個更有用的命令
Router>show ip route summary
IP routing table name is Default-IP-Routing-Table(0)
Route Source Networks Subnets Overhead Memory (bytes)
connected 0 3 328 432
static 1 0 64 144
ospf 55 1 3 256 576
Intra-area: 1 Inter-area: 2 External-1: 1 External-2: 0
NSSA External-1: 0 NSSA External-2: 0
internal 2 2328
Total 4 6 648 3480
注釋 通過顯示路由表的統(tǒng)計情況來了解當前路由器的路由條目,也可以用來以后的比對
5.3. 各種掩碼的轉(zhuǎn)換
注釋 腳本略去,建議使用Boson提供的免費轉(zhuǎn)換工具
5.4. 使用靜態(tài)路由
提問 配置靜態(tài)路由
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip route 10.35.15.5 255.255.255.255 Ethernet0 (permanent選項可以使此條目一直存在于路由表中,而不管下一跳的可達性)
Router(config)#ip route 172.16.0.0 255.255.0.0 10.35.6.1 2 (permanent)
Router(config)#end
Router#
也可以給路由條目打上標簽
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip route 172.16.0.0 255.255.0.0 10.35.6.1 2 tag 36291
Router(config)#end
Router#
注釋 在類似以太網(wǎng)這種多路訪問的網(wǎng)絡中建議使用下一跳為地址而不是接口。正常情況下路由器對靜態(tài)路由的下一跳有效性的檢查是一分鐘,在12.3(10)以后增加了下面的命令可以對此時間進行調(diào)整Router(config)#ip route static adjust-time 30。對靜態(tài)路由打tag用于路由再發(fā)布時的區(qū)分
5.5. 浮動靜態(tài)路由
提問 當動態(tài)路由出問題的時候使用靜態(tài)路由作為備份
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip route 10.0.0.0 255.0.0.0 172.16.1.1 190 (下一跳也可以觸發(fā)一個撥號接口)
Router(config)#end
Router#
注釋 通過調(diào)整治理距離的方式來進行路由備份,不過要注重的是治理距離只適合在相同路由的情況下,路由條目的最長匹配是第一位的。另外在不同廠商設備互聯(lián)的時候,調(diào)整治理距離一定要設置合理。
5.6. 基于源地址的策略路由
提問 根據(jù)源地址的不同選擇不同的路徑
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list 1 permit 10.15.35.0 0.0.0.255
Router(config)#access-list 2 permit 10.15.36.0 0.0.0.255
Router(config)#interface Ethernet0
Router(config-if)#ip address 10.15.22.7 255.255.255.0
Router(config-if)#ip policy route-map Engineers
Router(config-if)#ip route-cache policy
Router(config-if)#exit
Router(config)#route-map Engineers permit 10
Router(config-route-map)#match ip address 1
Router(config-route-map)#set ip next-hop 10.15.27.1
Router(config-route-map)#exit
Router(config)#route-map Engineers permit 20
Router(config-route-map)#match ip address 2
Router(config-route-map)#set interface Ethernet1
Router(config-route-map)#end
Router#
注釋 缺省情況下route map的最后一句都是deny all,這樣不符合route map規(guī)則的數(shù)據(jù)包都會按照正常的路由表進行轉(zhuǎn)發(fā)。set ip next-hop verify-availability命令提供了對下一跳的驗證,不過是基于CDP的,所以假如使用此命令需要打開CDP,最好同時調(diào)整時長,究竟缺省是180秒。在使用策略路由時會在排錯時增加難度,因為缺省對于本路由器發(fā)出的數(shù)據(jù)包可以繞過route map這樣會造成錯覺。
5.7. 基于應用的策略路由
提問 根據(jù)不同的應用來選擇不同的路徑
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list 101 deny tcp 10.15.25.0 0.0.0.255 any eq www
Router(config)#access-list 101 permit tcp any any eq www
Router(config)#interface Ethernet0
Router(config-if)#ip address 10.15.22.7 255.255.255.0
Router(config-if)#ip policy route-map Websurfers
Router(config-if)#ip route-cache policy
Router(config-if)#exit
Router(config)#route-map Websurfers permit 10
Router(config-route-map)#match ip address 101
Router(config-route-map)#set ip next-hop 10.15.27.1
Router(config-route-map)#exit
Router(config)#route-map Websurfers permit 20
Router(config-route-map)#set ip default next-hop 10.15.26.1
Router(config-route-map)#end
Router#
對于本設備的發(fā)出的數(shù)據(jù)包也使用策略路由
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip local policy route-map dlswtraffic
Router(config)#access-list 103 permit tcp any any eq 2065
Router(config)#access-list 103 permit tcp any eq 2065 any
Router(config)#route-map dlswtraffic permit 10
Router(config-route-map)#match ip address 103
Router(config-route-map)#set ip next-hop 10.15.27.3
Router(config-route-map)#end
Router#
注釋 正常情況下假如所有定義的下一跳都不存在的情況下會使用路由表來查詢,假如路由表沒有此定義會使用缺省路由,這時候你可以使用set ip default next-hop來定義一個不同的缺省路由
5.8. 策略路由檢查
提問 檢查所應用的策略路由
回答
Router>show ip policy
Interface Route map
local dlswtraffic
Ethernet0 Websurfers
Serial0 High-PRiority
Router>show route-map
route-map High-priority, permit, sequence 10
Match clauses:
ip address (access-lists): 101
Set clauses:
ip next-hop 10.15.27.1
Policy routing matches: 0 packets, 0 bytes
route-map Websurfers, permit, sequence 10
Match clauses:
ip address (access-lists): 102
Set clauses:
ip next-hop 10.15.27.1
Policy routing matches: 0 packets, 0 bytes
route-map Websurfers, permit, sequence 20
Match clauses:
Set clauses:
ip default next-hop 10.15.26.1
Policy routing matches: 4 packets, 531 bytes
route-map dlswtraffic, permit, sequence 10
Match clauses:
ip address (access-lists): 103
Set clauses:
ip next-hop 10.15.27.3
Policy routing matches: 5 packets, 500 bytes
注釋 也可以通過show access-list 103命令看到更多的匹配信息
5.9. 改變治理距離
提問 調(diào)整學到的外部網(wǎng)絡的缺省治理距離
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router rip
Router(config-route)#network 192.168.15.0
Router(config-route)#distance 15 192.168.15.1 0.0.0.0
Router(config-route)#distance 200 192.168.15.0 0.0.0.255
Router(config-route)#distance 255
Router(config-route)#end
Router#
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router eigrp 111
Router(config-route)#network 192.168.16.0
Router(config-route)#distance eigrp 55 200
Router(config-route)#end
Router#
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router ospf 66
Router(config-route)#distance ospf inter-area 115
Router(config-route)#distance ospf intra-area 105
Router(config-route)#distance ospf external 125
Router(config-route)#end
Router#
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router bgp 65520
Router(config-route)#distance bgp 115 220 50
Router(config-route)#end
Router#
注釋 治理距離只是針對自己的,通過調(diào)整這些外部路由的治理距離來調(diào)整自己路由表的結(jié)構(gòu)
5.10. 相同代價值的多路徑路由
提問 限制路由器到達同一目的地的路徑數(shù)目
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router ospf 65510
Router(config-router)#maximum-paths 2
Router(config-router)#end
Router#
IOS 12.2T以后對BGP增加了下面的命令
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router bgp 65511
Router(config-router)#maximum-paths 2
Router(config-router)#maximum-paths ibgp 3
Router(config-router)#end
Router#
注釋 缺省情況下靜態(tài)路由可以有6條冗余,BGP只有一條最佳路徑,其他路由協(xié)議為4條。使用上述命令在12.3(2)T之前可以調(diào)整最大為6條,12.3(2)T之后可以最大為16條
5.11. 配置靜態(tài)路由的追蹤
提問 在某個端口當?shù)舻惹闆r下才啟用特定的靜態(tài)路由
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#track 10 interface Serial0/0 line-protocol
Router(config-track)#delay down 5 up 30
Router(config-track)#exit
Router(config)#ip route 192.168.10.0 255.255.255.0 10.3.12.26 track 10
Router(config)#end
Router#
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#track 11 ip route 10.2.95.0 255.255.255.0 reachability
Router(config-track)#delay down 5 up 5
Router(config-track)#exit
Router(config)#ip route 0.0.0.0 0.0.0.0 10.3.12.26 track 11
Router(config)#end
Router#
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#track 12 list boolean and
Router(config-track)#object 10 not
Router(config-track)#object 11
Router(config-track)#exit
Router(config)#ip route 192.168.13.0 255.255.255.0 10.3.12.26 track 12
Router(config)#end
Router#
注釋 從12.3T和12.4以后開始IOS提供了一種track的特性,可以定義跟蹤不同的狀態(tài)。可以使用show track命令來查看跟蹤的狀態(tài)。跟蹤狀態(tài)也可以進行組合,使用and or邏輯運算或者百分比,權(quán)重等增加靈活度,很好玩,不過別把自己繞進去了
<!--[if !supportLists]-->5.12. <!--[endif]-->路由表變動統(tǒng)計
提問 通過路由表變動的統(tǒng)計來衡量路由表的穩(wěn)定性
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip route profile
Router(config)#end
Router#
Router#show ip route profile
IP routing table change statistics:
Frequency of changes in a 5 second sampling interval
-------------------------------------------------------------
Change/ Fwd-path Prefix Nexthop Pathcount Prefix
interval change add change change refresh
-------------------------------------------------------------
0 327 327 335 335 331
1 4 4 0 0 1
2 2 2 0 0 1
3 0 0 0 0 0
4 1 1 0 0 1
…….
Router#
注釋 12.0就有的一個老命令,但估計很少有人使用,這個統(tǒng)計也是夠難懂的,簡單的說最理想的情況就是第一行數(shù)目很大,其他行都是0。統(tǒng)計方法是每3秒一個間隔,在這個間隔內(nèi)假如有1次路由表變化就累計一次,多次變化就累計多次。但這個命令還是有一些缺點,一就是不能清掉老的數(shù)據(jù),必須通過no ip route profile,然后ip route profile 來清除,還有就是這里只是統(tǒng)計結(jié)果,沒有辦法確定是哪條路由出的問題
新聞熱點
疑難解答