10-L2TP配置
本章節下載: 10-L2TP配置 (457.40 KB)
目 錄
L2TP(Layer 2 Tunneling Protocol,二層隧道協議)通過在公共網絡(如Internet)上建立點到點的L2TP隧道,將PPP(Point-to-Point Protocol,點對點協議)數據幀封裝後通過L2TP隧道傳輸,使得遠端用戶(如企業駐外機構和出差人員)利用PPP接入公共網絡後,能夠通過L2TP隧道與企業內部網絡通信,訪問企業內部網絡資源,從而為遠端用戶接入私有的企業網絡提供了一種安全、經濟且有效的方式。
圖1-1 L2TP典型組網
如圖1-1所示,L2TP的典型組網中包括以下三個部分:
· 遠端係統
遠端係統是要接入企業內部網絡的遠端用戶和遠端分支機構,通常是一個撥號用戶的主機或私有網絡中的一台設備。
· LAC(L2TP Access Concentrator,L2TP訪問集中器)
LAC是具有PPP和L2TP協議處理能力的設備,通常是一個當地ISP的NAS(Network Access Server,網絡接入服務器),主要用於為PPP類型的用戶提供接入服務。
LAC作為L2TP隧道的端點,位於LNS和遠端係統之間,用於在LNS和遠端係統之間傳遞報文。它把從遠端係統收到的報文按照L2TP協議進行封裝並送往LNS,同時也將從LNS收到的報文進行解封裝並送往遠端係統。
· LNS(L2TP Network Server,L2TP網絡服務器)
LNS是具有PPP和L2TP協議處理能力的設備,通常位於企業內部網絡的邊緣。
LNS作為L2TP隧道的另一側端點,是LAC通過隧道傳輸的PPP會話的邏輯終點。L2TP通過在公共網絡中建立L2TP隧道,將遠端係統的PPP連接由原來的NAS延伸到了企業內部網絡的LNS設備。
L2TP協議定義了兩種消息:
· 控製消息:用於L2TP隧道和L2TP會話的建立、維護和拆除。控製消息的傳輸是可靠的,並且支持流量控製和擁塞控製。
· 數據消息:用於封裝PPP幀,其格式如圖1-2所示。數據消息的傳輸是不可靠的,若數據消息丟失,不予重傳。數據消息支持流量控製,即支持對亂序的數據消息進行排序。
圖1-2 L2TP數據消息格式
如圖1-3所示,L2TP控製消息和L2TP數據消息均封裝在UDP報文中。
圖1-3 L2TP消息封裝結構圖
L2TP隧道是LAC和LNS之間的一條虛擬點到點連接。控製消息和數據消息都在L2TP隧道上傳輸。在同一對LAC和LNS之間可以建立多條L2TP隧道。每條隧道可以承載一個或多個L2TP會話。
L2TP會話複用在L2TP隧道之上,每個L2TP會話對應於一個PPP會話。當遠端係統和LNS之間建立PPP會話時,LAC和LNS之間將建立與其對應的L2TP會話。屬於該PPP會話的數據幀通過該L2TP會話所在的L2TP隧道傳輸。
L2TP隧道包括NAS-Initiated和Client-Initiated兩種模式。
如圖1-4所示,NAS-Initiated模式L2TP隧道的建立由LAC(即NAS)發起。遠端係統的撥號用戶通過PPPoE撥入LAC後,由LAC向LNS發起建立L2TP隧道的請求。
圖1-4 NAS-Initiated模式L2TP隧道示意圖
NAS-Initiated模式L2TP隧道具有如下特點:
· 遠端係統隻需支持PPP協議,不需要支持L2TP。
· 對遠端撥號用戶的身份認證與計費既可由LAC代理完成,也可由LNS完成。
圖1-5 NAS-Initiated模式L2TP隧道的建立流程
如圖1-5所示,NAS-Initiated模式L2TP隧道的建立過程為:
(1) 遠端係統Host A發起呼叫,請求建立連接。
(2) Host A和LAC(Device A)進行PPP LCP協商。
(3) LAC對Host A提供的PPP用戶信息進行PAP或CHAP認證。
(4) LAC將認證信息(用戶名、密碼)發送給RADIUS服務器進行認證。
(5) RADIUS服務器認證該用戶,並返回認證結果。
(6) 如果認證通過,且根據用戶名或用戶所屬ISP域判斷該用戶為L2TP用戶,則LAC向LNS(Device B)發起L2TP隧道建立請求。
(7) 在需要對隧道進行認證的情況下,LAC和LNS分別發送CHAP challenge信息,以驗證對方身份。隧道驗證通過後,LAC和LNS之間成功建立了L2TP隧道。
(8) LAC和LNS在L2TP隧道上協商建立L2TP會話。
(9) LAC將PPP用戶信息和PPP協商參數等傳送給LNS。
(10) LNS將認證信息發送給RADIUS服務器進行認證。
(11) RADIUS服務器認證該用戶,並返回認證結果。
(12) 認證通過後,LNS為Host A分配一個企業網內部的IP地址。
(13) 獲得IP地址後,PPP用戶可以通過Host A訪問企業內部資源。
在步驟(12)和(13)中,LAC負責在Host A和LNS之間轉發報文。Host A和LAC之間交互的是PPP數據幀,LAC和LNS之間交互的是L2TP數據報文。
如圖1-6所示,Client-Initiated模式L2TP隧道的建立直接由LAC client(指本地支持L2TP協議的遠端係統)發起。LAC client具有公網地址,並能夠通過Internet與LNS通信後,如果在LAC client上觸發L2TP撥號,則LAC client直接向LNS發起L2TP隧道建立請求,無需經過LAC設備建立隧道。
圖1-6 Client-Initiated模式L2TP隧道示意圖
Client-Initiated模式L2TP隧道具有如下特點:
· L2TP隧道在遠端係統和LNS之間建立,具有較高的安全性。
· Client-Initiated模式L2TP隧道對遠端係統要求較高(遠端係統必須是支持L2TP協議的LAC client,且能夠與LNS通信),因此它的擴展性較差。
如圖1-7所示,Client-Initiated模式L2TP隧道的建立過程與NAS-Initiated模式類似,此處不再贅述。
圖1-7 Client-Initiated模式L2TP隧道的建立流程
L2TP協議本身並不提供連接的安全性,但它可依賴於PPP提供的認證(比如CHAP、PAP等),因此具有PPP所具有的所有安全特性。
L2TP還可以與IPsec結合起來實現數據安全,使得通過L2TP所傳輸的數據更難被攻擊。
L2TP傳輸PPP數據包,在PPP數據包內可以封裝多種協議。
LAC和LNS可以將用戶名和密碼發往RADIUS服務器,由RADIUS服務器對用戶身份進行認證。
LNS可以對遠端係統的地址進行動態的分配和管理,可支持私有地址應用(RFC 1918)。為遠端係統分配企業內部的私有地址,可以方便地址的管理並增加安全性。
可在LAC和LNS兩處同時計費,即ISP處(用於產生帳單)及企業網關(用於付費及審計)。L2TP能夠提供數據傳輸的出/入包數、字節數以及連接的起始、結束時間等計費數據,AAA服務器可根據這些數據方便地進行網絡計費。
L2TP協議支持備份LNS,當主LNS不可達之後,LAC可以與備份LNS建立連接,增加了L2TP服務的可靠性。
L2TP隧道采用NAS-Initiated模式時,LAC上的L2TP隧道屬性可以通過RADIUS服務器來下發。此時,在LAC上隻需開啟L2TP服務,並配置采用AAA遠程認證方式對PPP用戶進行身份驗證,無需進行其他L2TP配置。
當L2TP用戶撥入LAC時,LAC作為RADIUS客戶端將用戶的身份信息發送給RADIUS服務器。RADIUS服務器對L2TP用戶的身份進行驗證。RADIUS服務器將驗證結果返回給LAC,並將該用戶對應的L2TP隧道屬性下發給LAC。LAC根據下發的隧道屬性,創建L2TP隧道和會話。
目前,RADIUS服務器可以為LAC下發的屬性如表1-1所示。
表1-1 RADIUS服務器為LAC下發的屬性列表
屬性編號 |
屬性名稱 |
描述 |
64 |
Tunnel-Type |
隧道類型,目前隻支持L2TP隧道類型 |
65 |
Tunnel-Medium-Type |
隧道的傳輸媒介類型,目前隻支持IPv4 |
67 |
Tunnel-Server-Endpoint |
LNS的IP地址 |
69 |
Tunnel-Password |
隧道驗證密鑰 |
81 |
Tunnel-Private-Group-ID |
隧道的Group ID LAC將該值發送給LNS,以便LNS根據該值進行相應的處理 |
82 |
Tunnel-Assignment-ID |
隧道的Assignment ID 用來標識會話承載在哪條隧道上,具有相同Tunnel-Assignment-ID、Tunnel-Server_Endpoint和Tunnel-Password的L2TP用戶共用同一條L2TP隧道 |
90 |
Tunnel-Client-Auth-ID |
隧道的名稱 用來標識本端隧道 |
目前,僅支持通過RADIUS服務器下發一組L2TP隧道屬性,不支持同時下發多組隧道屬性。
如果既通過RADIUS服務器為LAC下發了隧道屬性,又在LAC上通過命令行手工配置了隧道屬性,則以RADIUS服務器下發的屬性為準。
如圖1-8所示,設備可以同時作為LNS和LAC,終結來自LAC的L2TP報文後,再將其通過L2TP隧道發送給最終的LNS,實現L2TP隧道的交換,即多跳L2TP隧道。同時作為LNS和LAC的設備稱為LTS(L2TP Tunnel Switch,L2TP隧道交換)設備。
L2TP隧道交換功能具有如下作用:
· LAC和LNS位於不同的管理域時,可以簡化LAC和LNS的配置與部署。所有的LAC都將LTS當作LNS,不需要感知網絡中是否存在多個LNS,不需要區分LNS;所有LNS都將LTS當作LAC,不需要感知LAC的新增和刪除。
· 不同用戶可以共用LAC和LTS之間的L2TP隧道,由LTS將不同用戶的數據分發給不同的LNS。
圖1-8 L2TP隧道交換組網圖
L2TP接入的EAD功能是指,在L2TP身份認證的基礎之上,通過和安全策略服務器配合進一步對接入網絡的用戶終端強製實施企業安全策略,加強網絡用戶終端的主動防禦能力,並嚴格控製終端用戶的網絡使用行為,保護網絡安全。
具體流程如下:
(1) iNode客戶端(即主機)通過L2TP接入到LNS設備,通過PPP認證後,CAMS/iMC服務器給設備下發隔離ACL,對報文進行入方向防火牆過濾;
(2) 通過IPCP協商後,CAMS/iMC服務器通過設備把自己的IP地址(該IP地址可以通過隔離ACL)等信息通知給iNode客戶端;
(3) iNode客戶端直接和CAMS/iMC服務器進行EAD認證和安全檢查,通過安全檢查後,CAMS/iMC服務器針對這個用戶給設備下發安全ACL,使用戶可以正常使用網絡資源。
與L2TP相關的協議規範有:
· RFC 1661:The Point-to-Point Protocol (PPP)
· RFC 1918:Address Allocation for Private Internets
· RFC 2661:Layer Two Tunneling Protocol "L2TP"
· RFC 2868:RADIUS Attributes for Tunnel Protocol Support
配置L2TP時,需要執行以下操作:
(1) 根據實際組網環境,判斷需要的網絡設備。
¡ 對於NAS-Initiated,需要配置LAC和LNS兩台網絡設備。
¡ 對於Client-Initiated模式,隻需要配置LNS一台網絡設備。
(2) 規劃好設備在網絡中的角色,然後分別進行LAC或LNS端的相關配置,使設備具有LAC或LNS端功能。
LAC端配置任務如下:
(1) 配置L2TP基本功能
(2) 配置LAC端
NAS-Initiated模式下為必選。
¡ (可選)配置AVP數據的隱藏傳輸
NAS-Initiated模式下為必選。
(3) (可選)配置L2TP公共參數
¡ 配置隧道驗證
LNS端配置任務如下:
(1) 配置L2TP基本功能
(2) 配置LNS端
¡ 配置虛擬模板接口
¡ (可選)配置靜態VA池
¡ (可選)配置LNS端的用戶驗證
¡ (可選)配置LNS端的AAA認證
¡ (可選)配置LNS端每秒能處理ICRQ報文的最大數目
¡ (可選)配置LNS端用戶IP地址衝突時強製老用戶下線
(3) (可選)配置L2TP公共參數
¡ 配置隧道驗證
(4) 配置基於L2TP接入的EAD功能
當需要在L2TP身份認證的基礎之上,通過和安全策略服務器配合進一步對用戶進行安全性檢查時,需要配置本功能。
(6) 當4G路由器作為LAC client並按照Client-Initiated模式接入LNS或4G路由器作為LAC端並按照LAC-Auto-Initiated模式自動觸發接入LNS時,需要配置本功能。
L2TP基本功能的配置包括如下內容:
· 啟用L2TP功能:隻有啟用L2TP後,設備上的L2TP功能才能正常發揮作用。
· 創建L2TP組:L2TP組用於配置L2TP的相關參數,它不僅增加了L2TP配置的靈活性,還方便地實現了LAC和LNS之間一對一、一對多的組網應用。L2TP組在LAC和LNS上獨立編號,隻需要保證LAC和LNS之間關聯的L2TP組的相關配置(如隧道對端名稱、LNS地址等)保持對應關係即可。
· 配置隧道本端的名稱:隧道本端的名稱在LAC和LNS進行隧道協商時使用,它用來標識本端隧道,以供對端識別。
(1) 進入係統視圖。
system-view
(2) 開啟L2TP功能。
l2tp enable
缺省情況下,L2TP功能處於關閉狀態。
(3) 創建L2TP組,指定L2TP組的模式,並進入L2TP組視圖。
l2tp-group group-number mode { lac | lns }
在LAC端需要指定L2TP組的模式為lac;在LNS端需要指定L2TP組的模式為lns。
(4) 配置隧道本端的名稱。
tunnel name name
缺省情況下,隧道本端的名稱為設備的名稱。
LAC端配置的隧道本端名稱要與LNS端配置的允許接受的L2TP隧道請求的隧道對端名稱保持一致。
本配置用來指定LAC向LNS發起隧道建立請求的觸發條件。隻有PPP用戶的信息與指定的觸發條件匹配時,LAC才認為該PPP用戶為L2TP用戶,向LNS發起L2TP隧道建立請求。
觸發條件分為如下兩種:
· 完整的用戶名(fullusername):隻有PPP用戶的用戶名與配置的完整用戶名匹配時,才會向LNS發起L2TP隧道建立請求。
· 帶特定域名的用戶名(domain):PPP用戶的ISP域名與配置的域名匹配時,即向LNS發起L2TP隧道建立請求。
(1) 進入係統視圖。
system-view
(2) 進入LAC模式的L2TP組視圖。
l2tp-group group-number [ mode lac ]
(3) 配置向LNS發起隧道建立請求的觸發條件。
user { domain domain-name | fullusername user-name }
缺省情況下,沒有指定本端作為LAC端時向LNS發起隧道建立請求的觸發條件。
LAC上最多可以配置五個LNS地址或域名(LNS地址+域名總和不允許超過5個),即允許存在備用LNS。LAC按照LNS的IP地址或域名配置的先後順序依次向每個LNS發送建立L2TP隧道的請求。LAC接收到某個LNS的接受應答後,該LNS就作為隧道的對端;否則,LAC向下一個LNS發起隧道建立請求。
當LNS端IP地址固定時,可以通過lns-ip ip-address直接指定LNS端的IP地址;當LNS端IP地址不固定時,可以通過lns-ip host-name指定LNS端的域名,LAC會將域名交給域名解析模塊處理,並根據域名解析模塊返回的IP地址發起建立L2TP隧道的請求。關於域名解析的詳細描述請參見“網絡互通配置指導”中的“域名解析”。
(1) 進入係統視圖。
system-view
(2) 進入LAC模式的L2TP組視圖。
l2tp-group group-number [ mode lac ]
(3) 配置LNS的IP地址或域名。
lns-ip { ip-address | host-name name }&<1-5>
缺省情況下,沒有指定LNS的IP地址和域名。
在LAC上配置了L2TP隧道的源端地址後,LAC會將該地址作為封裝後L2TP隧道報文的源IP地址。
建議將L2TP隧道的源端地址配置為設備上某LoopBack接口的IP地址,以減小物理接口故障對L2TP業務造成的影響。但當LAC和LNS之間存在等價路由時,必須將L2TP隧道的源端地址通過source-ip命令配置或通過RADIUS服務器授權為設備上某LoopBack接口的IP地址。
(1) 進入係統視圖。
system-view
(2) 進入LAC模式的L2TP組視圖。
l2tp-group group-number [ mode lac ]
(3) 配置L2TP隧道的源端地址。
source-ip ip-address
缺省情況下,L2TP隧道的源端地址為本端隧道出接口的IP地址。
L2TP協議通過AVP(Attribute Value Pair,屬性值對)來傳輸隧道協商參數、會話協商參數和用戶認證信息等。如果用戶不希望這些信息(如用戶密碼)被竊取,則可以使用本配置將AVP數據的傳輸方式配置成為隱藏傳輸,即利用隧道驗證密鑰(通過tunnel password命令配置)對AVP數據進行加密傳輸。
隻有使能了隧道驗證功能,本配置才會生效。隧道驗證功能的詳細配置,請參見“1.7.1 配置隧道驗證”。
(1) 進入係統視圖。
system-view
(2) 進入LAC模式的L2TP組視圖。
l2tp-group group-number [ mode lac ]
(3) 配置隧道采用隱藏方式傳輸AVP數據。
tunnel avp-hidden
缺省情況下,隧道采用明文方式傳輸AVP數據。
本配置用來通過AAA對遠端撥入用戶的身份信息(用戶名、密碼)進行認證。用戶身份認證通過後,LAC才能發起建立隧道的請求,否則不會為用戶建立隧道。
設備支持的AAA認證包括本地和遠程兩種認證方式:
· 如果選擇本地認證方式,則需要在LAC端配置本地用戶名和密碼。LAC通過檢查撥入用戶的用戶名/密碼是否與本地配置的用戶名/密碼相符來驗證用戶身份。
· 如果選擇遠程認證方式,則需要在RADIUS/HWTACACS服務器上配置用戶名和密碼。LAC將撥入用戶的用戶名和密碼發往服務器,由服務器對用戶身份進行認證。
AAA相關的配置請參見“用戶接入與認證配置指導”中的“AAA”。
配置LAC端的AAA認證時,接入用戶的接口上需要配置PPP用戶的驗證方式為PAP或CHAP,配置方法請參見“網絡互通配置指導”中的“PPP”。
L2TP會話建立之後,LNS需要創建一個VA(Virtual Access,虛擬訪問)接口用於和LAC交換數據。VA接口基於VT(Virtual Template,虛擬模板)接口上配置的參數動態創建。因此,配置LNS時需要首先創建VT接口,並配置該接口的參數。
VT接口的參數主要包括:
· 接口的IP地址
· 對PPP用戶的驗證方式
· LNS為PPP用戶分配的IP地址
關於VT接口配置的詳細介紹,請參見“網絡互通配置指導”中的“PPP”以及“IP地址”。
VA池是在建立L2TP連接前事先創建的VA接口的集合。VA池可以用來解決大量用戶同時上線/下線,無法及時創建/刪除VA接口,以至於影響L2TP連接建立和拆除性能的問題。
創建VA池後,當需要創建VA接口時,直接從VA池中獲取一個VA接口,加快了L2TP連接的建立速度。當用戶下線後,直接把VA接口放入VA池中,不需要刪除VA接口,加快了L2TP連接的拆除速度。
每個虛擬模板接口隻能關聯一個靜態VA池。如果想要修改使用的靜態VA池的大小,隻能先刪除原來的配置,然後重新配置靜態VA池。
創建/刪除靜態VA池需要花費一定的時間,請用戶耐心等待。在靜態VA池創建/刪除過程中(還沒創建/刪除完成)允許用戶上線/下線,但正在創建/刪除的靜態VA池不生效。
係統可能由於資源不足不能創建用戶指定容量的靜態VA池,用戶可以通過display l2tp va-pool命令查看實際可用的靜態VA池的容量以及靜態VA池的狀態。
VA池會占用較多的係統內存,請用戶根據實際情況創建大小合適的靜態VA池。
刪除靜態VA池時,如果已有在線用戶使用該VA池中的VA接口,不會導致這些用戶下線。
(1) 進入係統視圖。
system-view
(2) 配置靜態VA池。
l2tp virtual-template template-number va-pool va-volume
接收到LAC發來的隧道建立請求後,LNS需要檢查LAC的隧道本端名稱是否與本地配置的隧道對端名稱相符合,從而決定是否與對端建立隧道,並確定創建VA接口時使用的VT接口。
(1) 進入係統視圖。
system-view
(2) 進入LNS模式的L2TP組視圖。
l2tp-group group-number [ mode lns ]
(3) 配置LNS接受來自指定LAC的隧道建立請求,並指定建立隧道時使用的虛擬模板接口。請選擇其中一項進行配置。
¡ L2TP組號不為1。
allow l2tp virtual-template virtual-template-number remote remote-name
¡ L2TP組號為1。
allow l2tp virtual-template virtual-template-number [ remote remote-name ]
缺省情況下,LNS不接受任何LAC的隧道建立請求。
使用L2TP組號1時,可以不指定隧道對端名,即在組1下LNS可以接受任何名稱的隧道對端的隧道建立請求。
當LAC對用戶進行驗證後,為了增強安全性,LNS可以再次對用戶進行驗證。在這種情況下,將對用戶進行兩次驗證,第一次發生在LAC端,第二次發生在LNS端,隻有兩次驗證全部成功後,L2TP隧道才能建立。
在L2TP組網中,LNS端對用戶的驗證方式有三種:
· 代理驗證:由LAC代替LNS對用戶進行驗證,並將用戶的所有驗證信息及LAC端本身配置的驗證方式發送給LNS。LNS根據接收到的信息及本端配置的驗證方式,判斷用戶是否合法。
· 強製CHAP驗證:強製在LAC代理驗證成功後,LNS再次對用戶進行CHAP驗證。
· LCP重協商:忽略LAC端的代理驗證信息,強製LNS與用戶間重新進行LCP(Link Control Protocol,鏈路控製協議)協商。
驗證方式的優先級從高到底依次為:LCP重協商、強製CHAP驗證和代理驗證。
· 如果在LNS上同時配置LCP重協商和強製CHAP驗證,L2TP將使用LCP重協商。
· 如果隻配置強製CHAP驗證,則在LAC代理驗證成功後,LNS再次對用戶進行CHAP驗證。
· 如果既不配置LCP重協商,也不配置強製CHAP驗證,則對用戶進行代理驗證。
強製CHAP驗證和LCP重協商兩種驗證方式僅對NAS-Initiated模式的L2TP隧道有效。
配置強製CHAP驗證時,在LNS的VT接口下必須且隻能配置PPP用戶的驗證方式為CHAP認證。
在某些特定的情況下(如LNS不接受LAC的LCP協商參數,希望和用戶重新進行參數協商),需要強製LNS與用戶重新進行LCP協商,並采用相應的虛擬模板接口上配置的驗證方式對用戶進行驗證時可配置LCP重協商驗證方式。
(1) 進入係統視圖。
system-view
(2) 進入LNS模式的L2TP組視圖。
l2tp-group group-number [ mode lns ]
(3) 強製LNS重新對用戶進行CHAP驗證。
mandatory-chap
缺省情況下,LNS不會重新對用戶進行CHAP驗證。
對於不支持進行第二次驗證的用戶,不建議配置本功能,否則將因LNS端的CHAP重新驗證失敗而導致L2TP隧道無法建立。
(4) 退回係統視圖。
quit
(5) 進入VT接口並在該接口下配置PPP用戶的驗證方式為CHAP認證。
關於VT接口配置的詳細介紹,請參見“網絡互通配置指導”中的“PPP”。
(1) 進入係統視圖。
system-view
(2) 進入LNS模式的L2TP組視圖。
l2tp-group group-number [ mode lns ]
(3) 配置強製LNS與用戶重新進行LCP協商。
mandatory-lcp
缺省情況下,LNS不會與用戶重新進行LCP協商。
啟用LCP重協商後,如果相應的虛擬模板接口上沒有配置驗證,則LNS將不對用戶進行二次驗證(這時用戶隻在LAC端接受一次驗證)。
本配置用來通過AAA對遠端撥入用戶的身份信息(用戶名、密碼)進行認證。認證通過後,遠端係統可以通過LNS訪問企業內部網絡。
對於NAS-Initiated隧道模式,當LNS端沒有配置強製LCP重新協商時,必須在LNS端配置AAA認證;或者當LNS端配置了強製LCP重新協商,並且虛擬模板接口上配置了需要對PPP用戶進行驗證時,也必須在LNS端配置AAA認證。對於Client-Initiated隧道模式,當虛擬模板接口上配置了需要對PPP用戶進行驗證時,必須在LNS端配置AAA認證。其他情況下無需在LNS端配置AAA認證。
LNS端支持的AAA配置與LAC端的相同,具體介紹及配置方法請參見“1.5.5 配置LAC端的AAA認證”。
為避免大量L2TP用戶的突發上線請求對設備性能造成影響,同時又確保L2TP用戶能夠平穩上線,可以通過本節配置調整設備接收處理ICRQ報文的速率。
(1) 進入係統視圖。
system-view
(2) 配置LNS端每秒能處理ICRQ報文的最大數目。
l2tp icrq-limit number
缺省情況下,未限製LNS端每秒能處理ICRQ報文的最大數目。
當新上線L2TP用戶的IP地址和已在線L2TP用戶IP地址衝突時,可根據實際需要選擇禁止新用戶上線或者強製老用戶下線。
(1) 進入係統視圖。
system-view
(2) 配置當新上線L2TP用戶的IP地址和已在線用戶IP地址衝突時,允許新用戶上線,並強製老用戶下線。
l2tp user-ip-conflict offline
缺省情況下,新上線L2TP用戶的IP地址和已在線L2TP用戶IP地址衝突時,禁止新用戶上線,老用戶繼續保持在線。
隧道驗證請求可由LAC或LNS任何一端發起。
如果LAC和LNS兩端都開啟了隧道驗證功能,則兩端密鑰(通過tunnel password命令配置)不為空並且完全一致的情況下,二者之間才能成功建立L2TP隧道。
如果LAC和LNS中的一端開啟了隧道驗證功能,則另一端可不開啟隧道驗證功能,但需要兩端密鑰(通過tunnel password命令配置)不為空並且完全一致,二者之間才能成功建立L2TP隧道。
如果LAC和LNS兩端都禁用隧道驗證功能,則無論兩端是否配置密鑰、密鑰是否相同,都不影響隧道建立。
為了保證隧道安全,建議用戶不要禁用隧道驗證功能。
隧道建立成功後,修改隧道驗證的密鑰不影響當前隧道的正常通信;當隧道斷開後重新建立時使用修改後的密鑰進行隧道驗證。
(1) 進入係統視圖。
system-view
(2) 進入L2TP組視圖。
l2tp-group group-number [ mode { lac | lns } ]
(3) 開啟L2TP的隧道驗證功能。
tunnel authentication
缺省情況下,L2TP隧道驗證功能處於開啟狀態。
(4) 配置隧道驗證密鑰。
tunnel password { cipher | simple } password
缺省情況下,未配置隧道驗證密鑰。
為了檢測LAC和LNS之間隧道的連通性,LAC和LNS會定期向對端發送Hello報文,接收方接收到Hello報文後會進行響應。當LAC或LNS在指定時間間隔內未收到對端的Hello響應報文時,重複發送,如果重複發送5次仍沒有收到對端的響應信息則認為L2TP隧道已經斷開。
(1) 進入係統視圖。
system-view
(2) 進入L2TP組視圖。
l2tp-group group-number [ mode { lac | lns } ]
(3) 配置隧道中Hello報文的發送時間間隔。
tunnel timer hello hello-interval
缺省情況下,隧道中Hello報文的發送時間間隔為60秒。
L2TP會話的流控功能是指在L2TP會話上傳遞的報文中攜帶序列號,通過序列號檢測是否丟包,並根據序列號對亂序報文進行排序。
L2TP會話的流控功能應用在L2TP數據報文的接收與發送過程中。隻要LAC和LNS中的一端開啟了流控功能,二者之間建立的L2TP會話就支持流控功能。
(1) 進入係統視圖。
system-view
(2) 進入L2TP組視圖。
l2tp-group group-number [ mode { lac | lns } ]
(3) 開啟L2TP會話的流控功能。
tunnel flow-control
缺省情況下,L2TP會話的流控功能處於關閉狀態。
DSCP(Differentiated Services Code Point,區分服務編碼點)攜帶在IP報文中的ToS字段,用來體現報文自身的優先等級,決定報文傳輸的優先程度。
通過本配置指定隧道報文的DSCP優先級後,當流量經過L2TP隧道轉發時,L2TP將其封裝為IP報文並將IP報文頭中的DSCP優先級設置為指定的值。
(1) 進入係統視圖。
system-view
(2) 進入L2TP組視圖。
l2tp-group group-number [ mode { lac | lns } ]
(3) 配置隧道報文的DSCP優先級。
ip dscp dscp-value
缺省情況下,L2TP隧道報文的DSCP優先級為0。
在L2TP隧道交換組網中,LTS通過ICRQ(Incoming Call Request,入呼叫請求)報文中的TSA(Tunnel Switching Aggregator,隧道交換聚合)ID AVP來避免環路。
LTS接收到ICRQ報文後,將報文中攜帶的所有TSA ID AVP中的TSA ID逐一與本地配置的TSA ID進行比較。如果TSA ID AVP中存在與本地相同的TSA ID,則表示存在環路,LTS立即拆除會話。否則,LTS將自己的TSA ID封裝到新的TSA ID AVP中,LTS向它的下一跳LTS發送ICRQ報文時攜帶接收到的所有TSA ID AVP及本地封裝的TSA ID AVP。
需要為不同LTS設備配置的不同的TSA ID,否則會導致環路檢測錯誤。
(1) 進入係統視圖。
system-view
(2) 配置LTS設備的TSA ID,並開啟LTS設備的L2TP環路檢測功能。
l2tp tsa-id tsa-id
缺省情況下,未指定LTS設備的TSA ID,且LTS設備的L2TP環路檢測功能處於關閉狀態。
如果亂序報文過多,可以通過調整L2TP接收窗口的大小進行緩解。當出現亂序報文的時候,如果亂序報文NS(L2TP報文中用於標識當前報文序列號的字段)在接收窗範圍內,設備會先將報文緩存起來,等待NS等於接收窗下沿的報文到達。當收到NS等於接收窗下沿的報文時,則對其(NS等於接收窗下沿的報文)進行處理,處理完該報文後,接收窗下沿加1;如果此時緩存中存在NS等於接收窗下沿的報文,則繼續處理;如不存在,則繼續等待NS等於接收窗下沿的報文到達;依次類推。對於超過接收窗範圍的報文進行丟棄。
在L2TP隧道建立時,接收窗口大小以L2TP組視圖下配置的接收窗口大小為準。隧道建立完成後通過本特性修改L2TP隧道接收窗口的大小對已經建立的隧道接收窗口的大小無影響。
(1) 進入係統視圖。
system-view
(2) 進入L2TP組視圖。
l2tp-group group-number [ mode { lac | lns } ]
(3) 配置L2TP隧道接收窗口的大小。
tunnel window receive size
缺省情況下,L2TP隧道接收窗口的大小為1024。
在某些組網中可能出現對端的報文接收處理能力和對端接收窗口的大小不匹配的情況(例如:對端實際的報文接收處理能力為10,但接收窗口的大小為20),此時可以通過本特性調整本端L2TP隧道發送窗口的大小來適配對端的實際報文接收處理能力,以保證L2TP用戶平穩上線。
在L2TP隧道建立時會獲取L2TP組視圖下配置的發送窗口大小。如果配置的發送窗口大小為0,則按缺省情況處理;如果配置的發送窗口大小非0,則以配置的發送窗口大小為準。隧道建立完成後通過本配置修改L2TP隧道發送窗口的大小對已經建立的隧道發送窗口的大小無影響。
(1) 進入係統視圖。
system-view
(2) 進入L2TP組視圖。
l2tp-group group-number [ mode { lac | lns } ]
(3) 配置L2TP隧道發送窗口的大小。
tunnel window send size
缺省情況下,L2TP隧道發送窗口的大小為0,即本端發送窗口的大小以隧道建立過程中對端攜帶的接收窗口大小的屬性值為準,如果隧道建立過程中對端沒有攜帶接收窗口大小屬性,則本端隧道發送窗口的大小為4。
為了L2TP控製報文重傳的時間和次數,LAC和LNS會將傳送失敗的報文進行定期的重傳處理。
當本端向L2TP隧道的對端發送L2TP控製報文後,如果在一定時間內未收到響應報文,則重傳該報文。當本端重傳L2TP控製報文的次數達到tunnel retransmit命令配置的次數後,如果依然未收到響應報文,則本端認為該L2TP隧道已經異常中斷,將清除該隧道的相關信息。
超時重傳時間=初始超時重傳時間×2已重傳次數。當某次超時重傳時間達到或超過16秒時,包括該次在內的所有剩餘重傳次數的超時重傳時間都固定為16秒。例如tunnel retransmit命令配置的重傳次數為5次,tunnel timeout命令配置的初始超時重傳時間3秒,那麼5次重傳的超時時間間隔分別為3秒、6秒、12秒、16秒、16秒。
為避免設備在短時間內發送大量L2TP控製報文,影響設備性能,當設備上所有L2TP組中的L2TP隧道之和超過256時,設備會忽略tunnel timeout命令的配置,自動將L2TP控製報文的超時重傳時間強製固定為16秒;當L2TP隧道總數下降到256及以下時,設備根據已重傳次數和tunnel timeout命令的配置計算下次的超時重傳時間。
(1) 進入係統視圖。
system-view
(2) 進入L2TP組視圖。
l2tp-group group-number [ mode { lac | lns } ]
(3) 配置L2TP控製報文的初始超時重傳時間。
tunnel timout timeout
缺省情況下,L2TP控製報文的初始超時重傳時間為1秒。
(4) 配置L2TP控製報文的超時重傳次數。
tunnel retransmit times
缺省情況下,L2TP控製報文超時重傳次數為9次。
在一些安全性要求比較高的網絡環境中,可通過配置本功能並和安全策略服務器配合對L2TP認證通過的用戶做進一步的安全性檢查。隻有通過安全檢查,用戶才可以正常訪問網絡資源;否則,用戶將隻能訪問隔離區的資源。
如果LNS設備上開啟了基於L2TP接入的EAD功能,但未配置認證服務器下發的ACL號或未準確配置ACL規則,會導致認證不通過。
不同的主機用戶ACL可以不同,設備根據不同的ACL對不同的用戶進行報文過濾。
建議隻在跨越Internet的遠端客戶端使用此功能,局域網用戶不建議使用此功能,應該使用Portal認證。
完成L2TP、Portal、AAA、RADIUS及安全策略服務器的相關配置。
關於Portal的相關內容,請參見“用戶接入與認證配置指導”中的“Portal”。
關於AAA和RADIUS的相關內容,請參見“用戶接入與認證配置指導”中的“AAA”。
關於安全策略服務器的配置,請參見“iMC EAD安全策略組件聯機幫助”。
(1) 進入係統視圖。
system-view
(2) 創建並進入虛擬模板接口。
interface virtual-template interface-number
(3) 開啟基於L2TP接入的EAD功能。
ppp access-control enable
缺省情況下,基於L2TP接入的EAD功能處於關閉狀態。
在4G網絡應用環境中,基於安全性考慮,僅僅根據用戶名對客戶端或LAC進行認證已不能滿足用戶需求。通過配置IMSI/SN捆綁協商功能可以進一步提高4G網絡的安全性。配置本功能後LNS向AAA服務器進行認證時會上送用戶名/密碼和IMSI/SN信息,AAA服務器根據已有的配置對這些信息進行認證。隻有用戶名/密碼認證和IMSI/SN信息檢測認證都通過時才允許用戶上線,否則用戶上線失敗。有關4G的相關介紹,請參見“網絡互通配置指導”中的“移動通信Modem管理”。
當4G路由器作為LAC client並按照Client-Initiated模式接入LNS時,需要配置LNS端發起IMSI/SN捆綁協商功能。
在和本LNS端建立L2TP隧道的LAC client或LAC(安裝了移動通信Modem模塊的路由器)上配置其支持與LNS端進行IMSI/SN協商,否則LNS端將因協商不到LAC client或LAC端的IMSI/SN信息導致認證不通過。
(1) 進入係統視圖。
system-view
(2) 進入虛擬模板接口視圖。
interface virtual-template interface-number
(3) 開啟LNS端IMSI/SN捆綁協商功能。請至少選擇其中一項進行配置。
¡ 請依次執行以下命令配置LNS端發起IMSI/SN捆綁協商請求。
ppp lcp imsi request
ppp lcp sn request
缺省情況下,LNS端不發起IMSI/SN捆綁協商請求。
¡ 配置協商時拆分對端用戶名使用的分隔符。
ppp user accept-format imsi-sn split splitchart
缺省情況下,未配置協商認證時拆分對端用戶名使用的分隔符。
如果二者同時配置,則優先使用協商到的IMSI/SN信息進行認證(這裏認證是指LNS上送AAA服務器的IMSI/SN信息和AAA服務器上配置的IMSI/SN信息進行對比認證。);如果沒有協商到對端的IMSI/SN信息,則使用從對端用戶名中拆分出來的IMSI/SN信息進行認證。
(4) (可選)配置使用IMSI/SN信息替換用戶名進行認證。
ppp user replace { imsi | sn }
缺省情況下,使用用戶名進行認證。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後L2TP的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以強製斷開指定的L2TP隧道。
表1-2 L2TP顯示和維護
操作 |
命令 |
顯示當前L2TP隧道的信息 |
display l2tp tunnel [ statistics ] |
顯示當前L2TP會話的信息 |
display l2tp session [ statistics ] |
顯示當前L2TP非穩態會話的信息 |
display l2tp session temporary |
顯示虛擬PPP接口的相關信息 |
display interface [ virtual-ppp [ interface-number ] ] [ brief [ description | down ] ] |
顯示L2TP的VA池信息 |
display l2tp va-pool |
顯示VT接口產生的PPP會話的動態防火牆的統計信息 |
display ppp access-control interface virtual-template interface-number |
強製斷開指定的L2TP隧道 |
reset l2tp tunnel { id tunnel-id | name remote-name } |
遠端係統無法訪問企業內部網絡。
主要有以下幾種原因:
· 可能是如下原因導致Tunnel建立失敗:
¡ 在LAC端,LNS的地址設置不正確。
¡ LNS端沒有設置可以接收該隧道對端的L2TP組。
¡ 隻有一端啟用Tunnel驗證或兩端均啟用Tunnel驗證但驗證密碼不一致。
· 可能是如下原因導致PPP協商不通過:
¡ LAC端設置的用戶名與密碼有誤,或者是LNS端沒有設置相應的用戶。
¡ 密碼驗證類型不一致。
(1) 檢查在LAC端配置的LNS的IP地址是否正確,具體可以查看lns-ip命令的說明。
(2) 檢查在LNS端配置的接受來自LAC的L2TP隧道建立請求是否正確,具體可查看allow l2tp命令的說明。
(3) 如果配置了驗證,檢查並保證雙方都啟用了隧道驗證並且配置相同的驗證密鑰。
(4) 檢查LAC端配置的用戶名和密碼是否正確,以及LNS端是否配置了相應的用戶。
(5) 檢查遠端係統和LNS對IP地址協商相關的配置是否正確。
(6) 檢查密碼驗證類型是否一致。例如,Windows 2000所創建的VPN連接缺省的驗證類型為MSCHAP,如果對端不支持MSCHAP,建議改為CHAP。
數據傳輸失敗,在隧道建立後數據不能傳輸,如Ping不通對端。
可能有如下原因:
· 路由問題:LAC和LNS上需要存在到達對端私網的路由,否則會導致數據傳輸失敗。
· 網絡擁擠:Internet主幹網產生擁擠,丟包現象嚴重。L2TP是基於UDP進行傳輸的,UDP不對報文進行差錯控製。如果是在線路質量不穩定的情況下進行L2TP應用,有可能會產生Ping不通對端的情況。
(1) 在LAC和LNS上執行display ip routing-table命令,查看設備上是否存在到達對端私網的路由。若不存在,則需要配置靜態路由或動態路由協議,在設備上添加該路由。
(2) 增加鏈路帶寬,提高線路質量。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!