本地環回接口(或地址),亦稱回送地址(loopbackaddress)。
此類接口是套用最為廣泛的一種虛接口,幾乎在每台路由器上都會使用。
常見用途:
1作為一台路由器的管理地址
系統管理員完成網路規劃之後,為了方便管理,會為每一台路由器創建一個loopback接口,並在該接口上單獨指定一個IP位址作為管理地址,管理員會使用該地址對路由器遠程登錄(telnet),該地址實際上起到了類似設備名稱一類的功能。
但是通常每台路由器上存在眾多接口和地址,為何不從當中隨便挑選一個呢
原因如下:由於telnet命令使用TCP報文,會存在如下情況:路由器的某一個接口由於故障down掉了,但是其他的接口卻仍舊可以telnet,也就是說,到達這台路由器的TCP連線依舊存在。所以選擇的telnet地址必須是永遠也不會down掉的,而虛接口恰好滿足此類要求。由於此類接口沒有與對端互聯互通的需求,所以為了節約地址資源,loopback接口的地址通常指定為32位掩碼。
2使用該接口地址作為動態路由協定OSPF、BGP的routerid動態路由協定OSPF、BGP在運行過程中需要為該協定指定一個Routerid,作為此路由器的唯一標識,並要求在整個自治系統內唯一。由於routerid是一個32位的無符號整數,這一點與IP位址十分相像。而且IP位址是不會出現重複現象的,所以通常將路由器的routerid指定為與該設備上的某個接口的地址相同。由於loopback接口的IP位址通常被視為路由器的標識,所以也就成了routerid的最佳選擇。
3、使用該接口地址作為BGP建立TCP連線的源地址
在BGP協定中,兩個運行BGP的路由器之間建立鄰居關係是通過TCP建立連線完成的。
在配置鄰居時通常指定loopback接口為建立TCP連線的源地址(通常只用於IBGP,原因同2.1,都是為了增強TCP連線的健壯性)
配置命令如下:
routerid61.235.66.1
interfaceloopback0
ipaddress61.235.66.1255.255.255.255
routerbgp100
neighbor61.235.66.7remote-as200
neighbor61.235.66.7update-sourceLoopBack0
4、在Windows系統中,採用127.0.0.1作為本地環回地址。
5、BGPUpdate-Source
因為Loopback口只要Router還健在,則它就會一直保持Active,這樣,只要BGP的Peer的Loopback口之間滿足路由可達,就可以建立BGP回話,總之BGP中使用loopback口可以提高網路的健壯性。
neighbor215.17.1.35update-sourceloopback0
6、RouterID
使用該接口地址作為OSPF、BGP的Router-ID,作為此路由器的唯一標識,並要求在整個自治系統內唯一,在Ipv6中的BGP/OSPF的Router-ID仍然是32位的IP位址。在OSPF中的路由器優先權是在接口下手動設定的,接著才是比較OSPF的Router-ID(Router-ID的選舉在這裡就不多說了,PS:一台路由器啟動OSPF路由協定後,將選取物理接口的最大IP位址作為其RouterID,但是如果配置Loopback接口,則從Loopback中選取IP位址最大者為RouterID。另外一旦選取RouterID,OSPF為了保證穩定性,不會輕易更改,除非作為RouterID的IP位址被刪除或者OSPF被重新啟動),在OSPF和BGP中的Router-ID都是可以手動在路由配置模式下設定的。
OSPF:Router-ID*.*.*.*
BGP:BGPRouter-ID*.*.*.*
7、IPUnnumberedInterfaces
無編號地址可以借用強壯的loopback口地址,來節約網路IP位址的分配。
例子:
interfaceloopback0
ipaddress215.17.3.1255.255.255.255
!
interfaceSerial5/0
bandwidth128
ipunnumberedloopback0
8、ExceptionDumpsbyFTP
當Router宕機,系統記憶體中的檔案還保留著一份軟體核心的備份,CISCO路由器可以被配置為向一台FTP伺服器進行核心導出,作為路由器診斷和調試處理過程的一部分,可是,這種核心導出功能必須導向一台沒有運行公共FTP伺服器軟體的系統,而是一台通過ACLS過濾(TCP地址欺騙)被重點保護的只允許路由器訪問的FTP伺服器。如果Loopback口地址作為Router的源地址,並且是相應地址塊的一部分,ACLS的過濾功能很容易配置。
SampleIOSconfiguration:
ipftpsource-interfaceLoopback0
ipftpusernamecisco
ipftppassword7045802150C2E
exceptionprotocolftp
exceptiondump169.223.32.1
9、TFTP-SERVERAccess
對於TFTP的安全意味著應該經常對IP源地址進行安全方面的配置,CISCOIOS軟體允許TFTP伺服器被配置為使用特殊的IP接口地址,基於Router的固定IP位址,將運行TFTP伺服器配置固定的ACLS.
iptftpsource-interfaceLoopback0
10、SNMP-SERVERAccess
路由器的Loopback口一樣可以被用來對訪問安全進行控制,如果從一個路由器送出的SNMP網管數據起源於Loopback口,則很容易在網路管理中心對SNMP伺服器進行保護
SampleIOSconfiguration:
access-list98permit215.17.34.1
access-list98permit215.17.1.1
access-list98denyany
!
snmp-servercommunity5nmc02mRO98
snmp-servertrap-sourceLoopback0
snmp-servertrap-authentication
snmp-serverhost215.17.34.15nmc02m
snmp-serverhost215.17.1.15nmc02m.Wednesday,June06,2001
11、TACACS/RADIUS-ServerSourceInterface
當採用TACACS/RADIUS協定,無論是用戶管理性的接入Router還是對撥號用戶進行認證,Router都是被配置為將Loopback口作為Router傳送TACACS/RADIUS數據包的源地址,提高安全性。
TACACS
aaanew-model
aaaauthenticationlogindefaulttacacs+enable
aaaauthenticationenabledefaulttacacs+enable
aaaaccountingexecstart-stoptacacs+
!
iptacacssource-interfaceLoopback0
tacacs-serverhost215.17.1.2
tacacs-serverhost215.17.34.10
tacacs-serverkeyCKr3t#
!
RADIUS
radius-serverhost215.17.1.2auth-port1645acct-port1646
radius-serverhost215.17.34.10auth-port1645acct-port1646
ipradiussource-interfaceLoopback0
!
12、NetFlowFlow-Export
從一個路由器向NetFlow採集器傳送流量數據,以實現流量分析和計費目的,將路由器的Router的Loopback地址作為路由器所有輸出流量統計數據包的源地址,可以在伺服器或者是伺服器外圍提供更精確,成本更低的過濾配置。
ipflow-exportdestination215.17.13.19996
ipflow-exportsourceLoopback0
ipflow-exportversion5origin-as
!
interfaceFddi0/0/0
descriptionFDDIlinktoIXP
ipaddress215.18.1.10255.255.255.0
iproute-cacheflow
iproute-cachedistributed
nokeepalive
!
FDDDI0/0/0接口被配置成為進行流量採集。路由器被配置為輸出第五版本類型的流量信息到IP位址為215.17.13.1的主機上,採用UDP協定,連線埠號9996,統計數據包的源地址採用Router的Loopback地址。
13、NTPSourceInterface
NTP用來保證一個網路內所有Rdouter的時鐘同步,確保誤差在幾毫秒之內,如果在NTP的Speaker之間採用Loopback地址作為路由器的源地址,會使得地址過濾和認證在某種程度上容易維護和實現,許多ISP希望他們的客戶只與他們的客戶只與ISP自己的而不是世界上其他地方的時間伺服器同步。
clocktimezoneSST8
!
access-list5permit192.36.143.150
access-list5permit169.223.50.14
!.CiscoISPEssentials
39
ntpauthentication-key1234md5104D000A06187
ntpauthenticate
ntptrusted-key1234
ntpsourceLoopback0
ntpaccess-grouppeer5
ntpupdate-calendar
ntppeer192.36.143.150
ntppeer169.223.50.14
!
14、SYSLOGSourceInterface
系統日誌伺服器同樣也需要在ISP骨幹網路中被妥善保護。許多ISP只希望採集他們自己的而不是外面網絡傳送來的昔日日誌信息。對系統日誌伺服器的DDOS攻擊並不是不知道,如果系統信息數據包的源地址來自於被很好規劃了的地址空間,例如,採用路由器的Loopback口地址,對系統日誌伺服器的安全配置同樣會更容易。
Aconfigurationexample:
loggingbuffered16384
loggingtrapdebugging
loggingsource-interfaceLoopback0
loggingfacilitylocal7
logging169.223.32.1
!
15、TelnettotheRouter
遠程路由器才用Loopback口做遠程接入的目標接口,這個一方面提高網路的健壯性,另一方面,如果在DNS伺服器做了Router的DNS映射條目,則可以在世界上任何路由可達的地方Telnet到這台Router,ISP會不斷擴展,增加新的設備
由於telnet命令使用TCP報文,會存在如下情況:路由器的某一個接口由於故障down掉了,但是其他的接口卻仍舊可以telnet,也就是說,到達這台路由器的TCP連線依舊存在。所以選擇的telnet地址必須是永遠也不會down掉的,而虛接口恰好滿足此類要求。由於此類接口沒有與對端互聯互通的需求,所以為了節約地址資源,loopback接口的地址通常指定為32位掩碼。
DNS前向和反向轉發區域檔案的例子:
;net.galaxyzonefile
net.galaxy.INSOAns.net.galaxy.hostmaster.net.galaxy.(
1998072901;version==date(YYYYMMDD)+serial
10800;Refresh(3hours)
900;Retry(15minutes)
172800;Expire(48hours)
43200);Mimimum(12hours)
INNSns0.net.galaxy.
INNSns1.net.galaxy.
INMX10mail0.net.galaxy.
INMX20mail1.net.galaxy.
;
localhostINA127.0.0.1
gateway1INA215.17.1.1
gateway2INA215.17.1.2
gateway3INA215.17.1.3
;
;etcetc
;1.17.215.in-addr.arpazonefile
;
1.17.215.in-addr.arpa.INSOAns.net.galaxy.hostmaster.net.galaxy.(
1998072901;version==date(YYYYMMDD)+serial
10800;Refresh(3hours)
900;Retry(15minutes)
172800;Expire(48hours)
43200);Mimimum(12hours)
INNSns0.net.galaxy.
INNSns1.net.galaxy.
1INPTRgateway1.net.galaxy.
2INPTRgateway2.net.galaxy..Wednesday,June06,2001
3INPTRgateway3.net.galaxy.
;
;etcetc
Ontherouter,setthetelnetsourcetotheloopbackinterface:
iptelnetsource-interfaceLoopback0
16、RCMDtotherouter
RCMD要求網路管理員擁有UNIX的rlogin/rsh客戶端來訪問路由器。某些ISP採用RCMD來捕獲接口統計信息,上載或下載路由器配置檔案,或者獲取Router路由選擇表的簡易信息,Router可以被配置採用Loopback地址作為源地址,使得路由器傳送的所有數據包的源地址都採用Loopback地址來建立RCMD連線:
iprcmdsource-interfaceLoopback0
參考資料:
[1]《TCP/IP協定解析》
[2]《Loopback口的作用匯總》(http://www.net130.com/CMS/Pub/Tech/tech_zh/2005_10_15_28201.htm)