Loopback口和Null0接口揭秘

來源:本站原創 網絡技術詳解 超過1,044 views圍觀 0條評論

Loopback口和Null0接口揭秘

Loopback接口
Loopback接口簡介
Loopback接口是虛擬接口,大多數平臺都支持使用這種接口來模擬真正的接口。這樣做的好處是虛擬接口不會像物理接口那樣因為各種因素的影響而導致接口被關閉。事實上,將Loopback接口和其他物理接口相比較,可以發現Loopback接口有以下幾條優點:
      Loopback接口狀態永遠是up的,即使沒有配置地址。這是它的一個非常重要的特性。
      Loopback接口可以配置地址,而且可以配置全1的掩碼–這樣做可以節省寶貴的地址空間。
      Loopback接口不能封裝任何鏈路層協議。
   對于目的地址不是loopback口,下一跳接口是loopback口的報文,路由器會將其丟棄。對于CISCO路由器來說,可以配置[no] ip unreachable命令,來設置是[否]發送icmp不可達報文,對于VRP來說,沒有這條命令,缺省不發送icmp不可達報文 。
Loopback接口的應用
基于以上所述,決定了Loopback接口可以廣泛應用在各個方面。其中最主要的應用就是:路由器使用loopback接口地址作為該路由器產生的所有IP包的源地址,這樣使過濾通信量變得非常簡單。
在遠程訪問中的應用
    使用telnet實現遠程訪問。
    配置telnet,使從該路由器始發的報文使用的源地址是loopback地址。配置命令如下:
        ip telnet source-interface Loopback0
   使用RCMD實現遠程訪問。
   配置RCMD,使從該路由器始發的報文使用的源地址是loopback地址。配置命令如下:
       ip rcmd source-interface Loopback0
在安全方面的應用
    在TACACS+中的應用。
       配置TACACS+,使從該路由器始發的報文使用的源地址是loopback地址。配置命令如下:
          ip tacacs source-interface Loopback0
          tacacs-server host 215.17.1.1
可以通過過濾來保護TACACS+服務器–只允許從LOOPBACK地址訪問TACACS+端口,從而使讀/寫日志變得簡單,TACACS+日志紀錄中只有loopback口的地址,而沒有出接口的地址。
在RADIUS用戶驗證中的應用。
配置RADIUS, 使從該路由器始發的報文使用的源地址是loopback地址。配置命令如下:
ip radius source-interface Loopback0
radius-server host 215.17.1.1
auth-port 1645 acct-port 1646
這樣配置是從服務器的安全角度考慮的,可以通過過濾來保護 RADIUS服務器和代理–只允許從LOOPBACK地址訪問RADIUS端口,從而使讀/寫日志變得簡單,RADIUS日志紀錄中只有loopback口的地址,而沒有出接口的地址。
在紀錄信息方面的應用
輸出網絡流量紀錄。
配置網絡流量輸出,使從該路由器始發的報文使用的源地址是loopback地址。配置命令如下:
ip flow-export source Loopback0
Exporting NetFlow records Exporting NetFlow
這樣配置是從服務器的安全角度考慮的,可以通過過濾來保護 網絡流量收集–只允許從LOOPBACK地址訪問指定的流量端口。
日志信息方面。
發送日志信息到Unix或者Windows SYSLOG 服務器。路由器發出的日志報文源地址是loopback接口,配置命令如下:
logging source-interface loopback0
這樣配置是從服務器的安全角度考慮的,可以通過過濾來保護 SYSLOG服務器和代理–只允許從LOOPBACK地址訪問syslog端口,從而使讀/寫日志變得簡單,SYSLOG日志紀錄中只有loopback口的地址作為源地址,而不是出接口的地址。
在NTP中的應用
用NTP(網絡時間協議)使所有設備的時間取得同步,所有源于該路由器的NTP包都把Loopback地址作為源地址。配置如下:
ntp source loopback0
ntp server 169.223.1.1 source loopback 1
這樣做是從NTP的安全角度著想,可以通過過濾來保護NTP系統–只允許從loopback地址來訪問NTP端口。NTP將Loopback接口地址作為源地址,而不是出口地址。
在SNMP中的應用
如果使用SNMP(簡單網絡管理協議),發送traps時將loopback地址作為源地址。配置命令:
snmp-server trap-source Loopback0
snmp-server host 169.223.1.1 community
這樣做是為了保障服務器的安全,可以通過過濾來保護SNMP的管理系統–只允許從Loopback接口來訪問SNMP端口。從而使得讀/寫trap信息變得簡單。SNMP traps將loopback接口地址作為源地址,而不是出口地址。
在Core Dumps中的應用
如果系統崩潰,有Core dump特性的路由器能夠將內存的映像上傳到指定的FTP服務器。配置Core dumps使用loopback地址作為源地址。配置命令如下:
ip ftp source-interface loopback 0
exception protocol ftp
exception dump 169.223.32.1
這樣的做的好處是保證了Core Dump FTP 服務器的安全,通過過濾能夠保護用于core dumps的FTP服務器–只允許從loopback地址訪問FTP端口。
這個FTP服務器必須是不可見的。
在TFTP中的應用
通過TFTP從TFTP服務器配置路由器,可以將路由器的配置保存在TFTP服務器,配置TFTP,將loopback地址作為源于該路由器的包的源地址。配置命令如下:
ip tftp source-interface Loopback0
這樣做對TFTP服務器的安全是很有好處的:通過過濾來保護存儲配置和IOS映像的TFTP服務器–只允許從loopback地址來訪問TFTP端口,TFTP服務器必須是不可見的。
在IP unnumbered中的應用
應用IP Unnumbered在點到點鏈路上就不需要再配置地址了。配置舉例:
interface loopback 0
ip address 215.17.3.1 255.255.255.255
interface Serial 5/0
ip unnumbered loopback 0
ip route 215.34.10.0 255.255.252.0 Serial 5/0
在Router ID中的應用
如果loopback接口存在、有IP地址,在路由協議中就會將其用作Router ID,這樣比較穩定–loopback接口一直都是up的。
如果loopback接口不存在、或者沒有IP地址,Router ID就是最高的IP地址,這樣就比較危險–只要是物理地址就有可能down掉。
對于CISCO來說,Router ID是不能配置的,對于VRP來說,Router ID可以配置,那麼我們也可以將Loopback接口地址配成Router ID。
配置BGP
在IBGP配置中使用loopback接口,可以使會話一直進行,即使通往外部的接口關閉了也不會停止。配置舉例:
interface loopback 0
ip address 215.17.1.34 255.255.255.255
router bgp 200
neighbor 215.17.1.35 remote-as 200
neighbor update-source loopback 0

