實驗一 使用路由對映表過濾路由更新
實驗步驟及要求:
1.配置各台路由器的ip位址。
2.配置ospf與rip v2的協議,並關閉rip v2的自動彙總。
3.在r2上配置路由重分發
r2(config)#router ospf 1
r2(config-router)#redistribute rip metric 200 subnets
r2(config-router)#exit
r2(config)#router rip
r2(config-router)#redistribute ospf 1 metric 10
r2(config-router)#exit
4.檢視r1和r3的路由表,檢視所有路由是否都學習到。
5.根據拓撲的需要,在r2上配置路由對映表進行路由過濾,以過濾ospf的路由。
(1)建立訪問控制列表
r2(config)#access-list 1 permit 172.16.0.0 0.0.0.255
r2(config)#access-list 1 permit 172.16.1.0 0.0.0.255
r2(config)#access-list 2 permit 172.16.2.0 0.0.0.255
(2)建立路由對映表
r2(config)#route-map ospf_to_rip deny 10
建立route-map並設定其名稱為ospf_to_rip。其deny 10意思是指,如果下述match命令後面指定的條件成立的話,則其動作為拒絕。10為序列號。
類似於acl的permit。而且route-map跟acl相同的是,在尾部也有隱藏的預設拒絕所有的條件。
r2(config-route-map)#match ip address 1
匹配acl 1所指定的網路。
r2(config-route-map)#exit
r2(config)#route-map ospf_to_rip permit 20
r2(config-route-map)#match ip address 2
r2(config-route-map)#set metric 5
匹配acl 2的路由條目度量值將被修改為5
r2(config-route-map)#exit
r2(config)#route-map ospf_to_rip permit 30
再次建立動作關鍵字為permit 30的route-map,並且不追加任何條件語句。即匹配所有的條件。
r2(config-route-map)#exit
決定是否重分發路由時,根據route-map命令包含的是deny還是permit,而不是命令route-map指定的acl包含的是deny還是permit。acl只用於匹配路由。
(3)重分發過程中引用路由對映表
r2(config)#router rip
r2(config-router)#redistribute ospf 1 metric 10 route-map ospf_to_rip
在路由重佈時,引用剛才配置route-map對重發布的路由進行過濾。
r2(config-router)#exit
6.檢視r3的路由
通過配置路由過濾後,r3將不能夠學習到被拒絕的兩條路由。
7.配置r2過濾rip的路由
具體要求如下:
(1)重分發到ospf的路由中,過濾192.168.2.0和192.168.3.0兩個路由條目。
(2)允許192.168.0.0網段的路由重分發到ospf中,度量值為300,度量值型別為1類。
(3)允許其它所有網段的路由重分發到ospf中,度量值為500。
8.檢視r1的路由表
實驗二 使用路由標記過濾路由更新
6.用路由標記的過濾,分為兩個步驟。
(1)伺服器端路由器配置標記。
(2)客戶端路由器根據標記進行過濾。
7.在伺服器端r2上配置分配路由標記:
r2(config)#access-list 1 permit 192.168.0.0 0.0.0.255
r2(config)#access-list 1 permit 192.168.2.0 0.0.0.255
使用acl標識出需要設定標記的路由。
r2(config)#route-map set_tag permit 10
r2(config-route-map)#match ip address 1
r2(config-route-map)#set tag 1
為匹配acl 1的路由條目,分配標記為1。
r2(config-route-map)#exit
r2(config)#route-map set_tag permit 20
r2(config-route-map)#exit
r2(config)#router ospf 1
r2(config-router)#redistribute eigrp 10 subnets route-map set_tag
在路由重分發時呼叫路由對映表,進行標記的嵌入。
8.在客戶端r3上,配置route-map通過標記來進行路由過濾:
r3(config)#route-map match_tag deny 10
r3(config-route-map)#match tag 1
對於標記為1的路由,進行過濾處理。
r3(config-route-map)#exit
r3(config)#route-map match_tag permit 20
r3(config-route-map)#exit
其它的路由無條件**。
r3(config)#router rip
r3(config-router)#redistribute ospf 1 metric 10 route-map match_tag
在路由重發布時呼叫路由對映表進行了過濾。
9.檢視r4的路由表,確認路由是否過濾。
總結:路由標記可以簡單的實現路由預先分類,客戶端僅需要簡單匹配標記而不需要編寫大量的acl來標識路由。通過此配置,可以有效的維護網路的路由更新。
實現自己的「命令對映表」 下
如果我們要根據不同的 命令 來執行不同型別的函式要怎麼辦呢?這裡的不同指的是執行函式的返回值可能不同,引數列表可能不同。好,我們下面就開始討論這個問題。可能這篇比上篇會難一點,拿出你程式設計師的毅力來。想想搞定了以後,我們就可以在程式中使用這種手法,可以明白mfc的訊息對映表機制 其實這裡非常類似於...
實現自己的「命令對映表」 下
如果我們要根據不同的 命令 來執行不同型別的函式要怎麼辦呢?這裡的不同指的是執行函式的返回值可能不同,引數列表可能不同。好,我們下面就開始討論這個問題。可能這篇比上篇會難一點,拿出你程式設計師的毅力來。想想搞定了以後,我們就可以在程式中使用這種手法,可以明白mfc的訊息對映表機制 其實這裡非常類似於...
ASCII 與 UNICODE 字元對映表
通用 mfc 資料型別 對映到 ascii 對映到 unicode 注釋 tchar char wchar t tchar 是乙個對映巨集,當定義 unicode 時,該資料型別對映到 wchar t,如果沒有定義 unicode,那麼它對映到 char。t 或 text char 常量字串 wch...