05-L2TP配置
本章節下載: 05-L2TP配置 (646.89 KB)
目 錄
1.10.1 NAS-Initiated模式L2TP隧道配置舉例
1.10.2 Client-Initiated模式L2TP隧道配置舉例
1.10.3 LAC-Auto-Initiated模式L2TP隧道配置舉例
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和LAC-Auto-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隧道的建立流程
采用NAS-Initiated方式建立L2TP隧道時,要求遠端係統必須通過PPPoE等撥號方式撥入LAC,且隻有遠端係統撥入LAC後,才能觸發LAC向LNS發起建立隧道的請求。
如圖1-8所示,在LAC-Auto-Initiated模式下,不需要遠端係統撥號觸發,在LAC上通過執行l2tp-auto-client命令即可觸發LAC建立L2TP隧道。遠端係統訪問LNS連接的內部網絡時,LAC將通過L2TP隧道轉發這些訪問數據。
圖1-8 LAC-Auto-Initiated模式L2TP隧道示意圖
LAC-Auto-Initiated模式L2TP隧道具有如下特點:
· 遠端係統和LAC之間可以是任何基於IP的連接,不局限於撥號連接。
· 不需要遠端係統上的撥號接入來觸發建立L2TP隧道。
· L2TP隧道創建成功後立即建立L2TP會話,然後在LAC和LNS之間進行PPP協商,LAC和LNS分別作為PPP客戶端和PPP服務器端。
· LNS為LAC分配企業網內部的IP地址,而不是為遠端係統分配。
如圖1-9所示,LAC-Auto-Initiated模式L2TP隧道的建立過程與NAS-Initiated模式類似,此處不再贅述。
圖1-9 LAC-Auto-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-10所示,設備可以同時作為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-10 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-Auto-Initiated模式,需要配置LAC和LNS兩台網絡設備。
¡ 對於Client-Initiated模式,隻需要配置LNS一台網絡設備。
(2) 規劃好設備在網絡中的角色,然後分別進行LAC或LNS端的相關配置,使設備具有LAC或LNS端功能。
LAC端配置任務如下:
(1) 配置L2TP基本功能
(2) 配置LAC端
僅NAS-Initiated模式下為必選,LAC-Auto-Initiated模式下不建議配置。
¡ (可選)配置AVP數據的隱藏傳輸
僅NAS-Initiated模式下為必選,LAC-Auto-Initiated模式下不建議配置。
僅LAC-Auto-Initiated模式下為必選,NAS-Initiated模式下不建議配置。
¡ (可選)配置虛擬PPP接口的輪詢功能
¡ (可選)恢複當前虛擬PPP接口的缺省配置
(3) (可選)配置L2TP公共參數
¡ 配置隧道驗證
LNS端配置任務如下:
(1) 配置L2TP基本功能
(2) 配置LNS端
¡ 配置虛擬模板接口
¡ (可選)配置靜態VA池
¡ (可選)配置LNS端的用戶驗證
¡ (可選)配置LNS端的AAA認證
¡ (可選)配置LNS端每秒能處理ICRQ報文的最大數目
¡ (可選)配置LNS端用戶IP地址衝突時強製老用戶下線
(3) (可選)配置L2TP公共參數
¡ 配置隧道驗證
(4) 配置基於L2TP接入的EAD功能
當需要在L2TP身份認證的基礎之上,通過和安全策略服務器配合進一步對用戶進行安全性檢查時,需要配置本功能。
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隧道的請求。關於域名解析的詳細描述請參見“三層技術-IP業務配置指導”中的“域名解析”。
(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”。
(1) 進入係統視圖。
system-view
(2) 創建虛擬PPP接口,並進入虛擬PPP接口視圖。
interface virtual-ppp interface-number
(3) 配置虛擬PPP接口的IP地址或IP地址可協商屬性。
¡ 配置虛擬PPP接口的IP地址。
ip address address mask
缺省情況下,未配置接口的IP地址。
¡ 配置虛擬PPP接口的IP地址可協商屬性,使該接口接受PPP協商產生的由對端分配的IP地址。
ip address ppp-negotiate
缺省情況下,未配置接口的IP地址可協商屬性。
(4) 配置PPP驗證的被驗證方。
通過ppp pap或ppp chap命令指定PPP用戶支持的驗證方法、PPP用戶的用戶名和密碼,LNS對該PPP用戶進行身份驗證。配置方法請參見“二層技術-廣域網接入命令參考”中的“PPP”。
(5) (可選)配置當前接口的描述信息。
description text
缺省情況下,接口的描述信息為“該接口的接口名 Interface”,比如:Virtual-PPP254 Interface。
(6) (可選)配置接口的MTU值。
mtu size
缺省情況下,虛擬PPP接口的MTU值為1500字節。
(7) (可選)配置接口的期望帶寬。
bandwidth bandwidth-value
缺省情況下,接口的期望帶寬=接口的波特率÷1000(kbit/s)。
(8) (可選)打開當前接口。
undo shutdown
缺省情況下,接口處於打開狀態。
(9) 觸發LAC自動建立L2TP隧道。
l2tp-auto-client l2tp-group group-number
缺省情況下,LAC沒有建立L2TP隧道。
觸發LAC建立L2TP隧道後,該隧道將始終存在,直到通過undo l2tp-auto-client或undo l2tp-group group-number命令拆除該隧道。
虛擬PPP接口使用輪詢機製來確認鏈路狀態是否正常。
虛擬PPP接口會周期性地向對端發送keepalive報文(可以通過timer-hold命令修改keepalive報文的發送周期)。如果接口在retry個(可以通過timer-hold retry命令修改該個數)keepalive周期內無法收到對端發來的keepalive報文,鏈路層會認為對端故障,上報鏈路層Down。
如果將keepalive報文的發送周期配置為0秒,則不發送keepalive報文。
在速率非常低的鏈路上,keepalive周期和retry值不能配置過小。因為在低速鏈路上,大報文可能會需要很長的時間才能傳送完畢,這樣就會延遲keepalive報文的發送與接收。而接口如果在retry個keepalive周期之後仍然無法收到對端的keepalive報文,它就會認為鏈路發生故障。如果keepalive報文被延遲的時間超過接口的這個限製,鏈路就會被認為發生故障而被關閉。
(1) 進入係統視圖。
system-view
(2) 創建虛擬PPP接口,並進入虛擬PPP接口視圖。
interface virtual-ppp interface-number
(3) 配置接口發送keepalive報文的周期。
timer-hold seconds
缺省情況下,接口發送keepalive報文的周期為10秒。
(4) 配置接口在多少個keepalive周期內沒有收到keepalive報文的應答就拆除鏈路。
timer-hold retry retries
缺省情況下,接口在5個keepalive周期內沒有收到keepalive報文的應答就拆除鏈路。
接口下的某些配置恢複到缺省情況後,會對設備上當前運行的業務產生影響。建議您在執行該命令前,完全了解其對網絡產生的影響。
您可以在執行default命令後通過display this命令確認執行效果。對於未能成功恢複缺省的配置,建議您查閱相關功能的命令手冊,手工執行恢複該配置缺省情況的命令。如果操作仍然不能成功,您可以通過設備的提示信息定位原因。
(1) 進入係統視圖。
system-view
(2) 進入虛擬PPP接口視圖。
interface virtual-ppp interface-number
(3) 恢複當前接口的缺省配置。
default
L2TP會話建立之後,LNS需要創建一個VA(Virtual Access,虛擬訪問)接口用於和LAC交換數據。VA接口基於VT(Virtual Template,虛擬模板)接口上配置的參數動態創建。因此,配置LNS時需要首先創建VT接口,並配置該接口的參數。
VT接口的參數主要包括:
· 接口的IP地址
· 對PPP用戶的驗證方式
· LNS為PPP用戶分配的IP地址
關於VT接口配置的詳細介紹,請參見“二層技術-廣域網接入配置指導”中的“PPP”以及“三層技術-IP業務配置指導”中的“IP地址”。
VA池是在建立L2TP連接前事先創建的VA接口的集合。VA池可以用來解決大量用戶同時上線/下線,無法及時創建/刪除VA接口,以至於影響L2TP連接建立和拆除性能的問題。
創建VA池後,當需要創建VA接口時,直接從VA池中獲取一個VA接口,加快了L2TP連接的建立速度。當用戶下線後,直接把VA接口放入VA池中,不需要刪除VA接口,加快了L2TP連接的拆除速度。
在IRF組網的多Context場景下,請勿在非缺省Context中進行頻繁大量地創建和刪除VA池,否則可能會導致IRF分裂。有關Context的詳細介紹,請參見“虛擬化技術配置指導”中的“Context”。有關IRF的詳細介紹,請參見“虛擬化技術配置指導”中的IRF。
(對於不支持動態VA池的設備)
每個虛擬模板接口隻能關聯一個靜態VA池。如果想要修改使用的靜態VA池的大小,隻能先刪除原來的配置,然後重新配置靜態VA池。
創建/刪除靜態VA池需要花費一定的時間,請用戶耐心等待。在靜態VA池創建/刪除過程中(還沒創建/刪除完成)允許用戶上線/下線,但正在創建/刪除的靜態VA池不生效。
係統可能由於資源不足不能創建用戶指定容量的靜態VA池,用戶可以通過display l2tp va-pool命令查看實際可用的靜態VA池的容量以及靜態VA池的狀態。
VA池會占用較多的係統內存,請用戶根據實際情況創建大小合適的靜態VA池。
刪除靜態VA池時,如果已有在線用戶使用該VA池中的VA接口,不會導致這些用戶下線。
(對於支持動態VA池的設備)
目前L2TP包括如下兩種類型的VA池:
· 靜態VA池:通過l2tp virtual-template va-pool命令手工創建的VA池。
· 動態VA池:由設備自動創建的VA池。
當有L2TP用戶上線時,設備按如下先後順序選擇VA池用於VA接口的分配:
· 使用靜態VA池中的VA接口。
· 使用動態VA池中的VA接口。
針對每個VT接口,在設備上未為該VT接口創建靜態VA池或創建的靜態VA池中的VA接口已分配完的情況下,如果有新的L2TP用戶通過該VT接口上線,則:
· 若設備上不存在該VT接口的動態VA池,設備將先為該VT接口創建大小為128的動態VA池,然後再從動態VA池中取一個VA接口分配給該用戶。
· 若設備上存在該VT接口的動態VA池且動態VA池中的可用VA接口的個數大於等於64時,設備將直接從動態VA池中取一個VA接口分配給該用戶。
· 若設備上存在該VT接口的動態VA池且動態VA池中的可用VA接口的個數小於64時,設備將先為該VT接口的動態VA池再創建128個VA接口,然後再從動態VA池中取一個VA接口分配給該用戶。
因VA池會占用一定的內存資源,當設備內存較大或用戶規模數量基本確定時,建議根據實際情況創建大小合適的靜態VA池。當設備內存不大或用戶規模數量不確定時,建議使用動態VA池,讓設備根據實際網絡用戶規模以128為步長自動創建大小合適的動態VA池。
對於VA池,需要注意:
· 靜態VA池
¡ 每個虛擬模板接口隻能關聯一個靜態VA池。如果想要修改使用的靜態VA池的大小,隻能先刪除原來的配置,然後重新配置靜態VA池。
¡ 創建/刪除靜態VA池需要花費一定的時間,請用戶耐心等待。在靜態VA池創建/刪除過程中(還沒創建/刪除完成)允許用戶上線/下線,但正在創建/刪除的靜態VA池不生效。
¡ 係統可能由於資源不足不能創建用戶指定容量的靜態VA池,用戶可以通過display l2tp va-pool命令查看實際可用的VA池的容量以及VA池的狀態。
¡ VA池會占用較多的係統內存,請用戶根據實際情況創建大小合適的靜態VA池。
¡ 刪除靜態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和LAC-Auto-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控製消息和數據消息。通過本配置指定隧道對端所屬的VPN後,設備將在指定的VPN內發送L2TP控製消息和數據消息,即在指定VPN內查找到達控製消息和數據消息目的地址的路由,根據指定VPN的路由轉發控製消息和數據消息。
當L2TP隧道的一個端點位於某個VPN中時,需要在L2TP隧道的另一個端點上通過本配置指定隧道對端屬於該VPN,以便正確地在L2TP隧道端點之間轉發報文。
隧道對端所屬的VPN必須與本端設備連接L2TP隧道對端的物理接口所屬的VPN(通過ip binding vpn-instance命令配置)相同。
(1) 進入係統視圖。
system-view
(2) 進入L2TP組視圖。
l2tp-group group-number [ mode { lac | lns } ]
(3) 配置隧道對端所屬的VPN。
vpn-instance vpn-instance-name
缺省情況下,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認證通過的用戶做進一步的安全性檢查。隻有通過安全檢查,用戶才可以正常訪問網絡資源;否則,用戶將隻能訪問隔離區的資源。
如果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功能處於關閉狀態。
在完成上述配置後,在任意視圖下執行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 [ dynamic ] |
強製斷開指定的L2TP隧道 |
reset l2tp tunnel { id tunnel-id | name remote-name } |
清除虛擬PPP接口的統計信息 |
reset counters interface [ virtual-ppp [ interface-number ] ] |
PPP用戶通過LAC接入LNS,在LAC和LNS之間建立L2TP隧道,以便用戶通過該L2TP隧道訪問公司總部。
圖1-11 NAS-Initiated模式L2TP隧道配置組網圖
需要將LNS設備的虛擬模板接口加入安全域,並放行Untrust域到Trust域、Untrust域到Local安全域的相關流量。
(1) LAC側的配置
# 創建本地PPP用戶vpdnuser,設置密碼為Hello。
[LAC] local-user vpdnuser class network
[LAC-luser-network-vpdnuser] password simple Hello
[LAC-luser-network-vpdnuser] service-type ppp
[LAC-luser-network-vpdnuser] quit
# 配置ISP域system對PPP用戶采用本地驗證。
[LAC] domain system
[LAC-isp-system] authentication ppp local
[LAC-isp-system] quit
# 在GigabitEthernet1/0/2接口上配置PPP認證方式為CHAP。
[LAC] interface gigabitethernet 1/0/2
[LAC-GigabitEthernet1/0/2] ppp authentication-mode chap
[LAC-GigabitEthernet1/0/2] quit
# 開啟L2TP功能。
[LAC] l2tp enable
# 創建LAC模式的L2TP組1,配置隧道本端名稱為LAC,指定接入的PPP用戶的用戶名為vpdnuser時LAC向LNS發起隧道建立請求,並指定LNS地址為1.1.2.2。
[LAC] l2tp-group 1 mode lac
[LAC-l2tp1] tunnel name LAC
[LAC-l2tp1] user fullusername vpdnuser
[LAC-l2tp1] lns-ip 1.1.2.2
# 啟用隧道驗證功能,並設置隧道驗證密鑰為aabbcc。
[LAC-l2tp1] tunnel authentication
[LAC-l2tp1] tunnel password simple aabbcc
[LAC-l2tp1] quit
(2) LNS側的配置
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<LNS> system-view
[LNS] interface gigabitethernet 1/0/1
[LNS-GigabitEthernet1/0/1] ip address 1.1.2.2 255.255.255.0
[LNS-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
# 配置PPP地址池。
[LNS] ip pool aaa 192.168.0.10 192.168.0.20
[LNS] ip pool aaa gateway 192.168.0.1
# 創建接口Virtual-Template1,PPP認證方式為CHAP,並使用地址池aaa為Client端分配IP地址。
[LNS] interface virtual-template 1
[LNS-Virtual-Template1] ppp authentication-mode chap domain system
[LNS-Virtual-Template1] ip address 192.168.0.1 24
[LNS-Virtual-Template1] remote address pool aaa
[LNS-Virtual-Template1] quit
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達遠端主機網絡下一跳IP地址為LNS為LAC分配的地址的192.168.0.10,實際使用中請以具體組網情況為準,具體配置步驟如下。本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
[LNS] ip route-static 2.1.1.1 24 192.168.0.10
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[LNS] security-zone name Untrust
[LNS-security-zone-Untrust] import interface Virtual-Template 1
[LNS-security-zone-Untrust] import interface gigabitethernet 1/0/1
[LNS-security-zone-Untrust] quit
[LNS] security-zone name Trust
[LNS-security-zone-Trust] import interface gigabitethernet 1/0/2
[LNS-security-zone-Ttrust] quit
# 配置名稱為l2tplocalout的安全策規則,使LNS可以向LAC發送報文,具體配置步驟如下。
[LNS] security-policy ip
[LNS-security-policy-ip] rule name l2tplocalout
[LNS-security-policy-ip-1-l2tplocalout] source-zone local
[LNS-security-policy-ip-1-l2tplocalout] destination-zone untrust
[LNS-security-policy-ip-1-l2tplocalout] source-ip-host 1.1.2.2
[LNS-security-policy-ip-1-l2tplocalout] destination-ip-host 1.1.2.1
[LNS-security-policy-ip-1-l2tplocalout] action pass
[LNS-security-policy-ip-1-l2tplocalout] quit
# 配置名稱為l2tplocalin的安全策略規則,使LNS可以接收和處理來自Remoe host的報文,具體配置步驟如下。
[LNS-security-policy-ip] rule name l2tplocalin
[LNS-security-policy-ip-2-l2tplocalin] source-zone untrust
[LNS-security-policy-ip-2-l2tplocalin] destination-zone local
[LNS-security-policy-ip-2-l2tplocalin] source-ip-host 1.1.2.1
[LNS-security-policy-ip-2-l2tplocalin] destination-ip-host 1.1.2.2
[LNS-security-policy-ip-2-l2tplocalin] action pass
[LNS-security-policy-ip-2-l2tplocalin] quit
# 配置名稱為untrust-trust的安全策規則,使LAC可以訪問Server,具體配置步驟如下。
[LNS-security-policy-ip] rule name untrust-trust
[LNS-security-policy-ip-5-untrust-trust] source-zone untrust
[LNS-security-policy-ip-5-untrust-trust] destination-zone trust
[LNS-security-policy-ip-5-untrust-trust] source-ip-range 192.168.0.10 192.168.0.20
[LNS-security-policy-ip-5-untrust-trust] destination-ip-host 10.1.0.200
[LNS-security-policy-ip-5-untrust-trust] action pass
[LNS-security-policy-ip-5-untrust-trust] quit
# 配置名稱為trust-untrust的安全策略規則,使Server可以向LAC發送報文,具體配置步驟如下。
[LNS-security-policy-ip] rule name trust-untrust
[LNS-security-policy-ip-6-trust-untrust] source-zone trust
[LNS-security-policy-ip-6-trust-untrust] destination-zone untrust
[LNS-security-policy-ip-6-trust-untrust] source-ip-host 10.1.0.200
[LNS-security-policy-ip-6-trust-untrust] destination-ip-range 192.168.0.10 192.168.0.20
[LNS-security-policy-ip-6-trust-untrust] action pass
[LNS-security-policy-ip-6-trust-untrust] quit
[LNS-security-policy-ip] quit
# 創建本地PPP用戶vpdnuser,設置密碼為Hello。
[LNS] local-user vpdnuser class network
[LNS-luser-network-vpdnuser] password simple Hello
[LNS-luser-network-vpdnuser] service-type ppp
[LNS-luser-network-vpdnuser] quit
# 配置ISP域system對PPP用戶采用本地驗證。
[LNS] domain system
[LNS-isp-system] authentication ppp local
[LNS-isp-system] quit
# 開啟L2TP功能。
[LNS] l2tp enable
# 創建LNS模式的L2TP組1,配置隧道本端名稱為LNS,指定接收呼叫的虛擬模板接口為VT1,並配置隧道對端名稱為LAC。
[LNS] l2tp-group 1 mode lns
[LNS-l2tp1] tunnel name LNS
[LNS-l2tp1] allow l2tp virtual-template 1 remote LAC
# 啟用隧道驗證功能,並設置隧道驗證密鑰為aabbcc。
[LNS-l2tp1] tunnel authentication
[LNS-l2tp1] tunnel password simple aabbcc
[LNS-l2tp1] quit
(3) Remote host側的配置
在Remote host上配置撥號連接,在撥號網絡窗口中輸入用戶名vpdnuser和密碼Hello進行撥號。
# 撥號連接成功後,Remote host獲取到IP地址192.168.0.2,並可以ping通LNS的私網地址192.168.0.1。
# 在LNS側,通過命令display l2tp tunnel可查看建立的L2TP隧道。
[LNS] display l2tp tunnel
LocalTID RemoteTID State Sessions RemoteAddress RemotePort RemoteName
196 3542 Established 1 1.1.2.1 1701 LAC
# 在LNS側,通過命令display l2tp session可查看建立的L2TP會話。
[LNS] display l2tp session
LocalSID RemoteSID LocalTID State
2041 64 196 Established
PPP用戶直接與LNS建立L2TP隧道,通過L2TP隧道訪問公司總部。
圖1-12 Client-Initiated模式L2TP隧道配置組網圖
需要將LNS設備的虛擬模板接口加入安全域,並放行Untrust域到Trust域、Untrust域到Local安全域的相關流量。
(1) LNS側的配置
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<LNS> system-view
[LNS] interface GigabitEthernet1/0/1
[LNS-GigabitEthernet1/0/1] ip address 1.1.2.2 255.255.255.0
[LNS-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
#配置PPP地址池。
[LNS] ip pool aaa 192.168.0.10 192.168.0.20
[LNS] ip pool aaa gateway 192.168.0.1
# 創建接口Virtual-Template1,PPP認證方式為CHAP,並使用地址池aaa為Client端分配IP地址。
[LNS] interface virtual-template 1
[LNS-Virtual-Template1] ppp authentication-mode chap domain system
[LNS-Virtual-Template1] ip address 192.168.0.1 24
[LNS-Virtual-Template1] remote address pool aaa
[LNS-Virtual-Template1] quit
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達遠端主機網絡下一跳IP地址為1.1.2.3,實際使用中請以具體組網情況為準,具體配置步驟如下。本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
[LNS] ip route-static 2.1.1.1 24 1.1.2.3
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[LNS] security-zone name Untrust
[LNS-security-zone-Untrust] import interface Virtual-Template 1
[LNS-security-zone-Untrust] import interface gigabitethernet 1/0/1
[LNS-security-zone-Untrust] quit
[LNS] security-zone name Trust
[LNS-security-zone-Trust] import interface gigabitethernet 1/0/2
[LNS-security-zone-Trust] quit
# 配置名稱為l2tplocalout的安全策規則,使LNS可以向Remoe host發送報文,具體配置步驟如下。
[LNS] security-policy ip
[LNS-security-policy-ip] rule name l2tplocalout
[LNS-security-policy-ip-1-l2tplocalout] source-zone local
[LNS-security-policy-ip-1-l2tplocalout] destination-zone untrust
[LNS-security-policy-ip-1-l2tplocalout] source-ip-host 1.1.2.2
[LNS-security-policy-ip-1-l2tplocalout] destination-ip-host 2.1.1.1
[LNS-security-policy-ip-1-l2tplocalout] action pass
[LNS-security-policy-ip-1-l2tplocalout] quit
# 配置名稱為l2tplocalin的安全策略規則,使LNS可以接收和處理來自Remoe host的報文,具體配置步驟如下。
[LNS-security-policy-ip] rule name l2tplocalin
[LNS-security-policy-ip-2-l2tplocalin] source-zone untrust
[LNS-security-policy-ip-2-l2tplocalin] destination-zone local
[LNS-security-policy-ip-2-l2tplocalin] source-ip-host 2.1.1.1
[LNS-security-policy-ip-2-l2tplocalin] destination-ip-host 1.1.2.2
[LNS-security-policy-ip-2-l2tplocalin] action pass
[LNS-security-policy-ip-2-l2tplocalin] quit
# 配置名稱為untrust-trust的安全策規則,使Remoe host可以訪問Server,具體配置步驟如下。
[LNS-security-policy-ip] rule name untrust-trust
[LNS-security-policy-ip-5-untrust-trust] source-zone untrust
[LNS-security-policy-ip-5-untrust-trust] destination-zone trust
[LNS-security-policy-ip-5-untrust-trust] source-ip-range 192.168.0.10 192.168.0.20
[LNS-security-policy-ip-5-untrust-trust] destination-ip-host 10.1.0.200
[LNS-security-policy-ip-5-untrust-trust] action pass
[LNS-security-policy-ip-5-untrust-trust] quit
# 配置名稱為trust-untrust的安全策略規則,使Server可以向Remoe host發送報文,具體配置步驟如下。
[LNS-security-policy-ip] rule name trust-untrust
[LNS-security-policy-ip-6-trust-untrust] source-zone trust
[LNS-security-policy-ip-6-trust-untrust] destination-zone untrust
[LNS-security-policy-ip-6-trust-untrust] source-ip-host 10.1.0.200
[LNS-security-policy-ip-6-trust-untrust] destination-ip-range 192.168.0.10 192.168.0.20
[LNS-security-policy-ip-6-trust-untrust] action pass
[LNS-security-policy-ip-6-trust-untrust] quit
[LNS-security-policy-ip] quit
# 創建本地PPP用戶vpdnuser,設置密碼為Hello。
[LNS] local-user vpdnuser class network
[LNS-luser-network-vpdnuser] password simple Hello
[LNS-luser-network-vpdnuser] service-type ppp
[LNS-luser-network-vpdnuser] quit
# 配置ISP域system對PPP用戶采用本地驗證。
[LNS] domain system
[LNS-isp-system] authentication ppp local
[LNS-isp-system] quit
# 開啟L2TP功能。
[LNS] l2tp enable
# 創建LNS模式的L2TP組1,配置隧道本端名稱為LNS,指定接收呼叫的虛擬模板接口為VT1。
[LNS] l2tp-group 1 mode lns
[LNS-l2tp1] tunnel name LNS
[LNS-l2tp1] allow l2tp virtual-template 1
# 關閉L2TP隧道驗證功能。
[LNS-l2tp1] undo tunnel authentication
[LNS-l2tp1] quit
(2) Remote host側的配置
配置IP地址為2.1.1.1,並配置路由,使得Remote host與LNS(IP地址為1.1.2.2)之間路由可達。
利用Windows係統創建虛擬專用網絡連接,或安裝L2TP客戶端軟件。
在Remote host上進行如下L2TP配置(設置的過程與相應的客戶端軟件有關,以下為設置的內容):
¡ 設置PPP用戶名為vpdnuser,密碼為Hello。
¡ 將LNS的IP地址設為安全網關的Internet接口地址(本例中LNS端與隧道相連接的以太網接口的IP地址為1.1.2.2)。
¡ 修改連接屬性,將采用的協議設置為L2TP,將加密屬性設為自定義,並選擇CHAP驗證。
# 在Remote host上觸發L2TP撥號。撥號連接成功後,Remote host獲取到IP地址192.168.0.2,並可以Ping通LNS的私網地址192.168.0.1。
# 在LNS側,通過命令display l2tp session可查看建立的L2TP會話。
[LNS] display l2tp session
LocalSID RemoteSID LocalTID State
39945 1 37263 Established
# 在LNS側,通過命令display l2tp tunnel可查看建立的L2TP隧道。
[LNS] display l2tp tunnel
LocalTID RemoteTID State Sessions RemoteAddress RemotePort RemoteName
37263 4 Established 1 2.1.1.1 1701 PC
# 在Remote host上Ping公司總部內的服務器10.1.0.200,可以成功Ping通。
C:\> ping 10.1.0.200
Pinging 10.1.0.200 with 32 bytes of data:
Reply from 10.1.0.200: bytes=32 time<1ms TTL=254
Reply from 10.1.0.200: bytes=32 time<1ms TTL=254
Reply from 10.1.0.200: bytes=32 time<1ms TTL=254
Reply from 10.1.0.200: bytes=32 time<1ms TTL=254
Ping statistics for 10.1.0.200:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
PPP用戶接入之前,在LAC和LNS之間采用LAC-Auto-Initiated模式建立L2TP隧道。PPP用戶接入後,通過已經建立的L2TP隧道訪問公司總部。
圖1-13 LAC-Auto-Initiated模式L2TP隧道配置組網圖
需要將LNS設備的虛擬模板接口加入安全域,並放行Untrust域到Trust域、Untrust域到Local安全域的相關流量。
(1) LAC側的配置
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<LAC> system-view
[LAC] interface gigabitethernet 1/0/1
[LAC-GigabitEthernet1/0/1] ip address 3.3.3.1 255.255.0.0
[LAC-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
# 創建虛擬PPP接口Virtual-PPP 1,配置PPP用戶的用戶名為vpdnuser、密碼為Hello,並配置PPP驗證方式為PAP。
[LAC] interface virtual-ppp 1
[LAC-Virtual-PPP1] ip address ppp-negotiate
[LAC-Virtual-PPP1] ppp pap local-user vpdnuser password simple Hello
[LAC-Virtual-PPP1] quit
# 配置私網路由,訪問公司總部的報文將通過L2TP隧道轉發。
[LAC] ip route-static 10.1.0.0 16 virtual-ppp 1
# 開啟L2TP功能。
[LAC] l2tp enable
# 創建LAC模式的L2TP組1。
[LAC] l2tp-group 1 mode lac
# 配置LAC側本端名稱為LAC,並指定LNS的IP地址為3.3.3.2。
[LAC-l2tp1] tunnel name LAC
[LAC-l2tp1] lns-ip 3.3.3.2
# 開啟隧道驗證功能,並設置隧道驗證密鑰為aabbcc。
[LAC-l2tp1] tunnel authentication
[LAC-l2tp1] tunnel password simple aabbcc
[LAC-l2tp1] quit
# 觸發LAC發起L2TP隧道建立請求。
[LAC] interface virtual-ppp 1
[LAC-Virtual-PPP1] l2tp-auto-client l2tp-group 1
[LAC-Virtual-PPP1] quit
(2) LNS側的配置
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<LNS> system-view
[LNS] interface GigabitEthernet1/0/1
[LNS-GigabitEthernet1/0/1] ip address 3.3.3.2 255.255.0.0
[LNS-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
# 創建接口Virtual-Template1,配置VT口IP地址,PPP認證方式為PAP,並指定為Client端分配IP地址為192.168.0.10。
[LNS] interface virtual-template 1
[LNS-Virtual-Template1] ip address 192.168.0.1 24
[LNS-Virtual-Template1] ppp authentication-mode pap
[LNS-Virtual-Template1] remote address 192.168.0.10
[LNS-Virtual-Template1] quit
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達遠端主機網絡下一跳IP地址為192.168.0.10,實際使用中請以具體組網情況為準,具體配置步驟如下。本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
[LNS] ip route-static 10.2.0.0 16 192.168.0.10
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[LNS] security-zone name Untrust
[LNS-security-zone-Untrust] import interface Virtual-Template 1
[LNS-security-zone-Untrust] import interface gigabitethernet 1/0/1
[LNS-security-zone-Untrust] quit
[LNS] security-zone name Trust
[LNS-security-zone-Trust] import interface gigabitethernet 1/0/2
[LNS-security-zone-Trust] quit
# 配置名稱為l2tplocalout的安全策規則,使LNS可以向LAC發送報文,具體配置步驟如下。
[LNS] security-policy ip
[LNS-security-policy-ip] rule name l2tplocalout
[LNS-security-policy-ip-1-l2tplocalout] source-zone local
[LNS-security-policy-ip-1-l2tplocalout] destination-zone untrust
[LNS-security-policy-ip-1-l2tplocalout] source-ip-host 3.3.3.2
[LNS-security-policy-ip-1-l2tplocalout] destination-ip-host 3.3.3.1
[LNS-security-policy-ip-1-l2tplocalout] action pass
[LNS-security-policy-ip-1-l2tplocalout] quit
# 配置名稱為l2tplocalin的安全策略規則,使LNS可以接收和處理來自LAC的報文,具體配置步驟如下。
[LNS-security-policy-ip] rule name l2tplocalin
[LNS-security-policy-ip-2-l2tplocalin] source-zone untrust
[LNS-security-policy-ip-2-l2tplocalin] destination-zone local
[LNS-security-policy-ip-2-l2tplocalin] source-ip-host 3.3.3.1
[LNS-security-policy-ip-2-l2tplocalin] destination-ip-host 3.3.3.2
[LNS-security-policy-ip-2-l2tplocalin] action pass
[LNS-security-policy-ip-2-l2tplocalin] quit
# 配置名稱為untrust-trust的安全策規則,使LAC可以訪問Server,具體配置步驟如下。
[LNS-security-policy-ip] rule name untrust-trust
[LNS-security-policy-ip-5-untrust-trust] source-zone untrust
[LNS-security-policy-ip-5-untrust-trust] destination-zone trust
[LNS-security-policy-ip-5-untrust-trust] source-ip-host 192.168.0.10
[LNS-security-policy-ip-5-untrust-trust] destination-ip-host 10.1.0.200
[LNS-security-policy-ip-5-untrust-trust] action pass
[LNS-security-policy-ip-5-untrust-trust] quit
# 配置名稱為trust-untrust的安全策略規則,使Server可以向LAC發送報文,具體配置步驟如下。
[LNS-security-policy-ip] rule name trust-untrust
[LNS-security-policy-ip-6-trust-untrust] source-zone trust
[LNS-security-policy-ip-6-trust-untrust] destination-zone untrust
[LNS-security-policy-ip-6-trust-untrust] source-ip-host 10.1.0.200
[LNS-security-policy-ip-6-trust-untrust] destination-ip-host 192.168.0.10
[LNS-security-policy-ip-6-trust-untrust] action pass
[LNS-security-policy-ip-6-trust-untrust] quit
[LNS-security-policy-ip] quit
# 創建本地PPP用戶vpdnuser,配置密碼為Hello。
[LNS] local-user vpdnuser class network
[LNS-luser-network-vpdnuser] password simple Hello
[LNS-luser-network-vpdnuser] service-type ppp
[LNS-luser-network-vpdnuser] quit
# 配置ISP域system對PPP用戶采用本地驗證。
[LNS] domain system
[LNS-isp-system] authentication ppp local
[LNS-isp-system] quit
# 開啟L2TP功能,並創建LNS模式的L2TP組1。
[LNS] l2tp enable
[LNS] l2tp-group 1 mode lns
# 配置LNS側本端名稱為LNS,指定接收呼叫的虛擬模板接口為VT1,並配置隧道對端名稱為LAC。
[LNS-l2tp1] tunnel name LNS
[LNS-l2tp1] allow l2tp virtual-template 1 remote LAC
# 啟用隧道驗證功能,並設置隧道驗證密鑰為aabbcc。
[LNS-l2tp1] tunnel authentication
[LNS-l2tp1] tunnel password simple aabbcc
[LNS-l2tp1] quit
(3) Remote host側的配置
Remote host上應將LAC設置為網關。
# 在LNS側,通過命令display l2tp session可查看建立的L2TP會話。
[LNS] display l2tp session
LocalSID RemoteSID LocalTID State
21073 11183 52525 Established
# 在LNS側,通過命令display l2tp tunnel可查看建立的L2TP隧道。
[LNS] display l2tp tunnel
LocalTID RemoteTID State Sessions RemoteAddress RemotePort RemoteName
52525 33375 Established 1 3.3.3.1 1701 LAC
# 在Remote host上Ping公司總部內的服務器10.1.0.200,可以成功Ping通。
C:\> ping 10.1.0.200
Pinging 10.1.0.200 with 32 bytes of data:
Reply from 10.1.0.200: bytes=32 time<1ms TTL=253
Reply from 10.1.0.200: bytes=32 time<1ms TTL=253
Reply from 10.1.0.200: bytes=32 time<1ms TTL=253
Reply from 10.1.0.200: bytes=32 time<1ms TTL=253
Ping statistics for 10.1.0.200:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
遠端係統無法訪問企業內部網絡。
主要有以下幾種原因:
· 可能是如下原因導致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保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!