01-PPP配置
本章節下載: 01-PPP配置 (442.10 KB)
PPP(Point-to-Point Protocol,點對點協議)是一種點對點的鏈路層協議。它能夠提供用戶認證,易於擴充,並且支持同/異步通信。
PPP定義了一整套協議,包括:
· 鏈路控製協議(Link Control Protocol,LCP):用來建立、拆除和監控數據鏈路。
· 網絡控製協議(Network Control Protocol,NCP):用來協商在數據鏈路上所傳輸的網絡層報文的一些屬性和類型。
· 認證協議:用來對用戶進行認證,包括PAP(Password Authentication Protocol,密碼認證協議)、CHAP(Challenge Handshake Authentication Protocol,質詢握手認證協議)、MSCHAP(Microsoft CHAP,微軟CHAP協議)和MSCHAPv2(微軟CHAP協議版本2)。
PPP鏈路建立過程如圖1-1所示:
(1) PPP初始狀態為不活動(Dead)狀態,當物理層Up後,PPP會進入鏈路建立(Establish)階段。
(2) PPP在Establish階段主要進行LCP協商。LCP協商內容包括:Authentication-Protocol(認證協議類型)、ACCM(Async-Control-Character-Map,異步控製字符映射表)、MRU(Maximum-Receive-Unit,最大接收單元)、Magic-Number(魔術字)、PFC(Protocol-Field-Compression,協議字段壓縮)、ACFC(Address-and-Control-Field-Compression,地址控製字段壓縮)等選項。如果LCP協商失敗,LCP會上報Fail事件,PPP回到Dead狀態;如果LCP協商成功,LCP進入Opened狀態,LCP會上報Up事件,表示鏈路已經建立(此時對於網絡層而言PPP鏈路還未建立,還不能夠在上麵成功傳輸網絡層報文)。
(3) 如果配置了認證,則進入Authenticate階段,開始PAP、CHAP、MSCHAP或MSCHAPv2認證。如果認證失敗,LCP會上報Fail事件,進入Terminate階段,拆除鏈路,LCP狀態轉為Down,PPP回到Dead狀態;如果認證成功,LCP會上報Success事件。
(4) 如果配置了網絡層協議,則進入Network協商階段,進行NCP協商(如IPCP協商、IPv6CP協商)。如果NCP協商成功,鏈路就會UP,就可以開始承載協商指定的網絡層報文;如果NCP協商失敗,NCP會上報Down事件,進入Terminate階段。(對於IPCP協商,如果接口配置了IP地址,則進行IPCP協商,IPCP協商通過後,PPP才可以承載IP報文。IPCP協商內容包括:IP地址、DNS服務器地址等。)
(5) 到此,PPP鏈路將一直保持通信,直至有明確的LCP或NCP消息關閉這條鏈路,或發生了某些外部事件(例如用戶的幹預)。
圖1-1 PPP鏈路建立過程
PPP提供了在其鏈路上進行安全認證的手段,使得在PPP鏈路上實施AAA變的切實可行。將PPP與AAA結合,可在PPP鏈路上對對端用戶進行認證、計費。
PPP支持如下認證方式:PAP、CHAP、MSCHAP、MSCHAPv2。
PAP為兩次握手協議,它通過用戶名和密碼來對用戶進行認證。
PAP在網絡上以明文的方式傳遞用戶名和密碼,認證報文如果在傳輸過程中被截獲,便有可能對網絡安全造成威脅。因此,它適用於對網絡安全要求相對較低的環境。
CHAP為三次握手協議。
CHAP認證過程分為兩種方式:認證方配置了用戶名、認證方未配置用戶名。推薦使用認證方配置用戶名的方式,這樣被認證方可以對認證方的身份進行確認。
CHAP隻在網絡上傳輸用戶名,並不傳輸用戶密碼(準確的講,它不直接傳輸用戶密碼,傳輸的是用MD5算法將用戶密碼與一個隨機報文ID一起計算的結果),因此它的安全性要比PAP高。
MSCHAP為三次握手協議,認證過程與CHAP類似,MSCHAP與CHAP的不同之處在於:
· MSCHAP采用的加密算法是0x80。
· MSCHAP支持重傳機製。在被認證方認證失敗的情況下,如果認證方允許被認證方進行重傳,被認證方會將認證相關信息重新發回認證方,認證方根據此信息重新對被認證方進行認證。認證方最多允許被認證方重傳3次。
MSCHAPv2為三次握手協議,認證過程與CHAP類似,MSCHAPv2與CHAP的不同之處在於:
· MSCHAPv2采用的加密算法是0x81。
· MSCHAPv2通過報文捎帶的方式實現了認證方和被認證方的雙向認證。
· MSCHAPv2支持重傳機製。在被認證方認證失敗的情況下,如果認證方允許被認證方進行重傳,被認證方會將認證相關信息重新發回認證方,認證方根據此信息重新對被認證方進行認證。認證方最多允許被認證方重傳3次。
· MSCHAPv2支持修改密碼機製。被認證方由於密碼過期導致認證失敗時,被認證方會將用戶輸入的新密碼信息發回認證方,認證方根據新密碼信息重新進行認證。
在IPv4網絡中,PPP進行IPCP協商過程中可以進行IP地址、DNS服務器地址的協商。
PPP在進行IPCP協商的過程中可以進行IP地址的協商,即一端給另一端分配IP地址。
在PPP協商IP地址的過程中,設備可以分為兩種角色:
· Client端:若本端接口封裝的鏈路層協議為PPP但還未配置IP地址,而對端已有IP地址時,用戶可為本端接口配置IP地址可協商屬性,使本端接口作為Client端接受由對端(Server端)分配的IP地址。該方式主要用於設備在通過ISP訪問Internet時,由ISP分配IP地址。
· Server端:若設備作為Server端為Client端分配IP地址,則應先配置地址池(可以是PPP地址池或者DHCP地址池),然後在ISP域下關聯地址池,或者在接口下指定為Client端分配的IP地址或者地址池,最後再配置Server端的IP地址,開始進行IPCP協商。
當Client端配置了IP地址可協商屬性後,Server端根據AAA認證結果(關於AAA的介紹請參見“安全配置指導”中的“AAA”)和接口下的配置,按照如下順序給Client端分配IP地址:
· 如果AAA認證服務器為Client端設置了IP地址或者地址池信息,則Server端將采用此信息為Client端分配IP地址(這種情況下,為Client端分配的IP地址或者分配IP地址所采用的地址池信息是在AAA認證服務器上進行配置的,Server端不需要進行特殊配置)。
· 如果Client端認證時使用的ISP域下設置了為Client端分配IP地址的地址池,則Server端將采用此地址池為Client端分配IP地址。
· 如果Server端的接口下指定了為Client端分配的IP地址或者地址池,則Server端將采用此信息為Client端分配IP地址。
設備在進行IPCP協商的過程中可以進行DNS服務器地址協商。設備既可以作為Client端接收其它設備分配的DNS服務器地址,也可以作為Server端向其它設備提供DNS服務器地址。通常情況下:
· 當主機與設備通過PPP協議相連時,設備應配置為Server端,為對端主機指定DNS服務器地址,這樣主機就可以通過域名直接訪問Internet;
· 當設備通過PPP協議連接運營商的接入服務器時,設備應配置為Client端,被動接收或主動請求接入服務器指定DNS服務器地址,這樣設備就可以使用接入服務器分配的DNS來解析域名。
在IPv6網絡中,PPP進行IPv6CP協商過程中,隻協商出IPv6接口標識,不能協商出IPv6地址、IPv6 DNS服務器地址。
PPP進行IPv6CP協商過程中,隻協商出IPv6接口標識,不能直接協商出IPv6地址。
客戶端可以通過如下三種方式分配到IPv6全球單播地址:
· 方式1:客戶端通過ND協議中的RA報文獲得IPv6地址前綴。客戶端采用RA報文中攜帶的前綴和IPv6CP協商的IPv6接口標識一起組合生成IPv6全球單播地址。RA報文中攜帶的IPv6地址前綴的來源有三種:AAA授權的IPv6前綴、接口下配置的RA前綴、接口下配置的IPv6全球單播地址的前綴。三種來源的優先級依次降低,AAA授權的優先級最高。關於ND協議的詳細介紹請參見“三層技術-IP業務配置指導”中的“IPv6基礎”。
· 方式2:客戶端通過DHCPv6協議申請IPv6全球單播地址。在服務器端可以通過AAA授權為每個客戶端分配不同的地址池,當授權了地址池後,DHCPv6在分配IPv6地址時會從地址池中獲取IPv6地址分配給客戶端。如果AAA未授權地址池,DHCPv6會根據服務器端的IPv6地址查找匹配的地址池為客戶端分配地址。關於DHCPv6協議的詳細介紹請參見“三層技術-IP業務配置指導”中的“DHCPv6”。
· 方式3:客戶端通過DHCPv6協議申請代理前綴,客戶端通過代理前綴為下麵的主機分配IPv6全球單播地址。代理前綴分配方式中地址池的選擇原則和通過DHCPv6協議分配IPv6全球單播地址方式中地址池的選擇原則一致。
根據組網不同,主機獲取IPv6地址的方式如下:
· 當主機通過橋設備或者直連接入設備時,設備可以采用上述的方式1或方式2直接為主機分配IPv6全球單播地址。
· 當主機通過路由器接入設備時,設備可以采用方式3為路由器分配IPv6前綴,路由器把這些IPv6前綴分配給主機來生成IPv6全球單播地址。
在IPv6網絡中,IPv6 DNS服務器地址的分配有如下兩種方式:
· AAA授權IPv6 DNS服務器地址,通過ND協議中的RA報文將此IPv6 DNS服務器地址分配給主機。
· DHCPv6客戶端向DHCPv6服務器申請IPv6 DNS服務器地址。
與PPP相關的協議規範有:
· RFC 1661:The Point-to-Point Protocol (PPP)
PPP配置任務如下:
(1) 配置虛擬模板接口
在PPPoE和L2TP組網中,需要本配置。
(2) 配置PPP認證
請選擇以下一項任務進行配置:
¡ 配置PAP認證
在網絡安全要求較高的環境下,需要配置PPP認證。
(3) (可選)配置輪詢功能
(4) (可選)配置PPP協商參數
¡ 配置ACFC協商
¡ 配置PFC協商
(5) (可選)配置PPP IPHC壓縮功能
在低速鏈路上,每個語音報文中報文頭消耗大部分的帶寬。為了減少報文頭對帶寬的消耗,可以在PPP鏈路上使用IPHC壓縮功能,對報文頭進行壓縮。
(6) (可選)配置PPP鏈路質量監測功能
(7) (可選)配置PPP用戶的nas-port-type屬性
(8) (可選)配置PPP計費統計功能
VT(Virtual Template,虛擬模板)是用於配置一個VA(Virtual Access,虛擬訪問)接口的模板。在PPPoE和L2TP應用中需要創建一個VA接口與對端交換數據。此時,係統將選擇一個VT,以便動態地創建一個VA接口。
在PPPoE和L2TP應用中可借助VT接口來實現PPP協議的相關功能。有關PPPoE和L2TP的相關介紹,請參見“二層技術-廣域網接入配置指導”中的“PPPoE”和“VPN配置指導”中的“L2TP”。
(1) 進入係統視圖。
system-view
(2) 創建虛擬模板接口並進入虛擬模板接口視圖。
interface virtual-template number
(3) (可選)配置接口的描述信息。
description text
缺省情況下,接口的描述信息為“該接口的接口名 Interface”,比如:Virtual-Template1 Interface。
(4) (可選)配置接口的MTU值。
mtu size
虛擬模板接口的MTU取值範圍為128~1500。
(5) (可選)配置接口的期望帶寬。
bandwidth bandwidth-value
缺省情況下,接口的期望帶寬=接口的波特率÷1000(kbps)。
接口下的某些配置恢複到缺省情況後,會對設備上當前運行的業務產生影響。建議您在執行該命令前,完全了解其對網絡產生的影響。
您可以在執行default命令後通過display this命令確認執行效果。對於未能成功恢複缺省的配置,建議您查閱相關功能的命令手冊,手工執行恢複該配置缺省情況的命令。如果操作仍然不能成功,您可以通過設備的提示信息定位原因。
(1) 進入係統視圖。
system-view
(2) 進入虛擬模板接口視圖。
interface virtual-template number
(3) 恢複當前接口的缺省配置。
default
PPP支持的認證方式包括:PAP、CHAP、MSCHAP、MSCHAPv2。用戶可以同時配置多種認證方式,在LCP協商過程中,認證方根據用戶配置的認證方式順序逐一與被認證方進行協商,直到協商通過。如果協商過程中,被認證方回應的協商報文中攜帶了建議使用的認證方式,認證方查找配置中存在該認證方式,則直接使用該認證方式進行認證。
在認證方上,若采用本地AAA認證,則認證方必須為被認證方配置本地用戶的用戶名和密碼,若采用遠程AAA認證,則遠程AAA服務器上需要配置被認證方的用戶名和密碼。
不論是在本地還是AAA服務器上為被認證方配置的用戶名和密碼必須與被認證方上通過ppp pap local-user命令配置的用戶名和密碼相同。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置本地認證對端的方式為PAP。
ppp authentication-mode pap [ [ call-in ] domain { isp-name | default enable isp-name } ]
缺省情況下,PPP協議不進行認證。
(4) 配置本地AAA認證或者遠程AAA認證。
具體配置請參見“安全配置指導”中的“AAA”。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置本地被對端以PAP方式認證時本地發送的PAP用戶名和密碼。
ppp pap local-user username password { cipher | simple } string
缺省情況下,被對端以PAP方式認證時,本地設備發送的用戶名和密碼均為空。
查看配置的密碼信息時,無論采用明文或密文加密,密碼都將按密文方式顯示。
在認證方上,若采用本地AAA認證,則認證方必須為被認證方配置本地用戶的用戶名和密碼,若采用遠程AAA認證,則遠程AAA服務器上需要配置被認證方的用戶名和密碼。
不論是在本地還是AAA服務器上為被認證方配置的用戶名和密碼必須滿足如下要求:
· 用戶名必須與被認證方上通過ppp chap user命令配置的被認證方的用戶名相同。
· 密碼必須與被認證方上為認證方配置的用戶名的密碼相同。
在被認證方上,若采用本地AAA認證,則被認證方必須為認證方配置本地用戶的用戶名和密碼,若采用遠程AAA認證,則遠程AAA服務器上需要配置認證方的用戶名和密碼。
不論是在本地還是AAA服務器上為認證方配置的用戶名和密碼必須滿足如下要求:
· 用戶名必須與認證方上通過ppp chap user命令配置的認證方的用戶名相同。
· 密碼必須與認證方上為被認證方配置的用戶名的密碼相同。
在被認證方上不能通過ppp chap password命令配置進行CHAP認證時采用的密碼,否則即使認證方配置了用戶名,CHAP仍將按照認證方未配置用戶名的情況進行認證。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置本地認證對端的方式為CHAP。
ppp authentication-mode chap [ [ call-in ] domain { isp-name | default enable isp-name } ]
缺省情況下,PPP協議不進行認證。
(4) 配置采用CHAP認證時認證方的用戶名。
ppp chap user username
缺省情況下,CHAP認證的用戶名為空。
(5) 配置本地AAA認證或者遠程AAA認證。
具體配置請參見“安全配置指導”中的“AAA”。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置采用CHAP認證時被認證方的用戶名。
ppp chap user username
缺省情況下,CHAP認證的用戶名為空。
(4) 配置本地AAA認證或者遠程AAA認證。
具體配置請參見“安全配置指導”中的“AAA”。
在認證方上,若采用本地AAA認證,則認證方必須為被認證方配置本地用戶的用戶名和密碼,若采用遠程AAA認證,則遠程AAA服務器上需要配置被認證方的用戶名和密碼。
不論是在本地還是AAA服務器上為被認證方配置的用戶名和密碼必須滿足如下要求:
· 用戶名必須與被認證方上通過ppp chap user命令配置的被認證方的用戶名相同。
· 密碼必須與被認證方上通過ppp chap password命令配置的密碼相同。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置本地認證對端的方式為CHAP。
ppp authentication-mode chap [ [ call-in ] domain { isp-name | default enable isp-name } ]
缺省情況下,PPP協議不進行認證。
(4) 配置本地AAA認證或者遠程AAA認證。
具體配置請參見“安全配置指導”中的“AAA”。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置采用CHAP認證時被認證方的用戶名。
ppp chap user username
缺省情況下,CHAP認證的用戶名為空。
(4) 設置CHAP認證密碼。
ppp chap password { cipher | simple } password
缺省情況下,未配置進行CHAP認證時采用的密碼。
查看配置的密碼信息時,無論采用明文或密文加密,密碼都將按密文方式顯示。
設備隻能作為MSCHAP和MSCHAPv2的認證方來對其它設備進行認證。
MSCHAPv2認證隻有在RADIUS認證的方式下,才能支持修改密碼機製。
MSCHAPv2認證時不支持為PPP用戶配置認證方式為none。
在認證方上,若采用本地AAA認證,則認證方必須為被認證方配置本地用戶的用戶名和密碼,若采用遠程AAA認證,則遠程AAA服務器上需要配置被認證方的用戶名和密碼。不論是在本地還是AAA服務器上為被認證方配置的用戶名和密碼必須與被認證方上的配置相同。
若認證方配置了用戶名,則在被認證方上為認證方配置的用戶名必須與認證方上ppp chap user命令配置的用戶名相同。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置本地認證對端的方式為MSCHAP或MSCHAPv2。
ppp authentication-mode { ms-chap | ms-chap-v2 } [ [ call-in ] domain { isp-name | default enable isp-name } ]
缺省情況下,PPP協議不進行認證。
(4) 配置采用MSCHAP或MSCHAPv2認證時認證方的用戶名。
ppp chap user username
(5) 配置本地AAA認證或者遠程AAA認證。
具體配置請參見“安全配置指導”中的“AAA”。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置本地認證對端的方式為MSCHAP或MSCHAPv2。
ppp authentication-mode { ms-chap | ms-chap-v2 } [ [ call-in ] domain { isp-name | default enable isp-name } ]
缺省情況下,PPP協議不進行認證。
(4) 配置本地AAA認證或者遠程AAA認證。
具體配置請參見“安全配置指導”中的“AAA”。
PPP協議使用輪詢機製來確認鏈路狀態是否正常。
當接口上封裝的鏈路層協議為PPP時,鏈路層會周期性地向對端發送keepalive報文(可以通過timer-hold命令修改keepalive報文的發送周期)。如果接口在retry個(可以通過timer-hold retry命令修改該個數)keepalive周期內沒有收到keepalive報文的應答,鏈路層會認為對端故障,上報鏈路層Down。
如果將keepalive報文的發送周期配置為0秒,則本端不主動發送keepalive報文;當本端收到對端主動發送過來的keepalive報文時,仍可以對該keepalive報文進行應答。
在速率非常低的鏈路上,keepalive周期和retry值不能配置過小。因為在低速鏈路上,大報文可能會需要很長的時間才能傳送完畢,這樣就會延遲keepalive報文的發送與接收。而接口如果在retry個keepalive周期內沒有收到keepalive報文的應答,它就會認為鏈路發生故障。如果keepalive報文被延遲的時間超過接口的這個限製,鏈路就會被認為發生故障而被關閉。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接口發送keepalive報文的周期。
timer-hold seconds
缺省情況下,接口發送keepalive報文的周期為10秒。
(4) 配置接口在多少個keepalive周期內未收到keepalive報文的應答就拆除鏈路。
timer-hold retry retry
缺省情況下,接口在5個keepalive周期內未收到keepalive報文的應答就拆除鏈路。
在PPP協商過程中,如果協商超時時間間隔內未收到對端的應答報文,則PPP將會重發前一次發送的報文。
在PPP鏈路兩端設備對LCP協商報文的處理速度差異較大的情況下,為避免因一端無法及時處理對端發送的LCP協商報文而導致對端重傳,可在對協商報文處理速度較快的設備上配置LCP協商的延遲時間。配置LCP協商的延遲時間後,當接口物理層UP時PPP將在延遲時間超時後才會主動進行LCP協商;如果在延遲時間內本端設備收到對端設備發送的LCP協商報文,則本端設備將不再等待延遲時間超時,而是直接進行LCP協商。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置協商超時時間間隔。
ppp timer negotiate seconds
缺省情況下,協商超時時間間隔為3秒。
(4) (可選)配置LCP協商的延遲時間。
ppp lcp delay milliseconds
缺省情況下,接口物理層UP後,PPP立即進行LCP協商。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 為接口配置IP地址可協商屬性。
ip address ppp-negotiate
缺省情況下,接口未配置IP地址可協商屬性。
多次執行本命令和ip address命令,最後一次執行的命令生效。關於ip address命令的詳細介紹,請參見“三層技術-IP業務命令參考”中的“IP地址”。
目前Server端為Client端分配IP地址支持以下三種方式:
· 在接口下指定為Client端分配的IP地址。
· 從接口下指定的地址池(支持PPP地址池和DHCP地址池)中為Client端分配IP地址。
· 從ISP域下關聯的地址池(支持PPP地址池和DHCP地址池)中為Client端分配IP地址。
不需要進行PPP認證的PPP用戶可以使用在接口下指定為Client端分配的IP地址和從接口下指定的地址池中為Client端分配IP地址兩種地址分配方式。同時配置這兩種方式,最後一次的配置生效。
需要進行PPP認證的PPP用戶可以使用全部的三種方式。同時配置多種方式時,以ISP域下關聯的地址池優先,然後是接口下指定為Client端分配的IP地址或者地址池(接口下同時配置這兩種方式時,最後一次的配置生效)。
如果用戶配置了名稱相同的PPP地址池和DHCP地址池,並采用該名稱的地址池為對端分配IP地址,則係統隻會使用PPP地址池來分配IP地址。
當通過PPP地址池給用戶分配IP地址時,請確保PPP地址池中不包含該PPP地址池的網關地址。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接口為Client端分配的IP地址。
remote address ip-address
缺省情況下,接口不為Client端分配IP地址。
(4) 配置Server端的IP地址。
ip address ip-address
缺省情況下,接口未配置IP地址。
(1) 進入係統視圖。
system-view
(2) 配置PPP地址池。
ip pool pool-name start-ip-address [ end-ip-address ] [ group group-name ]
(3) (可選)配置PPP地址池的網關地址。
ip pool pool-name gateway ip-address [ vpn-instance vpn-instance-name ]
缺省情況下,未為PPP地址池配置網關地址。
(4) (可選)配置PPP地址池路由。
ppp ip-pool route ip-address { mask-length | mask } [ vpn-instance vpn-instance-name ] [ vsrp-instance vsrp-instance-name ]
缺省情況下,未配置PPP地址池路由。
需要保證配置的PPP地址池路由網段覆蓋PPP地址池網段範圍。
(5) 進入接口視圖。
interface interface-type interface-number
(6) 使用PPP地址池為Client端分配IP地址。
remote address pool pool-name
缺省情況下,接口不為Client端分配IP地址。
(7) 配置Server端的IP地址。
ip address ip-address
缺省情況下,接口未配置IP地址。
(1) 進入係統視圖。
system-view
(2) 配置DHCP功能。
¡ 如果Server端同時作為DHCP服務器,則在Server端上配置DHCP服務器、DHCP地址池相關內容。
¡ 如果Server端作為DHCP中繼,則在Server端上配置DHCP中繼相關內容(必須配置DHCP中繼用戶地址表項記錄功能、DHCP中繼地址池),並在遠端DHCP服務器上配置DHCP地址池。
DHCP服務器和DHCP中繼的具體配置介紹請參見“三層技術-IP業務配置指導”中的“DHCP服務器”和“DHCP中繼”。
(3) 進入接口視圖。
interface interface-type interface-number
(4) 使用DHCP地址池為Client端分配IP地址。
remote address pool pool-name
缺省情況下,接口不為Client端分配IP地址。
(5) (可選)配置使用PPP用戶名作為DHCP客戶端ID。
remote address dhcp client-identifier username
缺省情況下,未配置使用PPP用戶名作為DHCP客戶端ID。
當使用PPP用戶名作為DHCP客戶端ID時,請確保各個上線用戶分別使用不同的PPP用戶名上線。
(6) 配置Server端的IP地址。
ip address ip-address
缺省情況下,接口未配置IP地址。
(1) 進入係統視圖。
system-view
(2) 配置PPP地址池。
ip pool pool-name start-ip-address [ end-ip-address ] [ group group-name ]
缺省情況下,未配置PPP地址池。
(3) (可選)配置PPP地址池的網關地址。
ip pool pool-name gateway ip-address [ vpn-instance vpn-instance-name ]
缺省情況下,未為PPP地址池配置網關地址。
(4) (可選)配置PPP地址池路由。
ppp ip-pool route ip-address { mask-length | mask } [ vpn-instance vpn-instance-name ] [ vsrp-instance vsrp-instance-name ]
缺省情況下,未配置PPP地址池路由。
用戶需要保證配置的PPP地址池路由網段覆蓋PPP地址池網段範圍。
(5) 進入ISP域視圖。
domain isp-name
(6) 在ISP域下關聯PPP地址池為Client端分配IP地址。
authorization-attribute ip-pool pool-name
缺省情況下,ISP域下未關聯PPP地址池。
本命令的詳細介紹請參見“安全命令參考”中的“AAA”。
(7) 退回係統視圖。
quit
(8) 進入接口視圖。
interface interface-type interface-number
(9) 配置Server端的IP地址。
ip address ip-address
缺省情況下,接口未配置IP地址。
(1) 進入係統視圖。
system-view
(2) 配置DHCP功能。
¡ 如果Server端同時作為DHCP服務器,則在Server端上配置DHCP服務器、DHCP地址池相關內容。
¡ 如果Server端作為DHCP中繼,則在Server端上配置DHCP中繼相關內容(必須配置DHCP中繼用戶地址表項記錄功能、DHCP中繼地址池),並在遠端DHCP服務器上配置DHCP地址池。
DHCP服務器和DHCP中繼的具體配置介紹請參見“三層技術-IP業務配置指導”中的“DHCP服務器”和“DHCP中繼”。
(3) 進入ISP域視圖。
domain isp-name
(4) 在ISP域下關聯DHCP地址池或DHCP中繼地址池為Client端分配IP地址。
authorization-attribute ip-pool pool-name
缺省情況下,ISP域下未關聯DHCP地址池或DHCP中繼地址池。
本命令的詳細介紹請參見“安全命令參考”中的“AAA”。
(5) 退回係統視圖。
quit
(6) 進入接口視圖。
interface interface-type interface-number
(7) (可選)配置PPP用戶作為DHCP客戶端時使用的DHCP客戶端ID。
remote address dhcp client-identifier username
缺省情況下,未配置PPP用戶作為DHCP客戶端時使用的DHCP客戶端ID。
當使用PPP用戶名作為DHCP客戶端ID時,請確保各個上線用戶分別使用不同的PPP用戶名上線。
(8) 配置Server端的IP地址。
ip address ip-address
缺省情況下,接口未配置IP地址。
開啟接口的IP網段檢查功能後,當IPCP協商時,本地會檢查對端的IP地址與本端接口的IP地址是否在同一網段,如果不在同一網段,則IPCP協商失敗。
如果接口的IP網段檢查功能處於關閉狀態,則在IPCP協商階段不進行接口IP網段檢查。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟接口的IP網段檢查功能。
ppp ipcp remote-address match
缺省情況下,接口的IP網段檢查功能處於關閉狀態。
一般情況下,Client端配置了ppp ipcp dns request命令後,Server端才會為本端指定DNS服務器地址。有一些特殊的設備,Client端並未請求,Server端卻要強製為Client端指定DNS服務器地址,從而導致協商不通過,為了適應這種情況,Client端可以配置ppp ipcp dns admit-any命令以便可以被動地接收對端指定的DNS服務器地址。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置設備主動請求對端指定DNS服務器地址。
ppp ipcp dns request
缺省情況下,禁止設備主動向對端請求DNS服務器地址。
(4) 配置設備可以被動地接收對端指定的DNS服務器地址,即設備不發送DNS請求,也能接收對端設備分配的DNS服務器地址。
ppp ipcp dns admit-any
缺省情況下,設備不會被動地接收對端設備指定的DNS服務器的IP地址。
在配置了ppp ipcp dns request命令的情況下,可以不配置本命令。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置設備為對端設備指定DNS服務器地址。
ppp ipcp dns primary-dns-address [ secondary-dns-address ]
缺省情況下,設備不為對端設備指定DNS服務器的IP地址。
配置本命令後,Server端不會主動給Client端指定DNS的地址,隻有收到Client端的請求後,Server端才會為對端指定DNS服務器地址。
缺省情況下,PPP報文中的地址字段的值固定為0xFF,控製字段的值固定為0x03,既然這兩個字段的值是固定的,就可以對這兩個字段進行壓縮。
ACFC協商選項字段用來通知對端,本端可以接收地址和控製字段被壓縮的報文。
ACFC協商在LCP協商階段進行,對於LCP報文不進行地址字段和控製字段壓縮,以確保LCP協商過程順利進行。當LCP協商通過後,對於發送的非LCP報文將進行地址字段和控製字段壓縮,以增加鏈路的有效載荷。
建議在低速鏈路上配置本功能。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置本地發送ACFC協商請求,即LCP協商時本地發送的協商請求攜帶ACFC協商選項。
ppp acfc local-request
缺省情況下,LCP協商時本地發送的協商請求不攜帶ACFC協商選項。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置拒絕對端的ACFC協商請求,即LCP協商時拒絕對端攜帶的ACFC協商選項。
ppp acfc remote-reject
缺省情況下,接受對端的ACFC協商請求,即LCP協商時接受對端攜帶的ACFC協商選項,並且發送的報文進行地址控製字段壓縮。
缺省情況下,PPP報文中的協議字段長度為2字節,然而,目前典型的協議字段取值都小於256,所以可以壓縮成一個字節來區分協議類型。
PFC協商選項字段用來通知對端,本端可以接收協議字段被壓縮成一個字節的報文。
PFC協商在LCP協商階段進行,對於LCP報文不進行協議字段壓縮,以確保LCP協商過程順利進行。當LCP協商通過後,對於發送的非LCP報文將進行協議字段壓縮,如果協議字段的頭8比特為全零,則不添加此8比特,以增加鏈路的有效載荷;
建議在低速鏈路上配置本功能。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置本地發送PFC協商請求,即LCP協商時本地發送的協商請求攜帶PFC協商選項。
ppp pfc local-request
缺省情況下,LCP協商時本地發送的協商請求不攜帶PFC協商選項。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置拒絕對端的PFC協商請求,即LCP協商時拒絕對端攜帶的PFC協商選項。
ppp pfc remote-reject
缺省情況下,接受對端的PFC協商請求,即LCP協商時接受對端攜帶的PFC協商選項,並且發送的報文進行協議字段壓縮。
IPHC(IP Header Compression,IP報文頭壓縮)協議主要應用於低速鏈路上的語音通信。
在低速鏈路上,每個語音報文中報文頭消耗大部分的帶寬。為了減少報文頭對帶寬的消耗,可以在PPP鏈路上使用IPHC壓縮功能,對報文頭進行壓縮。
IPHC壓縮分為如下兩種:
· RTP頭壓縮:對報文中的RTP/UDP/IP頭(長度共40字節)進行壓縮。
· TCP頭壓縮:對報文中的TCP/IP頭(長度共40字節)進行壓縮。
用戶必須在鏈路的兩端同時開啟IPHC壓縮功能,該功能才生效。
在虛擬模板接口、Dialer接口上開啟/關閉IPHC壓縮功能時,配置不會立即生效,隻有對此接口或者其綁定的物理接口依次進行shutdown和undo shutdown操作後,配置才能生效。
隻有在開啟IPHC壓縮功能後,才能配置接口上允許進行RTP頭/TCP頭壓縮的最大連接數,並且需要對接口依次進行shutdown和undo shutdown操作後,配置才能生效。在關閉IPHC壓縮功能後,配置將被清除。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟PPP IPHC壓縮功能。
ppp compression iphc enable [ nonstandard ]
缺省情況下,IPHC壓縮功能處於關閉狀態。
與非H3C設備互通時需要配置nonstandard參數。
配置nonstandard參數後,僅支持RTP頭壓縮,不支持TCP頭壓縮。
(4) 配置接口上允許進行RTP頭壓縮的最大連接數。
ppp compression iphc rtp-connections number
缺省情況下,接口上允許進行RTP頭壓縮的最大連接數為16。
(5) 配置接口上允許進行TCP頭壓縮的最大連接數。
ppp compression iphc tcp-connections number
缺省情況下,接口上允許進行TCP頭壓縮的最大連接數為16。
PPP鏈路質量監測功能可以實時對PPP鏈路的通信質量(丟包率和錯包率)進行監測。
在未配置PPP鏈路質量監測功能之前,PPP接口(封裝PPP協議的接口)會每隔一段時間向對端發送keepalive報文;在配置此功能之後,PPP接口會用LQR(Link Quality Reports,鏈路質量報告)報文代替keepalive報文,即每隔一段時間向對端發送LQR報文,用以對鏈路情況進行監測。
當鏈路質量正常時,係統對每個LQR報文進行鏈路質量計算,如果連續兩次鏈路質量低於用戶設置的禁用鏈路質量百分比,鏈路會被禁用。當鏈路被禁用後,係統每隔十個LQR報文進行一次鏈路質量計算,隻有連續三次鏈路質量高於用戶設置的恢複鏈路質量百分比,鏈路才會被恢複。因此,當鏈路被禁用後,至少要在30個keepalive周期後才能恢複。如果keepalive周期設置過大,可能會導致鏈路長時間無法恢複。
當在PPP鏈路兩端同時開啟鏈路質量監測功能時,兩端設備的參數必須相等。不建議在鏈路兩端同時開啟鏈路質量監測功能。
不建議在撥號線路上開啟PPP鏈路質量監測功能。當在撥號線路上開啟鏈路質量監測功能後,由於撥號線路的特點,一旦鏈路被禁用,DDR模塊就會把撥號線路掛斷,因此鏈路質量監測就不能正常的運行。隻有當有數據需要傳輸時,DDR模塊把撥號線路重新呼起,鏈路質量監測功能才能恢複正常。
本特性配置後僅對新接入的用戶生效,對當前已經存在用戶無影響。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟PPP鏈路質量監測功能。
ppp lqm close-percentage close-percentage [ resume-percentage resume-percentage ]
缺省情況下,PPP鏈路質量監測功能處於關閉狀態。
(4) 配置當鏈路質量檢測功能檢測到鏈路質量低時向對端發送LCP echo報文。
ppp lqm lcp-echo [ packet size ] [ interval interval ]
缺省情況下,鏈路質量檢測功能檢測到鏈路質量低時不向對端發送LCP echo報文。
為避免由大字節報文丟失導致鏈路質量低下時的鏈路動蕩,當開啟PPP鏈路質量監測功能時,可以通過配置本命令,在監測到鏈路質量低的時候向PPP鏈路對端定期發送大字節LCP echo報文進行檢測。
本特性用來配置RADIUS認證計費時所攜帶的nas-port-type屬性。關於nas-port-type屬性的詳細介紹請參見RFC 2865。
本特性配置後僅對新接入的用戶生效,對當前已經存在用戶無影響。
(1) 進入係統視圖。
system-view
(2) 進入虛擬模板接口視圖。
interface virtual-template number
(3) 配置接口的nas-port-type屬性。
nas-port-type { ethernet | virtual }
缺省情況下,nas-port-type屬性由PPP用戶的業務類型和承載鏈路類型決定:
¡ 如果是PPPoE業務,nas-port-type屬性為ethernet。
¡ 如果是L2TP業務,nas-port-type屬性為virtual。
PPP協議可以為每條PPP鏈路提供基於流量的計費統計功能,具體統計內容包括出入兩個方向上流經本鏈路的報文數和字節數。AAA可以獲取這些流量統計信息用於計費控製。關於AAA計費的詳細介紹請參見“安全配置指導”中的“AAA”。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟PPP計費統計功能。
ppp account-statistics enable [ acl { acl-number | name acl-name } ]
缺省情況下,PPP計費統計功能處於關閉狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示PPP配置後的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除相應接口的統計信息。
表1-1 PPP顯示和維護
操作 |
命令 |
顯示PPP地址池的信息 |
display ip pool [ pool-name | group group-name ] |
顯示PPP接入用戶的信息 |
display ppp access-user { interface interface-type interface-number [ count ] | ip-address ipv4-address | ipv6-address ipv6-address | username user-name | user-type { lac | lns | pppoa | pppoe } [ count ] } |
顯示虛擬模板接口的相關信息 |
display interface [ virtual-template [ interface-number ] ] [ brief [ description | down ] ] |
顯示虛擬訪問接口的相關信息 |
display interface [ virtual-access [ interface-number ] ] [ brief [ description | down ] ] |
顯示IPHC壓縮的統計信息 |
display ppp compression iphc { rtp | tcp } [ interface interface-type interface-number ] |
清除VA接口的統計信息 |
reset counters interface [ virtual-access [ interface-number ] ] |
清除IPHC壓縮的統計信息 |
reset ppp compression iphc [ rtp | tcp ] [ interface interface-type interface-number ] |
強製PPP用戶下線 |
reset ppp access-user { ip-address ipv4-address [ vpn-instance ipv4-vpn-instance-name ] | ipv6-address ipv6-address [ vpn-instance ipv6-vpn-instance-name ] | username user-name } |
PPPoE(Point-to-Point Protocol over Ethernet,在以太網上承載PPP協議)是對PPP協議的擴展,它在以太網上建立PPPoE會話,將PPP報文封裝在以太網幀之內,在以太網上提供點對點的連接,解決了PPP無法應用於以太網的問題。PPPoE還可以通過遠端接入設備對接入的每台主機實現控製、認證、計費功能。由於很好地結合了以太網的經濟性及PPP良好的可擴展性與管理控製功能,PPPoE被廣泛應用於小區接入組網等環境中。
PPPoE使用Client/Server模型。PPPoE Client向PPPoE Server發起連接請求,兩者之間會話協商通過後,就建立PPPoE會話,此後PPPoE Server向PPPoE Client提供接入控製、認證、計費等功能。
根據PPPoE會話的起點所在位置的不同,PPPoE分為Router-Initiated和Host-Initiated兩種組網結構。
如圖2-1所示,Router-Initiated組網結構是在兩台路由器之間建立PPPoE會話,所有主機通過同一個PPPoE會話傳送數據,主機上不用安裝PPPoE客戶端撥號軟件,一般是一個企業共用一個賬號接入網絡(圖中PPPoE Client位於企業/公司內部,PPPoE Server是運營商的設備)。
如圖2-2所示,Host-Initiated組網結構是將PPPoE會話建立在Host和運營商的路由器之間,為每一個Host建立一個PPPoE會話,每個Host都是PPPoE Client,每個Host使用一個帳號,方便運營商對用戶進行計費和控製。Host上必須安裝PPPoE客戶端撥號軟件。
圖2-2 Host-Initiated組網結構圖
與PPPoE相關的協議規範有:
· RFC 2516:A Method for Transmitting PPP Over Ethernet (PPPoE)
設備支持的PPPoE最大會話數可由License控製,不同的License決定了不同的PPPoE最大會話數;若設備未安裝相應的License,或者不支持安裝相應的License,則可支持的PPPoE最大會話數由設備自身決定。有關License的詳細介紹,請參見“基礎配置指導”中的“License管理”。
PPPoE會話有三種工作模式:永久在線模式、按需撥號模式、診斷模式。
· 永久在線模式:當物理線路up後,設備會立即發起PPPoE呼叫,建立PPPoE會話。除非用戶刪除PPPoE會話,否則此PPPoE會話將一直存在。
· 按需撥號模式:當物理線路up後,設備不會立即發起PPPoE呼叫,隻有當有數據需要傳送時,設備才會發起PPPoE呼叫,建立PPPoE會話。如果PPPoE鏈路的空閑時間超過用戶配置的值,設備會自動中止PPPoE會話。
· 診斷模式:設備在配置完成後立即發起PPPoE呼叫,建立PPPoE會話。每隔用戶配置的重建時間間隔,設備會自動斷開該會話、並重新發起呼叫建立會話。通過定期建立、刪除PPPoE會話,可以監控PPPoE鏈路是否處於正常工作狀態。
PPPoE會話的工作模式由對應的撥號接口的配置決定:
· 當Dialer接口的鏈路空閑時間(通過dialer timer idle命令配置)配置為0,且Dialer接口上未配置dialer diagnose命令時,PPPoE會話將工作在永久在線模式。
· 當Dialer接口的鏈路空閑時間(通過dialer timer idle命令配置)配置不為0,且Dialer接口上未配置dialer diagnose命令時,PPPoE會話將工作在按需撥號模式。
· 當Dialer接口上配置了dialer diagnose命令時,PPPoE會話將工作在診斷模式。
PPPoE Client配置任務如下:
(1) 配置撥號接口
(2) 配置PPPoE會話
(3) (可選)複位PPPoE會話
在配置PPPoE會話之前,需要先配置一個Dialer接口,並在接口上開啟共享DDR。每個PPPoE會話唯一對應一個Dialer bundle,而每個Dialer bundle又唯一對應一個Dialer接口。這樣就相當於通過一個Dialer接口可以創建一個PPPoE會話。
(1) 進入係統視圖。
system-view
(2) 創建撥號訪問組,並配置撥號控製規則。
dialer-group group-number rule { ip | ipv6 } { deny | permit | acl { acl-number | name acl-name } }
僅工作在按需撥號模式下需要配置本命令。
(3) 創建Dialer接口,並進入該Dialer接口視圖。
interface dialer number
(4) 配置接口IP地址。
ip address { address mask | ppp-negotiate }
缺省情況下,接口未配置IP地址。
(5) 開啟共享DDR。
dialer bundle enable
缺省情況下,接口上未開啟共享DDR。
(6) 配置該撥號接口關聯的撥號訪問組,將該接口與撥號控製規則關聯起來。
dialer-group group-number
缺省情況下,接口不與任何撥號訪問組相關聯。
僅工作在按需撥號模式下需要配置本命令。
(7) 配置鏈路空閑時間。
dialer timer idle idle [ in | in-out ]
缺省情況下,鏈路空閑時間為120秒。
未配置dialer diagnose時,當idle配置為0時,PPPoE會話工作在永久在線模式下,不為0時工作在按需撥號模式下。
(8) 配置DDR應用工作在診斷模式。
dialer diagnose [ interval interval ]
缺省情況下,工作在非診斷模式。
僅工作在診斷模式下需要配置本命令。
(9) (可選)配置DDR自動撥號的間隔時間。
dialer timer autodial autodial-interval
缺省情況下,DDR自動撥號的間隔時間為300秒。
當鏈路斷開後將啟動自動撥號定時器,等待自動撥號定時器超時後再重新發起呼叫。
為了在鏈路斷開時可以盡快自動重新撥號,建議將自動撥號的時間間隔配置的小一些。
(10) (可選)配置Dialer接口的MTU值。
mtu size
缺省情況下,Dialer接口的MTU值為1500字節。
對於PPPoE Client應用的Dialer接口,應修改其MTU值,保證分片後的報文加上2個字節的PPP頭和6個字節的PPPoE頭之後的總長度不超過對應PPPoE會話所在接口的MTU值。
當成功建立PPPoE會話後,係統將自動創建一個VA接口,用於和對端進行報文交互。VA接口支持通過display interface virtual-interface命令查看接口相關信息,但不支持對該接口進行配置。
VA接口隨著PPPoE會話的建立,由係統自動創建,PPPoE會話拆除後,係統自動刪除。
(1) 進入係統視圖。
system-view
(2) 進入三層以太網接口視圖/三層以太網子接口視圖/三層虛擬以太網接口視圖/三層虛擬以太網子接口視圖/VLAN接口視圖。
interface interface-type interface-number
(3) 建立一個PPPoE會話,並且指定該會話所對應的Dialer bundle。
pppoe-client dial-bundle-number number [ no-hostuniq ]
該Dialer bundle的序號number需要與Dialer接口的編號相同。
當PPPoE會話工作在永久在線模式或診斷模式時,如果使用reset pppoe-client命令複位PPPoE會話,設備會在自動撥號定時器超時後自動重新建立PPPoE會話。
當PPPoE會話工作在按需撥號模式時,如果使用reset pppoe-client命令複位PPPoE會話,設備會在有數據需要傳送時,才重新建立PPPoE會話。
請在用戶視圖下執行本命令,複位PPPoE會話。
reset pppoe-client { all | dial-bundle-number number }
在完成上述配置後,在任意視圖下執行display命令可以顯示PPPoE Client配置後的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除PPPoE會話的協議報文統計信息。
表2-1 PPPoE Client顯示和維護
操作 |
命令 |
顯示PPPoE會話的概要信息 |
display pppoe-client session summary [ dial-bundle-number number ] |
顯示PPPoE會話的協議報文統計信息 |
display pppoe-client session packet [ dial-bundle-number number ] |
清除PPPoE會話的協議報文統計信息 |
reset pppoe-client session packet [ dial-bundle-number number ] |
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!