許多讀者朋友錯(cuò)誤地認(rèn)為靜態(tài)路由很簡(jiǎn)單,就一個(gè)命令,沒什么好學(xué)的。其實(shí)這是因?yàn)樗麄兏緵]有深入理解靜態(tài)路由的工作原理,對(duì)于僅有一條靜態(tài)路由配置命令中的各參數(shù)和選項(xiàng)的含義和使用方法也是一知半解,結(jié)果造成的是遇到一些靜態(tài)路由故障時(shí)無法進(jìn)行分析,而對(duì)于一些靜態(tài)路由配置也無法區(qū)分是否正確。本文將全面介紹靜態(tài)路由的各主要特點(diǎn),以及Cisco設(shè)備中的靜態(tài)路由配置命令詳解。
靜態(tài)路由的主要特點(diǎn)
其實(shí)就因?yàn)殪o態(tài)路由的配置比較簡(jiǎn)單,決定了靜態(tài)路由也包含了許多特點(diǎn)??梢哉f靜態(tài)路由的配置全由管理員自己說了算,想怎么配就怎么配,只要符合靜態(tài)路由配置命令格式即可,因?yàn)殪o態(tài)路由的算法全在管理員人思想和對(duì)靜態(tài)路由知識(shí)的認(rèn)識(shí)中,并不是由路由器IOS系統(tǒng)來完成的。至于所配置的靜態(tài)路由是否合適,是否能達(dá)到你預(yù)期的目的那別當(dāng)別論。在配置和應(yīng)用靜態(tài)路由時(shí),我們應(yīng)當(dāng)全面地了解靜態(tài)路由的以下幾個(gè)主要特點(diǎn),否則你可能在遇到故障時(shí)總也想不通為什么:
手動(dòng)配置
靜態(tài)路由需要管理員根據(jù)實(shí)際需要一條條自己手動(dòng)配置,路由器不會(huì)自動(dòng)生成所需的靜態(tài)路由的。靜態(tài)路由中包括目標(biāo)節(jié)點(diǎn)或目標(biāo)網(wǎng)絡(luò)的IP地址,還可以包括下一跳IP地址(通常是下一個(gè)路由器與本地路由器連接的接口IP地址),以及在本路由器上使用該靜態(tài)路由時(shí)的數(shù)據(jù)包出接口等。
路由路徑相對(duì)固定
因?yàn)殪o態(tài)路由是手動(dòng)配置的,靜態(tài)的,所以每個(gè)配置的靜態(tài)路由在本地路由器上的路徑基本上是不變的,除非由管理員自己修改。另外,當(dāng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)或鏈路的狀態(tài)發(fā)生變化時(shí),這些靜態(tài)路由也不能自動(dòng)修改,需要網(wǎng)絡(luò)管理員需要手工去修改路由表中相關(guān)的靜態(tài)路由信息。
永久存在
也因?yàn)殪o態(tài)路由是由管理員手工創(chuàng)建的,所以一旦創(chuàng)建完成,它會(huì)永久在路由表中存在的,除非管理員自己刪除了它,或者靜態(tài)路由中指定的出接口關(guān)閉,或者下一跳IP地址不可達(dá)。
不可通告性
靜態(tài)路由信息在默認(rèn)情況下是私有的,不會(huì)通告給其它路由器,也就是當(dāng)在一個(gè)路由器上配置了某條靜態(tài)路由時(shí),它不會(huì)被通告到網(wǎng)絡(luò)中相連的其它路由器上。但網(wǎng)絡(luò)管理員還是可以通過重發(fā)布靜態(tài)路由為其它動(dòng)態(tài)路由,使得網(wǎng)絡(luò)中其它路由器也可獲此靜態(tài)路由。
單向性
靜態(tài)路由是具有單向性的,也就是它僅為數(shù)據(jù)提供沿著下一跳的方向進(jìn)行路由,不提供反向路由。所以如果你想要使源節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)或網(wǎng)絡(luò)進(jìn)行雙向通信,就必須同時(shí)配置回程靜態(tài)路由。這在與讀者朋友的交流中經(jīng)常發(fā)現(xiàn)這樣的問題,就是明明配置了到達(dá)某節(jié)點(diǎn)的靜態(tài)路由,可還是ping不通,其中一個(gè)重要原因就是沒有配置回程靜態(tài)路由。
如圖1所示,如果想要使得PC1(PC1已配置了A節(jié)點(diǎn)的IP地址10.16.1.2/24作為網(wǎng)關(guān)地址)能夠ping通PC2,則必須同時(shí)配置以下兩條靜態(tài)路由,具體配置方法在此不作介紹。
靜態(tài)路由單向性示例
① :在R1路由器上配置了到達(dá)PC2的正向靜態(tài)路由(以PC2 10.16.3.2/24作為目標(biāo)節(jié)點(diǎn),以C節(jié)點(diǎn)IP地址10.16.2.2/24作為下一跳地址);
② :在R2路由器上配置到達(dá)PC1的回程靜態(tài)路由(以PC1 10.16.1.1/24作為目標(biāo)節(jié)點(diǎn),以B節(jié)點(diǎn)IP地址10.16.2.1/24作為下一跳地址),以提供Ping過程回程ICMP消息的路由路徑。(ICMP提供網(wǎng)絡(luò)是否可用、數(shù)據(jù)是否可達(dá)信息,并不傳輸數(shù)據(jù)。)
接力性
如果某條靜態(tài)路由中間經(jīng)過的跳數(shù)大于1(也就是整條路由路徑經(jīng)歷了三個(gè)或以上路由器結(jié)點(diǎn)),則必須在除最后一個(gè)路由器外的其它路由器上依次配置到達(dá)相同目標(biāo)節(jié)點(diǎn)或目標(biāo)網(wǎng)絡(luò)的靜態(tài)路由,這就是靜態(tài)路由的“接力”特性,否則僅在源路由器上配置這么靜態(tài)路由還是不可達(dá)的。
就像你要從長(zhǎng)沙到北京去,假設(shè)中間要途經(jīng)的站點(diǎn)包括:武漢-鄭州-石家莊,可人家只告訴你目的地是北京,以及從長(zhǎng)沙出發(fā)的下一站是武漢。對(duì)于一個(gè)沒有多少旅游經(jīng)驗(yàn)的人來說,你是不可能知道到了武漢后又該如何走,必須有人告訴你到了武漢后再怎么走,到了鄭州后又該怎么走,……。這就是“接力性”。
如圖2所示是一個(gè)三個(gè)路由器串聯(lián)的簡(jiǎn)單的網(wǎng)絡(luò),各個(gè)路由器節(jié)點(diǎn)及PC機(jī)的IP地址均在圖中進(jìn)行了標(biāo)注,PC1已配置好指向R1的A節(jié)點(diǎn)地址的網(wǎng)關(guān),現(xiàn)假設(shè)要使PC1能ping得通PC2,則需要在各路由器上配置以下四條靜態(tài)路由(兩條正向,兩條回程):
圖2 靜態(tài)路由接力性示例
① :在R1路由器上配置了到達(dá)PC2的正向靜態(tài)路由(以PC2 10.16.4.0/24作為目標(biāo)節(jié)點(diǎn),以C節(jié)點(diǎn)IP地址10.16.2.2/24作為下一跳地址);
② :在R2路由器上配置了到達(dá)PC2的正向接力靜態(tài)路由(同樣以PC2 10.16.4.0/24作為目標(biāo)節(jié)點(diǎn),以E節(jié)點(diǎn)IP地址10.16.3.2/24作為下一跳地址);
③ :在R3路由器上配置到達(dá)PC1的回程靜態(tài)路由(以PC1 10.16.1.1/24作為目標(biāo)節(jié)點(diǎn),以D節(jié)點(diǎn)IP地址10.16.3.1/24作為下一跳地址),以提供Ping通信回程ICMP消息的路由路徑。
④ :在R2路由器上配置到達(dá)PC1的回程接力靜態(tài)路由(同樣以PC1 10.16.1.1/24作為目標(biāo)節(jié)點(diǎn)地址,以B節(jié)點(diǎn)IP地址10.16.2.1/24作為下一跳地址),以提供Ping通信回程ICMP消息的接力路由路徑。
【經(jīng)驗(yàn)之談】路由器各端口上所直接連接的各個(gè)網(wǎng)絡(luò)都是直接互通的,因?yàn)樗鼈冎g默認(rèn)就有直連路由,無需另外配置其它路由。也即連接在同一路由器上的各網(wǎng)絡(luò)之間的跳數(shù)為0。如圖2中R1路由器上連接的10.16.1.0/24和10.16.2.0/24網(wǎng)絡(luò),R2路由器上連接的10.16.2.0/24和10.16.3.0/24網(wǎng)絡(luò),R3路由器上連接的10.16.3.0/24和10.16.4.0/24網(wǎng)絡(luò)都是直接互通的。也正因如此,在圖7-3中,PC1要ping通PC2,只需要配置圖中所示的正、反向各兩條靜態(tài)路由,而不用配置從R2到R3路由器,以及從R2到R1路由器的靜態(tài)路由。
遞歸性
許多讀者一直存在一個(gè)錯(cuò)誤的認(rèn)識(shí),那就是認(rèn)為靜態(tài)路由的“下一跳”必須是與本地路由直接連接的下一個(gè)路由器接口,其實(shí)這是片面的。前面說了,靜態(tài)路由沒有建立鄰接關(guān)系的Hello包,靜態(tài)路由也不會(huì)被通告鄰居路由器,所以它的下一跳是路徑中其它路由器中的任一一個(gè)接口,只是能保證到達(dá)下一跳就行了。這就是靜態(tài)路由的“遞歸性”。
如圖2所示的網(wǎng)絡(luò)中,如果要在R1上配置一條到達(dá)R3所連接的10.16.4.0/24靜態(tài)路由。按照正常思維的話,其下一跳應(yīng)該是R2的C接口。不過,其實(shí)也可以是R2的D接口,或者R3的E接口,或者F接口。只是通過其它路由能到達(dá)這些接口,則這條靜態(tài)路由就是成功的。
優(yōu)先級(jí)較高
因?yàn)殪o態(tài)路由明確指出了到達(dá)目標(biāo)網(wǎng)絡(luò),或者目標(biāo)節(jié)點(diǎn)的路由路徑,所以在所有同目的地址的路由中,靜態(tài)路由的優(yōu)先級(jí)是除“直連路由”外最高的,也就是如果配置了到達(dá)某一網(wǎng)絡(luò)或者某一節(jié)點(diǎn)的靜態(tài)路由,則優(yōu)先采用這條靜態(tài)路由,只有當(dāng)這條靜態(tài)路由不可用時(shí)才會(huì)考慮選擇其它的路由。
適用小型網(wǎng)絡(luò)
靜態(tài)路由一般適用于比較簡(jiǎn)單的小型網(wǎng)絡(luò)環(huán)境,因?yàn)樵谶@樣的環(huán)境中,網(wǎng)絡(luò)管理員易于清楚地了解網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),便于設(shè)置正確的路由信息。同時(shí)小型網(wǎng)絡(luò)所需配置的靜態(tài)路由條目不會(huì)太多。如果網(wǎng)絡(luò)規(guī)模較大,拓?fù)浣Y(jié)構(gòu)比較復(fù)雜,則不宜采用靜態(tài)路由,因?yàn)檫@樣的配置工作量實(shí)在太大,一般要用于本章后面或者本書后面章介紹的各動(dòng)態(tài)路由協(xié)議實(shí)現(xiàn)動(dòng)態(tài)路由。
靜態(tài)路由的缺點(diǎn)在于:它們需要在路由器上手動(dòng)配置,如果網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,或者跳數(shù)較多的話,僅通過靜態(tài)路由來實(shí)現(xiàn)路由,則要配置的靜態(tài)路由可能非常多,而且還可能造成路由環(huán)路;而且如果網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生改變,路由器上的靜態(tài)路由必須跟著改變,否則原來配置的靜態(tài)路由將可能失效。
靜態(tài)路由配置命令詳解
當(dāng)Cisco IOS系統(tǒng)不能建立到達(dá)某一目標(biāo)網(wǎng)絡(luò)的動(dòng)態(tài)路由時(shí),你就需要建立對(duì)應(yīng)的靜態(tài)路由。靜態(tài)路由配置很簡(jiǎn)單,就一條命令,但在靜態(tài)路由配置中最關(guān)鍵的就是7.1.1節(jié)介紹的理解靜態(tài)路由特性,以及靜態(tài)路由配置命令中各可選項(xiàng)和參數(shù)的真正含義,否則很可能配置的靜態(tài)路由不正確,或者雖然已正確配置了某條靜態(tài)路由,仍不能達(dá)到你的期望。
在Cisco路由器中,靜態(tài)路由的配置很簡(jiǎn)單,僅需一條如下全局配置命令:
ip route vrf vrf-name prefix mask {ip-address | interface-type interface-number [ip-address]} [dhcp] [distance] [namenext-hop-name] [permanent | track number] [tag tag]
在Cisco路由器中使用的是ip route命令(在H3C路由器中的靜態(tài)路由配置命令為ip static-route命令),其包含了許多參數(shù)選項(xiàng),而且有些參數(shù)選項(xiàng)的具體含義一直是許多讀者所模糊的。下面是這些參數(shù)選項(xiàng)進(jìn)行具體解釋。
vrf-name:該靜態(tài)路由所作用的VRF(VPN路由轉(zhuǎn)發(fā))示例名稱,也就是為對(duì)應(yīng)的VPN配置靜態(tài)路由。僅在為特定的VRF示例配置靜態(tài)路由時(shí)才需要指定本參數(shù)。
prefix:靜態(tài)路由中目標(biāo)主機(jī)或目標(biāo)網(wǎng)絡(luò)的IP地址前綴,也就是靜態(tài)路由的目的地址。如果是目標(biāo)主機(jī)或節(jié)點(diǎn),則填上對(duì)應(yīng)主機(jī)或節(jié)點(diǎn)的IP地址,如果是目標(biāo)網(wǎng)絡(luò)或子網(wǎng),則是對(duì)應(yīng)網(wǎng)絡(luò)或子網(wǎng)的網(wǎng)絡(luò)地址。
mask:靜態(tài)路由目的地址的掩碼(僅代表路由目標(biāo)的主機(jī)范圍,不能認(rèn)為等同于“子網(wǎng)掩碼”),不能全以IP地址前綴長(zhǎng)度表示。如果目的地址是主機(jī)或節(jié)點(diǎn)IP地址,則其掩碼必須是255.255.255.255,而不是所在網(wǎng)段的子網(wǎng)掩碼,代表靜態(tài)路由的目標(biāo)僅一臺(tái)主機(jī),而不是一個(gè)網(wǎng)絡(luò)或子網(wǎng)。
ip-address:與下面的“interface-type interface-number”參數(shù)一起是二選一參數(shù),指定靜態(tài)路由到達(dá)目標(biāo)網(wǎng)絡(luò)的下一跳IP地址(也就是下一個(gè)路由器與本地路由器連接的接口IP地址)。
interface-type interface-number:與上面的“ip-address”參數(shù)一起是二選一參數(shù),指定靜態(tài)路由在本地路由器上的出接口(特別注意:這里不是下一跳接口,而是靜態(tài)路由在本地路由器上的出接口)的接口類型和接口號(hào)。
ip-address:這個(gè)參數(shù)與上面“interface-type interface-number”參數(shù)是一起的,是個(gè)可選項(xiàng)。它與前一個(gè)“ip-address”參數(shù)選項(xiàng)是一樣的,也是指下一跳的IP地址。
dhcp:可選項(xiàng),啟用DHCP服務(wù)器為默認(rèn)網(wǎng)關(guān)(也就是靜態(tài)路由中的下一跳)分配IP地址。當(dāng)你指定一個(gè)DHCP服務(wù)器來下一跳自動(dòng)分配IP地址時(shí),你可能還需要指定上面介紹的“出接口”(interface-type interface-number)和下面將要介紹的“管理距離”(distance)參數(shù),但一定沒有指定下一跳IP地址。
distance:可選參數(shù),指定靜態(tài)路由的管理距離,在0~255之間(如果靜態(tài)路由的下一跳IP地址是本地路由器的出接口的IP地址,則其管理距離為0),靜態(tài)路由默認(rèn)的管理距離為1,無需指定,如果為255則表示該路由不可達(dá)。它主要用于在本章后面將要介紹的浮動(dòng)靜態(tài)路由中使用。
【注意】管理距離(administrative distance)是指一種路由協(xié)議(包括像RIP、OSPF、IS-IS、EIGRP、BGP等動(dòng)態(tài)路由協(xié)議)的路由可信度。每一種路由協(xié)議按可靠性從高到低,依次分配一個(gè)信任等級(jí)(值越小,等級(jí)越高),這個(gè)信任等級(jí)就叫管理距離。靜態(tài)路由的默認(rèn)管理距離為1,是所有路由管理距離最小的,也即靜態(tài)路由的可靠性最高。如果你為某條靜態(tài)路由指定了非默認(rèn)的管理距離,則你正標(biāo)記該靜態(tài)路由可以被到達(dá)相同目標(biāo)網(wǎng)絡(luò)的動(dòng)態(tài)路由所替代。例如,EIGRP動(dòng)態(tài)路由的默認(rèn)管理距離為100,如果你配置了一條靜態(tài)路由的管理距離大于100,則該條靜態(tài)路由將被到達(dá)同一目標(biāo)網(wǎng)絡(luò)的EIGRP動(dòng)態(tài)路由所替代。
l name next-hop-name:可選參數(shù),為該靜態(tài)路由指定一個(gè)下一跳名稱,一般無需配置。但通過這個(gè)關(guān)鍵字和參數(shù)組合允許你在運(yùn)行配置中以名稱來關(guān)聯(lián)靜態(tài)路由。如果你有幾條靜態(tài)路由,你可以通過以它們的不同用途描述來作為這些靜態(tài)路由的名稱,以便更容易區(qū)分它們。
permanent:可選項(xiàng),指定該靜態(tài)路由在路由表中永久存在,即使對(duì)應(yīng)接口處于關(guān)閉狀態(tài)。
track number:可選參數(shù),指定一個(gè)可用于追蹤對(duì)應(yīng)靜態(tài)路由的號(hào)碼(代表一個(gè)對(duì)象,需事先通過track object-numberinterface type numberip routing命令配置要跟蹤的對(duì)象號(hào)和對(duì)應(yīng)接口的IP路由),取值范圍為1~500。這個(gè)關(guān)鍵字和參數(shù)組合指定對(duì)應(yīng)靜態(tài)路由僅當(dāng)配置跟蹤的對(duì)像呈激活狀態(tài)時(shí)才安裝。
tag tag:(可選)指定一個(gè)用于通過路由映射控制路由重發(fā)布的匹配標(biāo)記值(可是一個(gè)字符串),以便路由映射時(shí)調(diào)用。
【注意】從以上靜態(tài)路由配置命令參數(shù)的介紹可知,凡是在靜態(tài)路由中出現(xiàn)了接口,則該接口一定是指本地路由器上的出接口,而不是許多讀者誤認(rèn)為的下一跳接口,下一跳始終間以IP地址表示的。另外,在一些低檔路由器中,如Cisco SOHO,800系列路由器只支持基本的靜態(tài)路由,上述可選項(xiàng)和可選參數(shù)可能并不支持??捎胣o格式的以上命令刪除對(duì)應(yīng)的靜態(tài)路由,也可以通過在特權(quán)模式下執(zhí)行show running-configuration | include ip route命令查看配置文件中配置的所有靜態(tài)路由。
【示例1】以下示例顯示了如何把到達(dá)172.31.0.0網(wǎng)絡(luò)的數(shù)據(jù)包在IP地址為72.31.6.6(此為下一跳IP地址)的路由器上被路由。
ip route 172.31.0.0 255.255.0.0 172.31.6.6
【示例2】以下示例顯示了如何為靜態(tài)路由配置管理距離110。在本示例中把到達(dá)10.0.0.0網(wǎng)絡(luò)的包將在IP地址為172.31.3.4(此為下一跳IP地址)的路由器上被路由,并配置管理距離為110。這樣一來,如果沒有管理距離小于110的動(dòng)態(tài)路由情況下,該靜態(tài)路由將有效。
ip route 10.0.0.0 255.0.0.0 172.31.3.4 110
【示例3】以下示例顯示如何把到達(dá)192.168.1.0網(wǎng)絡(luò)的包通過本地由器Ethernet 0接口(為靜態(tài)路由的出接口),再經(jīng)過下一跳IP地址10.1.2.3被路由出去。但此時(shí)如果Ethernet 0接口關(guān)閉,則該靜態(tài)路由將從路由表中被刪除,直到出接口Ethernet 0重新恢復(fù)。
ip route 192.168.1.0 255.255.255.0 Ethernet 0 10.1.2.3
【示例4】以下示例顯示僅在所跟蹤的對(duì)象123狀態(tài)為激活的情況下安裝以Ethernet 0/1為出接口,IP地址為 10.1.1.242作為下一跳的默認(rèn)靜態(tài)路由。有關(guān)默認(rèn)靜態(tài)路由將在本章后面具體介紹。
ip route 0.0.0.0 0.0.0.0 Ethernet 0/1 10.1.1.242 track 123
【示例5】以下示例顯示如何通過dhcp關(guān)鍵字分別使兩條配置了出接口ethernet1和ethernet2接口的靜態(tài)路由自動(dòng)從DHCP服務(wù)器中獲得下一跳IP地址(掩碼均為255.255.255.255)。
ip route 10.165.200.225 255.255.255.255 ethernet1 dhcp
ip route 10.165.200.226 255.255.255.255 ethernet2 dhcp 20
【示例6】以下示例顯示如何通過name next-hop-name 關(guān)鍵字和參數(shù)對(duì)對(duì)靜態(tài)路由進(jìn)行標(biāo)識(shí),以便區(qū)分每條靜態(tài)路由。
ip route 172.0.0.0 255.0.0.0 10.0.0.1 name Seattle2Detroit
原文鏈接:http://blog.csdn.net/sky220104/article/details/13510557