電子百科
NULL 接口類似于一些操作系統(tǒng)中支持的空設(shè)備(null devices),任何送到該接口的網(wǎng)絡(luò)數(shù)據(jù)報(bào)文都會(huì)被丟棄。系統(tǒng)自動(dòng)創(chuàng)建一個(gè)NULL0 接口。
由于任何到達(dá) NULL 接口的報(bào)文都會(huì)被丟棄,可以將需要過(guò)濾掉的報(bào)文直接發(fā)送到NULL0 接口,而不必配置訪問(wèn)控制列表。
例如:使用如下的靜態(tài)路由配置命令:
[Quidway] ip route-static 192.101.0.0 255.255.0.0 null 0
將丟棄所有去往網(wǎng)段192.101.0.0 的報(bào)文。
在配置NULL 接口之前,需使路由器安裝完畢并加電啟動(dòng)正常。
配置過(guò)程:要完成配置NULL 接口的任務(wù),需要執(zhí)行如下的配置過(guò)程。
在路由器上進(jìn)行以下配置。
步驟 1 執(zhí)行命令system-view,進(jìn)入系統(tǒng)視圖。
步驟 2 執(zhí)行命令interface null 0,進(jìn)入NULL 接口視圖。
NULL 接口永遠(yuǎn)處于up 狀態(tài),但不能轉(zhuǎn)發(fā)數(shù)據(jù)包,也不能配置IP 地址或封裝其他協(xié)議。
NULL接口是一種虛擬接口, 不能配地址,也不能被封裝,它總是UP的,但是從來(lái)不轉(zhuǎn)發(fā)或者接受任何通信量,對(duì)于所有發(fā)到該接口的通信量都直接丟棄。但它與lookback、tunnel、virtual-template等虛擬接口有所不同, NULL接口無(wú)需配置IP地址,以下是Null接口最常用的兩種情況。
1、結(jié)合BGP一起使用:BGP路由協(xié)議向外發(fā)布路由時(shí)使用network ip-address [mask mask]命令,但是該命令正確生效有一個(gè)前提,即在路由表中必須存在一條與ip-address mask 完全相同的路由。由于BGP都是經(jīng)過(guò)聚合之后發(fā)布路由,因此在路由表中并沒(méi)有與之對(duì)應(yīng)的路由,所以需要使用ip route ip-address mask null0這樣一條假靜態(tài)路由來(lái)配合BGP。這樣的路由只是配合BGP,不是真正的報(bào)文發(fā)送,也無(wú)需下一跳地址。
2、配置黑洞路由避免環(huán)路產(chǎn)生:如圖。假設(shè)RTD下連3臺(tái)路由器,這些下連路由器的地址規(guī)劃很有規(guī)律, RTD將此聚合成一條10.1.0.0/16的路由發(fā)送到上一級(jí)路由器RTE,同理,RTE上必定存在一條相同的路由10.1.0.0/16指回到RTD。由于RTD網(wǎng)絡(luò)出口唯一,所以RTD上使用一條缺省路由指向RTE。
上述情況正常情況下運(yùn)行正常,但需要考慮如下突發(fā)事件:
RTC到RTD之間的鏈路由于故障中斷了,所以在RTD上將不存在去10.1.3.0/24,即指向RTC的路由。此時(shí),若RTA下的一個(gè)用戶發(fā)送報(bào)文,目的地址為10.1.3.1,則,RTA將此報(bào)文發(fā)送到RTD,由于RTD上已不存在去10.1.3.0/24的路由,所以選擇缺省路由,將報(bào)文發(fā)送給RTE,RTE查詢路由表后發(fā)現(xiàn)該條路由匹配10.1.0.0/16,于是又將該報(bào)文發(fā)送給RTD。同理,RTD會(huì)再次將報(bào)文發(fā)給RTE,此時(shí),在RTD和RTE上就會(huì)產(chǎn)生路由自環(huán)。 解決上述問(wèn)題的最佳方案就是,在RTD上配置一條黑洞路由: ip route 10.1.0.0 255.255.0.0 NULL 0, (目的地址為10.1.0.0/16的數(shù)據(jù)報(bào)文將被丟棄)這樣,如果再發(fā)生上述情況時(shí),RTD就會(huì)查找路由表,并將報(bào)文發(fā)送到NULL0接口(實(shí)際上就是丟棄此報(bào)文),從而避免環(huán)路的產(chǎn)生。
================================
NULL 0接口
null 0是路由器上的一個(gè)虛擬接口,也被稱為丟棄端口,所有到達(dá)該端口的數(shù)據(jù)被直接丟棄。
如: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
假設(shè):某公司新申請(qǐng)了16個(gè)C類地址,設(shè)為200.200.192.0/24-200.200.207.0/24;而現(xiàn)在初期建設(shè)階段只用了其中3個(gè):200.200.192.0、200.200.193.0、200.200.207.0,并有一臺(tái)路由器通過(guò)點(diǎn)對(duì)點(diǎn)連接到Internet。
那么在該路由器上就會(huì)有類似下面的路由表:
200.200.192.0/24 :e0
200.200.193.0/24 : e0
200.200.207.0/24 : e1
0.0.0.0/0 : s0
最后一條為默認(rèn)路徑,指向Internet。
現(xiàn)在的問(wèn)題是:路由器接受到一個(gè)包,其目的地址為200.200.194.1。應(yīng)該怎樣處理?
根據(jù)上面的路由表,唯一能匹配該地址的就是默認(rèn)路由,如果沒(méi)有其他的配置,路由器會(huì)將其發(fā)送到Internet上。但這樣對(duì)么?200.200.194.1是在本公司所申請(qǐng)地址范圍內(nèi)的,只所以不存在是因?yàn)楸竟具€沒(méi)有使用??梢钥隙ǖ氖?,在Internet上的其他地方也不會(huì)有這個(gè)地址。本路由器就應(yīng)該將其丟棄。至少應(yīng)當(dāng)在路由器上寫(xiě)
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
但是這樣類似的十多條語(yǔ)句,豈不麻煩。
用一句
ip route 200.200.192.0 255.255.240.0 null0
就可以了。
200.200.192.0 255.255.240.0也就是200.200.192.0/20,是整個(gè)公司所有網(wǎng)段的匯總。當(dāng)有200.200.193.0/24網(wǎng)段上的數(shù)據(jù)來(lái)時(shí),因?yàn)槭褂米铋L(zhǎng)匹配原則,會(huì)將數(shù)據(jù)轉(zhuǎn)發(fā)到正確的網(wǎng)段(根據(jù)上面的例子是e0);而當(dāng)?shù)刂窞椴淮嬖冢诠镜刂贩秶鷥?nèi)的話,就會(huì)匹配這條丟棄語(yǔ)句,而不會(huì)匹配默認(rèn)路由了。
上面是使用靜態(tài)路由時(shí)的例子,當(dāng)使用路由協(xié)議時(shí)也有類似的情況。
如OSPF中的area range命令,例如區(qū)域51使用192.168.168.0/24網(wǎng)段,該網(wǎng)絡(luò)被劃分了多個(gè)子網(wǎng),但并非使用了所有的子網(wǎng)。那么
area 51 range 192.168.168.0 255.255.255.0
實(shí)際起了兩個(gè)作用。1:向骨干區(qū)域宣告匯總的區(qū)域路由;2:沒(méi)有使用的子網(wǎng)地址,不會(huì)傳播到骨干區(qū)域(相當(dāng)于一條null0語(yǔ)句)
還例如,在允許自動(dòng)邊界匯總的EIGRP中,會(huì)在每個(gè)類地址邊界上生成null0語(yǔ)句。OSPF的summary-address、EIGRP的summary-address語(yǔ)句也都有類似的兩個(gè)功能。