Null0接口
Null0接口簡介
Null0口是個偽接口(pseudo-interface),不能配地址,也不能被封裝,它總是up的,但從不轉發或接收任何通信量。
Null0的配置命令
為指定空接口,在全局配置模式下使用下面命令:
interface null 0
任何命令,只要有接口類型這個參數的都可以使用null0接口。 對于CISCO路由器來說,Null接口唯一一條配置命令是[no] ip unrechable,該命令的作用是設置是[否]發送icmp不可達報文,對于VRP來說,沒有這條命令,缺省不發送icmp不可達報文 。
Null0接口的應用
Null0接口從不轉發或接收任何通信量,對于所有發到該接口的通信量都直接丟棄,由于它的這個特征,使它被廣泛應用。
防止路由環
null接口最典型的使用是用來防止路由環。例如,EIGRP在聚合一組路由時,總是創建一條到NULL接口的路由。
舉例如下:
如圖所示,一臺CISCO AS5200通過ISDN為多個遠端站點路由器提供接入服務。在ISDN連接期間通過RADIUS創建到遠端局域網的路由。在CISCO AS5200有一條到網關路由器的靜態路由,網關路由器通過CISCO AS5200有靜態路由到遠端局域網,還有到Internet的連接。

當ISDN連接down掉時,從Internet向遠端站點傳送的包就會走靜態路由到CISCO AS5200,而CISCO AS5200會將流量再返回給網關路由器–因為CISCO AS5200已經沒有到遠端局域網的路由了。網關路由器再將包發給CISCO AS5200。這個過程會一直重復到TTL計數器超時。由此產生的“包洪水”會使CPU極為繁忙,利用率達到98%以上,從而使遠端路由器不能再建連接,直到“風暴”停止。
配置下一跳是null0,目的地址是遠端局域網的浮動靜態路由命令如下:
ip route 192.168.10.0 255.255.255.0 Null0 200
除非ISDN連接是UP的,否則從網關轉發到Cisco AS5200的包會被丟棄。如果連接是UP的,通過RADIUS會創建一條更優的路由,流量也會正常。CPU的負擔會驟然降低,路由器能夠正常工作。
用于安全方面
null0接口提供了過濾通信量的一個可選的方法,可以通過將不想要的通信量引到空接口,來避免過分涉及訪問列表的使用。下面對訪問列表和null0做一下比較。
null0和訪問列表都可以用于過濾通信量,這兩種用法相比,各有裨益。
1、使用null0配置簡單,只要將不想要的通信量的下一跳接口配制成null0就可以了,當路由器收到報文時,直接查找轉發表,發現下一跳是null0,不做任何處理,直接丟棄。而如果使用訪問列表,首先要配置規則,然后將它應用到接口,當路由器收到報文時,要首先查找訪問列表的隊列,如果是deny的,就直接扔掉,如果是permit的,還要查找轉發表。所以對比起來,應用null0效率要高,速度要快。
舉例如下:
某路由器不希望收到目的是131.1.0.0/16的通信量。
用null0實現,只要配置ip route 131.1.0.0 255.255.0.0 null 0就可以了。如果用訪問列表實現,就要先配置一條acl規則如下:access-list 100 deny any 131.1.0.0 0.0.255.255,然后將這條規則在路由器的所有接口上應用。
2、null0不能細化通信量,它面向的對象是整個路由器,而訪問列表是可以面向接口的,如果細致到面向接口的通信量,null0就不能做到了。
舉例如下:
某路由器不希望在接口s3/1/0收到目的是131.1.0.0/16的通信量。
用null0是不能實現的,只能通過配置acl規則,然后將其應用到接口s3/1/0。
用于BGP的負載分擔

用于防止路由振蕩
在IP網絡規劃的比較好時
在一個AS內部用的是IGP,AS之間用的是BGP,不推薦在BGP中將IGP的路由redistribute,因為IGP的路由不穩定,可能會導致路由振蕩,因為Null0接口是永遠up的,所以可以通過以下配置來將IGP路由發布出去:
ip route ip_address mask null0
router bgp as_number
network ip_address mask mask
這樣可以防止路由振蕩!

文章出自:CCIE那點事 http://www.qdxgqk.live/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文鏈接:http://www.qdxgqk.live/?p=230轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
  • 相關文章
  • 為您推薦
  • 各種觀點
?
暫時還木有人評論,坐等沙發!
發表評論

您必須 [ 登錄 ] 才能發表留言!

?
?
萌宠夺宝游戏