distribute-list分發清單
一、工具概述
distribute-list分發清單是用于控制路由更新的一個工具,隻能過濾路由資訊,不能過濾LSA。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cGcq5iM3QDNxMDN3IGZlBjZzI2NzYzX0EDNwcTMxIzLcFTMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.jpg)
二、部署要點
1.對于距離矢量路由協定
同時在out方向,也是沒有問題的。
2.對于鍊路狀态路由協定,如OSPF
- in方向,分發清單隻能在本地收到LSA後,生成路由的那一刹那進行路由的過濾,執行分發清單的路由器自己路由表會被分發清單影響(但是本地LSDB仍然是有LSA的),而且該路由器仍會将LSADB中的LSA發送給鄰居,是以本地被過濾的路由,鄰居還有。
- out方向,分發清單隻能工作在執行路由重釋出動作的那個ASBR上,且隻能針對外部引入的路由起作用。因為OSPF執行重釋出時,其實這些外部路由是以路由的形式引入進來的,是以分發清單在這個場合下能夠正常工作,但是如果不是本地始發的外部路由,或者是内部的OSPF路由,out方向的分發清單均束手無策。
三、配置指令
1.In方向
R1(config-router)#distribute-list 1 in ?
Async Async interface
BVI Bridge-Group Virtual Interface
CDMA-Ix CDMA Ix interface
Dialer
FastEthernet
Multilink Multilink-group interface
Port-channel
Tunnel
Vif PGM Multicast Host interface
Virtual-PPP Virtual PPP interface
Virtual-Template
2.OUT方向
R1(config-router)#distribute-list 1 out ?
Async Async interface
BVI Bridge-Group Virtual Interface
Dialer
FastEthernet
Loopback Loopback interface
Multilink Multilink-group interface
Port-channel
Tunnel
Virtual-PPP Virtual PPP interface
Virtual-Template
Virtual-TokenRing Virtual TokenRing
bgp Border Gateway Protocol (BGP)
connected Connected
eigrp Enhanced Interior Gateway Routing Protocol (EIGRP)
ospf
rip Routing Information Protocol (RIP)
static
四、應用場合
1.配置示例1(單一路由協定環境下-RIP)
初始情況下,R3能夠學習到R1的三條loopback路由,以及192.168.12.0/24路由。現在我們不希望R3學習到192.168.3.0/24的路由,那麼可以在R2上如下配置:
R2(config)# access-list 1 deny 192.168.3.0
R2(config)# access-list 1 permit any
R2(config)# router rip
R2(config-router)# distribute-list 1 out fa 1/0
當然,在R3上,用in方向的分發清單也可以達到同樣的效果。
2.配置示例2(單一路由協定環境下-RIP)
在R2上如果做如下配置:
R2(config)# access-list 1 deny 192.168.3.0
R2(config)# access-list 1 permit any
R2(config)# router rip
R2(config-router)# distribute-list 1 in fa0/0
那麼,首先R2自己的路由表會發生改變,3.0的路由被過濾掉了,同時R3也就是下遊RIP路由器,3.0也學不到。
3.配置示例3(單一路由協定環境下-OSPF)
R2的配置如下:
R2(config)# access-list 1 deny 192.168.3.0
R2(config)# access-list 1 permit any
R2(config)# router ospf 1
R2(config-router)# distribute-list 1 in fa0/0
注意這時候,首先在R2的路由表裡,3.0的路由就被幹掉了。注意,這時候實際上,area内OSPF路由器産生的LSA已經是裝載到了R2的OSPF database之中,而在R2從OSPF database中計算路由,并準備将路由條目裝載進路由表之前,in方向的分發清單發生作用了,将3.0的路由過濾掉了,是以R2的路由表中,是沒有3.0的OSPF路由的。但是,雖然R2自己路由表裡沒3.0路由,這不妨礙R2将相關LSA泛洪給R3,是以,R3仍然是有1.0、2.0、3.0以及12.0的OSPF路由的。
4.配置示例4(單一路由協定環境下-OSPF)
現在我們在R2上做如下配置:
R2(config)# access-list 1 deny 192.168.3.0
R2(config)# access-list 1 permit any
R2(config)# router ospf 1
R2(config-router)# distribute-list 1 out
R3的路由表會是什麼情況?實際上,沒有任何影響,R3能學習到全網的路由。至于為什麼,我相信前面已經解釋的非常清楚了。
5.配置示例5(單一路由協定環境下-OSPF out方向分發清單)
分發清單,部署在OSPF這樣的鍊路狀态路由協定中,如果要用out方向,則隻能用在這樣的場合。
如上圖,在R1上部署,R1使用重釋出直連的方式引入這三條外部路由,那麼out方向的分發清單,隻能在R1上部署,且對這三條路由産生作用。
R1(config)# access-list 1 deny 192.168.3.0
R1(config)# access-list 1 permit any
R1(config)# router ospf 1
R1(config-router)# redistribute connected subnets
R1(config-router)# network 192.168.12.1 0.0.0.0 area 0
R1(config-router)# distribute-list 1 out
上述配置實作後,R1将過濾掉3.0路由。
6.配置示例6 協定間重釋出時部署分發清單
RIP重釋出進OSPF
- 情況1
R2的配置如下:
access-list 1 permit 1.1.1.0
router ospf 1
redistribute rip metric 10 subnets
distribute-list 1 out rip
這裡這條指令的意思是,從RIP路由協定重分發過來的路由中,隻允許1.1.1.0出去(到OSPF協定,沒有方向,隻要是運作了OSPF的接口)
R3的路由表裡,隻有1.1.1.0的路由
- 情況2
在R2上開設loopback接口2.2.2.0/24,R2既重釋出RIP進OSPF,又重釋出直連進OSPF
access-list 1 permit 1.1.1.0
router ospf 1
redistribute connected subnets
redistribute rip metric 10 subnets
network 192.168.23.0 0.0.0.255 area 0
distribute-list 1 out
// 在R3上隻有1.1.1.0的路由,也就是說distribute-list 1 out 此處這條指令,對所有從外部注入進OSPF的路由都生效,最終隻有1.1.1.0路由存活下來。而不斷路由的來源是直連路由,還是RIP。
- 情況3
在R2上開設loopback接口2.2.2.0/24,R2既重釋出RIP進OSPF,又重釋出直連進OSPF
access-list 1 permit 1.1.1.0
router ospf 1
redistribute connected subnets
redistribute rip metric 10 subnets
distribute-list 1 out rip
// R3的路由表中有路由:1.1.1.0 、 2.2.2.0 、 192.168.12.0
// 也就是屏蔽掉了從RIP重釋出進來的除了1.1.1.0以外的路由,并重釋出本地直連接配接口
紅茶三杯
網絡工程 | 項目管理 | IT服務管理 | CCIE教育訓練
學習 沉澱 成長 分享
微網誌:http://weibo.com/vinsoney
部落格:http://blog.sina.com.cn/vinsoney
站點:http://ccietea.com