學會使用distribute list過濾路由更新

2021-09-17 07:55:17 字數 3363 閱讀 9004

將介面配置為被動介面會完全阻止它傳送路由更新,但有時候需要在路由更新中只抑制某些特定路由不被傳送或接收。

這種阻止可能會被需要用來執行某個基於一些外部因素(例如鏈路成本、管理許可權,或者安全考慮)的路由策略。

在有些情況下,我們可能想要通過阻止接入路由器接收完整的(而且可能是非常大的)核心路由表來減少不必要的開銷。

基於這些原因,現在假定不想讓路由器r1從r2學到去往網路2.2.2.0的路由如圖1所示。

圖1 如果過濾2.2.2.0的路由條目?

這時,可以用「distribute-list」命令來選擇路由器想要為之傳送或接收更新資訊的路由。

通過引用乙個訪問控制列表,「distribute-list」命令建立了乙個路由過濾器。

路由過濾器是一組精確控制路由器在路由更新中傳送或者接收哪些路由的規則。

該命令可用於所有的ip路由選擇協議。

當應用於進入的路由更新時,配置乙個路由過濾器的命令句法如下:

router(config-router)#distribute—list access-list-number in [inte***ce-name]

當應用於外出的路由更新時,該命令的句法就要複雜一些:

router(config-router)#distribute--list access-list-number out

[inte***ce-name | routing-process | as-number]

當在不同的路由選擇協議之間交換路由時可呼叫「routing-process」和「as-number」選項,這將在「路由重發布」中介紹。

「distribute-list」命令可以全域性性地在乙個外出或進入方向的路由更新中過濾任何路由。

cisco ios允許每乙個路由程序發布入方向和出方向的全域性性控制列表,也可以為乙個路由程序所涉及到的每個介面發布進入方向的和外出方向的控制列表。

可以用「show ip protocols」命令顯示哪些路由過濾器被全域性性地應用,哪些被應用於特定介面上。

和rip一樣,被動介面不能傳送eigrp hello分組,這將阻止路由器與鏈路夥伴建立毗鄰關係,在ospf中同樣如此。

下面,給出例子中用distribute-list過濾2.2.2.0條目的配置:

在沒有應用distribute-list以前,r1可以學習到去往2.2.2.0/24、2.3.3.0/24的詳細子網路由。

r1#show ip route

codes: c - connected, s - static, r - rip, m - mobile, b - bgp

d - eigrp, ex - eigrp external, o - ospf, ia - ospf inter area

n1 - ospf nssa external type 1, n2 - ospf nssa external type 2

e1 - ospf external type 1, e2 - ospf external type 2

i - is-is, su - is-is summary, l1 - is-is level-1, l2 - is-is level-2

ia - is-is inter area, * - candidate default, u - per-user static route

o - odr, p - periodic downloaded static route

gateway of last resort is not set

c 192.168.12.0/24 is directly connected, serial1/0

1.0.0.0/24 is subnetted, 2 subnets

c 1.2.2.0 is directly connected, loopback1

c 1.1.1.0 is directly connected, loopback0

2.0.0.0/24 is subnetted, 2 subnets

r 2.3.3.0 [120/1] via 192.168.12.2, 00:00:07, serial1/0

r 2.2.2.0 [120/1] via 192.168.12.2, 00:00:16, serial1/0

為了過濾去往2.2.2.0子網的路由,在r2上應用distribute-list 1。

r2(config)#access-list 1 permit 2.3.3.0 0.0.0.255

r2(config)#router rip

r2(config-router)#distribute-list 1 out s1/1

這樣,r2就不會把關於2.2.2.0的子網路由傳送給r1了。在r1上效果如下:

r1#clear ip route *

r1#show ip route

codes: c - connected, s - static, r - rip, m - mobile, b - bgp

d - eigrp, ex - eigrp external, o - ospf, ia - ospf inter area

n1 - ospf nssa external type 1, n2 - ospf nssa external type 2

e1 - ospf external type 1, e2 - ospf external type 2

i - is-is, su - is-is summary, l1 - is-is level-1, l2 - is-is level-2

ia - is-is inter area, * - candidate default, u - per-user static route

o - odr, p - periodic downloaded static route

gateway of last resort is not set

c 192.168.12.0/24 is directly connected, serial1/0

1.0.0.0/24 is subnetted, 2 subnets

c 1.2.2.0 is directly connected, loopback1

c 1.1.1.0 is directly connected, loopback0

2.0.0.0/24 is subnetted, 1 subnets

r 2.3.3.0 [120/1] via 192.168.12.2, 00:00:02, serial1/0

可以看到,運用distribute—list,確實可以達到過濾路由條目的目的,這是其他功能或協議所不能比擬的。

創作:

學會使用SafeArray

學會使用safearray也是很重要的,因為在ado程式設計中經常要用。它的主要目的是用於automation中的陣列型引數的傳遞。因為在網路環境中,陣列是不能直接傳遞的,而必須將其包裝成safearray。實質上safearray就是將通常的陣列增加乙個描述符,說明其維數 長度 邊界 元素型別等資...

學會使用Git

作為一名人民的好幹部,如果希望被惦記,可以學我們的鄭書記,將自己和藹可親的光輝形象搬上檯曆 作為一名有夢想有追求而又不知道如何出名的人,你可以參考對岸的 超想被包養 社團。而作為乙個核心愛好者,要想成為一名核心開發者,為核心貢獻自己的 我們必須要能夠與其他眾多的核心開發者協同工作,這就意味著應該能夠...

學會使用SafeArray

學會使用safearray也是很重要的,因為在ado程式設計中經常要用。它的主要目的是用於automation中的陣列型引數的傳遞。因為在網路環境中,陣列是不能直接傳遞的,而必須將其包裝成safearray。實質上safearray就是將通常的陣列增加乙個描述符,說明其維數 長度 邊界 元素型別等資...