Null接口

Null接口

null接口是一種純軟體性質的邏輯接口。它永遠處於up狀態,但不能轉發數據包,也不能配置ip地址和鏈路層協定。如果在靜態路由中指定到達某一網段的下一條為null接口時,則任何送到該網段的網路數據報文都會被丟棄,因此設備通過null接口提供了一種過濾報文的簡單方法--將不需要的網路流量傳送到null接口,從而免去配置acl(訪問控制列表)的複雜工作。

配置null接口

null 接口類似於一些作業系統中支持的空設備(null devices),任何送到該接口的網路數據報文都會被丟棄。系統自動創建一個null0 接口。  由於任何到達 null 接口的報文都會被丟棄,可以將需要過濾掉的報文直接傳送到null0 接口,而不必配置訪問控制列表。  例如:使用如下的靜態路由配置命令:  uidway] ip route-static 192.101.0.0 255.255.0.0 null 0  將丟棄所有去往網段192.101.0.0 的報文。  在配置null 接口之前,需使路由器安裝完畢並加電啟動正常。  配置過程:要完成配置null 接口的任務,需要執行如下的配置過程。

進入null接口視圖

在路由器上進行以下配置。  步驟 1 執行命令system-view,進入系統視圖。  步驟 2 執行命令interface null 0,進入null 接口視圖。  null 接口永遠處於up 狀態,但不能轉發數據包,也不能配置ip 地址或封裝其他協定。

路由配置中null接口的使用

null接口是一種虛擬接口, 不能配地址,也不能被封裝,它總是up的,但是從來不轉發或者接受任何通信量,對於所有發到該接口的通信量都直接丟棄。但它與lookback、tunnel、virtual-template等虛擬接口有所不同, null接口無需配置ip地址,以下是null接口最常用的兩種情況。  1、結合bgp一起使用:bgp路由協定向外發布路由時使用network ip-address ask mask]命令,但是該命令正確生效有一個前提,即在路由表中必須存在一條與ip-address mask 完全相同的路由。由於bgp都是經過聚合之後發布路由,因此在路由表中並沒有與之對應的路由,所以需要使用ip route ip-address mask null0這樣一條假靜態路由來配合bgp。這樣的路由只是配合bgp,不是真正的報文傳送,也無需下一跳地址。  2、配置黑洞路由避免環路產生:如圖。假設rtd下連3台路由器,這些下連路由器的地址規劃很有規律, rtd將此聚合成一條10.1.0.0/16的路由傳送到上一級路由器rte,同理,rte上必定存在一條相同的路由10.1.0.0/16指回到rtd。由於rtd網路出口唯一,所以rtd上使用一條預設路由指向rte。  上述情況正常情況下運行正常,但需要考慮如下突發事件:  rtc到rtd之間的鏈路由於故障中斷了,所以在rtd上將不存在去10.1.3.0/24,即指向rtc的路由。此時,若rta下的一個用戶傳送報文,目的地址為10.1.3.1,則,rta將此報文傳送到rtd,由於rtd上已不存在去10.1.3.0/24的路由,所以選擇預設路由,將報文傳送給rte,rte查詢路由表後發現該條路由匹配10.1.0.0/16,於是又將該報文傳送給rtd。同理,rtd會再次將報文發給rte,此時,在rtd和rte上就會產生路由自環。 解決上述問題的最佳方案就是,在rtd上配置一條黑洞路由: ip route 10.1.0.0 255.255.0.0 null 0, (目的地址為10.1.0.0/16的數據報文將被丟棄)這樣,如果再發生上述情況時,rtd就會查找路由表,並將報文傳送到null0接口(實際上就是丟棄此報文),從而避免環路的產生。  ================================  null 0接口  null 0是路由器上的一個虛擬接口,也被稱為丟棄連線埠,所有到達該連線埠的數據被直接丟棄。  如:ip route 200.200.194.0 255.255.255.0 null 0  ip route 200.200.195.0 255.255.255.0 null 0  ip route 200.200.192.0 255.255.240.0 null 0  假設:某公司新申請了16個c類地址,設為200.200.192.0/24-200.200.207.0/24;而現在初期建設階段只用了其中3個:200.200.192.0、200.200.193.0、200.200.207.0,並有一台路由器通過點對點連線到internet。  那么在該路由器上就會有類似下面的路由表:  200.200.192.0/24 :e0  200.200.193.0/24 : e0  200.200.207.0/24 : e1  0.0.0.0/0 : s0  最後一條為默認路徑,指向internet。  現在的問題是:路由器接受到一個包,其目的地址為200.200.194.1。應該怎樣處理?  根據上面的路由表,唯一能匹配該地址的就是默認路由,如果沒有其他的配置,路由器會將其傳送到internet上。但這樣對么?200.200.194.1是在本公司所申請地址範圍內的,只所以不存在是因為本公司還沒有使用。可以肯定的是,在internet上的其他地方也不會有這個地址。本路由器就應該將其丟棄。至少應當在路由器上寫  ip route 200.200.194.0 255.255.255.0 null0  ip route 200.200.195.0 255.255.255.0 null0  ...  ip route 200.200.206.0 255.255.255.0 null0  但是這樣類似的十多條語句,豈不麻煩。  用一句  ip route 200.200.192.0 255.255.240.0 null0  就可以了。  200.200.192.0 255.255.240.0也就是200.200.192.0/20,是整個公司所有網段的匯總。當有200.200.193.0/24網段上的數據來時,因為使用最長匹配原則,會將數據轉發到正確的網段(根據上面的例子是e0);而當地址為不存在,但在公司地址範圍內的話,就會匹配這條丟棄語句,而不會匹配默認路由了。  上面是使用靜態路由時的例子,當使用路由協定時也有類似的情況。  如ospf中的area range命令,例如區域51使用192.168.168.0/24網段,該網路被劃分了多個子網,但並非使用了所有的子網。那么  area 51 range 192.168.168.0 255.255.255.0  實際起了兩個作用。1:向骨幹區域宣告匯總的區域路由;2:沒有使用的子網地址,不會傳播到骨幹區域(相當於一條null0語句)  還例如,在允許自動邊界匯總的eigrp中,會在每個類地址邊界上生成null0語句。ospf的summary-address、eigrp的summary-address語句也都有類似的兩個功能。

相關詞條

相關搜尋

熱門詞條

聯絡我們