19-AAA配置
本章節下載: 19-AAA配置 (1.50 MB)
目 錄
1.5.11 配置發送給RADIUS服務器的用戶名格式和數據統計單位
1.5.15 配置RADIUS Attribute 15的檢查方式
1.5.16 開啟使用RADIUS Attribute 17支持在線修改用戶密碼功能
1.5.18 配置RADIUS Attribute 25的CAR參數解析功能
1.5.19 配置RADIUS Attribute 30中的MAC地址格式
1.5.20 配置RADIUS Attribute 31中的MAC地址格式
1.5.21 配置Vendor ID為2011的RADIUS服務器版本號
1.5.22 配置RADIUS Remanent_Volume屬性的流量單位
1.5.23 開啟廠商私有182號RADIUS屬性解析為授權VLAN功能
1.5.24 配置設備使用的Acct-Session-Id屬性模式
1.5.25 配置攜帶RADIUS私有屬性H3c-DHCP-Option
1.5.28 配置RADIUS的accounting-on功能
1.5.29 配置RADIUS的session control功能
1.6.10 配置發送給HWTACACS服務器的用戶名格式和數據統計單位
1.6.12 配置HWTACACS服務器都處於block狀態後的請求動作
1.7.16 忽略LDAP查詢結果中的SearchResultReference字段
1.9.3 設置設備上傳到服務器的用戶在線時間中保留閑置切斷時間
1.17.3 SSH用戶的HWTACACS認證、授權、計費配置
1.19.3 附錄C RADIUS擴展屬性(Vendor-ID=25506)
AAA(Authentication、Authorization、Accounting,認證、授權、計費)是網絡安全的一種管理機製,提供了認證、授權、計費三種安全功能。
· 認證:確認訪問網絡的遠程用戶的身份,判斷訪問者是否為合法的網絡用戶。
· 授權:對不同用戶賦予不同的權限,限製用戶可以使用的服務。例如,管理員授權辦公用戶才能對服務器中的文件進行訪問和打印操作,而其它臨時訪客不具備此權限。
· 計費:記錄用戶使用網絡服務過程中的所有操作,包括使用的服務類型、起始時間、數據流量等,用於收集和記錄用戶對網絡資源的使用情況,並可以實現針對時間、流量的計費需求,也對網絡起到監視作用。
AAA采用客戶端/服務器結構,客戶端運行於NAS(Network Access Server,網絡接入服務器)上,負責驗證用戶身份與管理用戶接入,服務器上則集中管理用戶信息。AAA的基本組網結構如圖1-1。
圖1-1 AAA基本組網結構示意圖
當用戶想要通過NAS獲得訪問其它網絡的權利或取得某些網絡資源的權利時,首先需要通過AAA認證,而NAS就起到了驗證用戶的作用。NAS負責把用戶的認證、授權、計費信息透傳給服務器。服務器根據自身的配置對用戶的身份進行判斷並返回相應的認證、授權、計費結果。NAS根據服務器返回的結果,決定是否允許用戶訪問外部網絡、獲取網絡資源。
AAA可以通過多種協議來實現,這些協議規定了NAS與服務器之間如何傳遞用戶信息。目前設備支持的標準AAA協議包括RADIUS(Remote Authentication Dial-In User Service,遠程認證撥號用戶服務)協議、HWTACACS(HW Terminal Access Controller Access Control System,HW終端訪問控製器控製係統協議)協議和LDAP(Lightweight Directory Access Protocol,輕量級目錄訪問協議)協議,在實際應用中,最常使用RADIUS協議。
用戶可以根據實際組網需求來決定認證、授權、計費功能分別由使用哪種協議類型的服務器來承擔。例如,可以選擇HWTACACS服務器實現認證和授權,RADIUS服務器實現計費。
當然,用戶也可以隻使用AAA提供的一種或兩種安全服務。例如,公司僅僅想讓員工在訪問某些特定資源時進行身份認證,則網絡管理員隻需要配置認證服務器。但是若希望對員工使用網絡的情況進行記錄,那麼還需要配置計費服務器。
目前,設備支持動態口令認證機製。
RADIUS(Remote Authentication Dial-In User Service,遠程認證撥號用戶服務)是一種分布式的、客戶端/服務器結構的信息交互協議,能保護網絡不受未授權訪問的幹擾,常應用在既要求較高安全性、又允許遠程用戶訪問的各種網絡環境中。RADIUS協議合並了認證和授權的過程,它定義了RADIUS的報文格式及其消息傳輸機製,並規定使用UDP作為封裝RADIUS報文的傳輸層協議,UDP端口1812、1813分別作為認證/授權、計費端口。
RADIUS最初僅是針對撥號用戶的AAA協議,後來隨著用戶接入方式的多樣化發展,RADIUS也適應多種用戶接入方式,如以太網接入、ADSL接入。它通過認證授權來提供接入服務,通過計費來收集、記錄用戶對網絡資源的使用。
· 客戶端:RADIUS客戶端一般位於NAS上,可以遍布整個網絡,負責將用戶信息傳輸到指定的RADIUS服務器,然後根據服務器返回的信息進行相應處理(如接受/拒絕用戶接入)。
· 服務器:RADIUS服務器一般運行在中心計算機或工作站上,維護用戶的身份信息和與其相關的網絡服務信息,負責接收NAS發送的認證、授權、計費請求並進行相應的處理,然後給NAS返回處理結果(如接受/拒絕認證請求)。另外,RADIUS服務器還可以作為一個代理,以RADIUS客戶端的身份與其它的RADIUS認證服務器進行通信,負責轉發RADIUS認證和計費報文。
RADIUS服務器通常要維護三個數據庫,如圖1-2所示:
圖1-2 RADIUS服務器的組成
· “Users”:用於存儲用戶信息(如用戶名、口令以及使用的協議、IP地址等配置信息)。
· “Clients”:用於存儲RADIUS客戶端的信息(如NAS的共享密鑰、IP地址等)。
· “Dictionary”:用於存儲RADIUS協議中的屬性和屬性值含義的信息。
RADIUS客戶端和RADIUS服務器之間認證消息的交互是通過共享密鑰的參與來完成的。共享密鑰是一個帶外傳輸的客戶端和服務器都知道的字符串,不需要單獨進行網絡傳輸。RADIUS報文中有一個16字節的驗證字字段,它包含了對整個報文的數字簽名數據,該簽名數據是在共享密鑰的參與下利用MD5算法計算出的。收到RADIUS報文的一方要驗證該簽名的正確性,如果報文的簽名不正確,則丟棄它。通過這種機製,保證了RADIUS客戶端和RADIUS服務器之間信息交互的安全性。另外,為防止用戶密碼在不安全的網絡上傳遞時被竊取,在RADIUS報文傳輸過程中還利用共享密鑰對用戶密碼進行了加密。
RADIUS服務器支持多種方法來認證用戶,例如PAP(Password Authentication Protocol,密碼認證協議)、CHAP(Challenge Handshake Authentication Protocol,質詢握手認證協議)以及EAP(Extensible Authentication Protocol,可擴展認證協議)。
用戶、RADIUS客戶端和RADIUS服務器之間的交互流程如圖1-3所示。
圖1-3 RADIUS的基本消息交互流程
消息交互流程如下:
(1) 用戶發起連接請求,向RADIUS客戶端發送用戶名和密碼。
(2) RADIUS客戶端根據獲取的用戶名和密碼,向RADIUS服務器發送認證請求包(Access-Request),其中的密碼在共享密鑰的參與下利用MD5算法進行加密處理。
(3) RADIUS服務器對用戶名和密碼進行認證。如果認證成功,RADIUS服務器向RADIUS客戶端發送認證接受包(Access-Accept);如果認證失敗,則返回認證拒絕包(Access-Reject)。由於RADIUS協議合並了認證和授權的過程,因此認證接受包中也包含了用戶的授權信息。
(4) RADIUS客戶端根據接收到的認證結果接入/拒絕用戶。如果允許用戶接入,則RADIUS客戶端向RADIUS服務器發送計費開始請求包(Accounting-Request)。
(5) RADIUS服務器返回計費開始響應包(Accounting-Response),並開始計費。
(6) 用戶開始訪問網絡資源。
(7) 用戶請求斷開連接。
(8) RADIUS客戶端向RADIUS服務器發送計費停止請求包(Accounting-Request)。
(9) RADIUS服務器返回計費結束響應包(Accounting-Response),並停止計費。
(10) 通知用戶結束訪問網絡資源。
RADIUS采用UDP報文來傳輸消息,通過定時器機製、重傳機製、備用服務器機製,確保RADIUS服務器和客戶端之間交互消息的正確收發。RADIUS報文結構如圖1-4所示。
圖1-4 RADIUS報文結構
各字段的解釋如下:
(1) Code域
長度為1個字節,用於說明RADIUS報文的類型,如表1-1所示。
表1-1 Code域的主要取值說明
Code |
報文類型 |
報文說明 |
1 |
Access-Request認證請求包 |
方向Client->Server,Client將用戶信息傳輸到Server,請求Server對用戶身份進行驗證。該報文中必須包含User-Name屬性,可選包含NAS-IP-Address、User-Password、NAS-Port等屬性 |
2 |
Access-Accept認證接受包 |
方向Server->Client,如果Access-Request報文中的所有Attribute值都可以接受(即認證通過),則傳輸該類型報文 |
3 |
Access-Reject認證拒絕包 |
方向Server->Client,如果Access-Request報文中存在任何無法被接受的Attribute值(即認證失敗),則傳輸該類型報文 |
4 |
Accounting-Request計費請求包 |
方向Client->Server,Client將用戶信息傳輸到Server,請求Server開始/停止計費。該報文中的Acct-Status-Type屬性用於區分計費開始請求和計費結束請求 |
5 |
Accounting-Response計費響應包 |
方向Server->Client,Server通知Client已經收到Accounting-Request報文,並且已經正確記錄計費信息 |
(2) Identifier域
長度為1個字節,用於匹配請求包和響應包,以及檢測在一段時間內重發的請求包。對於類型一致且屬於同一個交互過程的請求包和響應包,該Identifier值相同。
(3) Length域
長度為2個字節,表示RADIUS數據包(包括Code、Identifier、Length、Authenticator和Attribute)的長度,單位為字節。超過Length域的字節將作為填充字符被忽略。如果接收到的包的實際長度小於Length域的值時,則包會被丟棄。
(4) Authenticator域
長度為16個字節,用於驗證RADIUS服務器的應答報文,另外還用於用戶密碼的加密。Authenticator包括兩種類型:Request Authenticator和Response Authenticator。
(5) Attribute域
不定長度,用於攜帶專門的認證、授權和計費信息。Attribute域可包括多個屬性,每一個屬性都采用(Type、Length、Value)三元組的結構來表示。
¡ 類型(Type):表示屬性的類型。
¡ 長度(Length):表示該屬性(包括類型、長度和屬性值)的長度,單位為字節。
¡ 屬性值(Value):表示該屬性的信息,其格式和內容由類型決定。
RADIUS協議具有良好的可擴展性,RFC 2865中定義的26號屬性(Vendor-Specific)用於設備廠商對RADIUS進行擴展,以實現標準RADIUS沒有定義的功能。
設備廠商可以在26號屬性中封裝多個自定義的(Type、Length、Value)子屬性,以提供更多的擴展功能。26號屬性的格式如圖1-5所示:
· Vendor-ID,表示廠商代號,最高字節為0,其餘3字節的編碼見RFC 1700。
· Vendor-Type,表示子屬性類型。
· Vendor-Length,表示子屬性長度。
· Vendor-Data,表示子屬性的內容。
H3C設備支持的私有RADIUS擴展屬性的Vendor-ID為25506,屬性的具體介紹請參見“附錄C RADIUS擴展屬性(Vendor-ID=25506) ”。
圖1-5 26號屬性的格式
HWTACACS(HW Terminal Access Controller Access Control System,HW終端訪問控製器控製係統協議)是在TACACS(RFC 1492)基礎上進行了功能增強的安全協議。該協議與RADIUS協議類似,采用客戶端/服務器模式實現NAS與HWTACACS服務器之間的通信。
HWTACACS協議主要用於PPP(Point-to-Point Protocol,點對點協議)和VPDN(Virtual Private Dial-up Network,虛擬專用撥號網絡)接入用戶及終端用戶的認證、授權和計費。其典型應用是對需要登錄到NAS設備上進行操作的終端用戶進行認證、授權以及對終端用戶執行的操作進行記錄。設備作為HWTACACS的客戶端,將用戶名和密碼發給HWTACACS服務器進行驗證,用戶驗證通過並得到授權之後可以登錄到設備上進行操作,HWTACACS服務器上會記錄用戶對設備執行過的命令。
HWTACACS協議與RADIUS協議都實現了認證、授權和計費功能,它們有很多相似點:結構上都采用客戶端/服務器模式;都使用共享密鑰對傳輸的用戶信息進行加密;都有靈活性和可擴展性。兩者之間存在的主要區別如表1-2所示。
表1-2 HWTACACS協議和RADIUS協議區別
HWTACACS協議 |
RADIUS協議 |
使用TCP,網絡傳輸更可靠 |
使用UDP,網絡傳輸效率更高 |
除了HWTACACS報文頭,對報文主體全部進行加密 |
隻對認證報文中的密碼字段進行加密 |
協議報文較為複雜,認證和授權分離,使得認證、授權服務可以分離在不同的服務器上實現。例如,可以用一個HWTACACS服務器進行認證,另外一個HWTACACS服務器進行授權 |
協議報文比較簡單,認證和授權結合,難以分離 |
支持對設備的配置命令進行授權使用。用戶可使用的命令行受到用戶角色和AAA授權的雙重限製,某角色的用戶輸入的每一條命令都需要通過HWTACACS服務器授權,如果授權通過,命令就可以被執行 |
不支持對設備的配置命令進行授權使用 用戶登錄設備後可以使用的命令行由用戶所具有的角色決定,關於用戶角色的相關介紹請參見“基礎配置指導”中的“RBAC” |
下麵以Telnet用戶為例,說明使用HWTACACS對用戶進行認證、授權和計費的過程。基本消息交互流程圖如圖1-6所示。
圖1-6 Telnet用戶認證、授權和計費流程圖
基本消息交互流程如下:
(1) Telnet用戶請求登錄設備,按照係統提示輸入用戶名和密碼。
(2) HWTACACS客戶端收到請求之後,向HWTACACS服務器發送認證開始報文,報文中攜帶了用戶名。
(3) HWTACACS服務器發送認證回應報文,請求用戶的登錄密碼。
(4) HWTACACS客戶端向HWTACACS服務器發送認證持續報文,報文中攜帶了登錄密碼。
(5) 如果認證成功,HWTACACS服務器發送認證回應報文,指示用戶通過認證。
(6) HWTACACS客戶端向HWTACACS服務器發送授權請求報文。
(7) 如果授權成功,HWTACACS服務器發送授權回應報文,指示用戶通過授權。
(8) HWTACACS客戶端收到授權成功報文,向用戶輸出設備的配置界麵,允許用戶登錄。
(9) HWTACACS客戶端向HWTACACS服務器發送計費開始報文。
(10) HWTACACS服務器發送計費回應報文,指示計費開始報文已經收到。
(11) 用戶請求斷開連接。
(12) HWTACACS客戶端向HWTACACS服務器發送計費結束報文。
(13) HWTACACS服務器發送計費結束報文,指示計費結束報文已經收到。
LDAP(Lightweight Directory Access Protocol,輕量級目錄訪問協議)是一種目錄訪問協議,用於提供跨平台的、基於標準的目錄服務。它是在X.500協議的基礎上發展起來的,繼承了X.500的優點,並對X.500在讀取、瀏覽和查詢操作方麵進行了改進,適合於存儲那些不經常改變的數據。
LDAP協議的典型應用是用來保存係統中的用戶信息,如Microsoft的Windows操作係統就使用了Active Directory Server(一種LDAP服務器軟件)來保存操作係統的用戶、用戶組等信息,用於用戶登錄Windows時的認證和授權。
LDAP中使用目錄記錄並管理係統中的組織信息、人員信息以及資源信息。目錄按照樹型結構組織,由多個條目(Entry)組成的。條目是具有DN(Distinguished Name,識別名)的屬性(Attribute)集合。屬性用來承載各種類型的數據信息,例如用戶名、密碼、郵件、計算機名、聯係電話等。
LDAP協議基於Client/Server結構提供目錄服務功能,所有的目錄信息數據存儲在LDAP服務器上。目前,Microsoft的Active Directory Server、IBM的Tivoli Directory Server和Sun的Sun ONE Directory Server都是常用的LDAP服務器軟件。
AAA可以使用LDAP協議對用戶提供認證和授權服務。LDAP協議中定義了多種操作來實現LDAP的各種功能,用於認證和授權的操作主要為綁定和查詢。
· 綁定操作的作用有兩個:一是與LDAP服務器建立連接並獲取LDAP服務器的訪問權限。二是用於檢查用戶信息的合法性。
· 查詢操作就是構造查詢條件,並獲取LDAP服務器的目錄資源信息的過程。
使用LDAP協議進行認證時,其基本的工作流程如下:
(14) LDAP客戶端使用LDAP服務器管理員DN與LDAP服務器進行綁定,與LDAP服務器建立連接並獲得查詢權限。
(15) LDAP客戶端使用認證信息中的用戶名構造查詢條件,在LDAP服務器指定根目錄下查詢此用戶,得到用戶的DN。
(16) LDAP客戶端使用用戶DN和用戶密碼與LDAP服務器進行綁定,檢查用戶密碼是否正確。
使用LDAP協議進行授權的過程與認證過程相似,首先必須通過與LDAP服務器進行綁定,建立與服務器的連接,然後在此連接的基礎上通過查詢操作得到用戶的授權信息。與認證過程稍有不同的是,授權過程不僅僅會查詢用戶DN,還會同時查詢相應的LDAP授權信息。
下麵以Telnet用戶登錄設備為例,說明如何使用LDAP認證服務器來對用戶進行認證。用戶的LDAP認證基本消息交互流程如圖1-7所示。
圖1-7 LDAP認證的基本消息交互流程
基本消息交互流程如下:
(17) 用戶發起連接請求,向LDAP客戶端發送用戶名和密碼。
(18) LDAP客戶端收到請求之後,與LDAP服務器建立TCP連接。
(19) LDAP客戶端以管理員DN和管理員DN密碼為參數向LDAP服務器發送管理員綁定請求報文(Administrator Bind Request)獲得查詢權限。
(20) LDAP服務器進行綁定請求報文的處理。如果綁定成功,則向LDAP客戶端發送綁定成功的回應報文。
(21) LDAP客戶端以輸入的用戶名為參數,向LDAP服務器發送用戶DN查詢請求報文(User DN Search Request)。
(22) LDAP服務器收到查詢請求報文後,根據報文中的查詢起始地址、查詢範圍、以及過濾條件,對用戶DN進行查找。如果查詢成功,則向LDAP客戶端發送查詢成功的回應報文。查詢得到的用戶DN可以是一或多個。
(23) LDAP客戶端以查詢得到的用戶DN和用戶輸入的密碼為參數,向LDAP服務器發送用戶DN綁定請求報文(User DN Bind Request),檢查用戶密碼是否正確。
(24) LDAP服務器進行綁定請求報文的處理。
¡ 如果綁定成功,則向LDAP客戶端發送綁定成功的回應報文。
¡ 如果綁定失敗,則向LDAP客戶端發送綁定失敗的回應報文。LDAP客戶端以下一個查詢到的用戶DN(如果存在的話)為參數,繼續向服務器發送綁定請求,直至有一個DN綁定成功,或者所有DN均綁定失敗。如果所有用戶DN都綁定失敗,則LDAP客戶端通知用戶登錄失敗並拒絕用戶接入。
(25) LDAP客戶端保存綁定成功的用戶DN,並進行授權處理。如果設備采用LDAP授權方案,則進行圖1-8所示的用戶授權交互流程;如果設備采用非LDAP的授權方案,則執行其它協議的授權處理流程,此處略。
(26) 授權成功之後,LDAP客戶端通知用戶登錄成功。
圖1-8 LDAP授權的基本消息交互流程
(27)
下麵以Telnet用戶登錄設備為例,說明如何使用LDAP服務器來對用戶進行授權。用戶的LDAP授權基本消息交互流程如圖1-9所示。
圖1-9 LDAP授權的基本消息交互流程
(28) 用戶發起連接請求,向LDAP客戶端發送用戶名和密碼。
(29) LDAP客戶端收到請求之後,進行認證處理。如果設備采用LDAP認證方案,則按照圖1-10所示進行LDAP認證。LDAP認證流程完成之後,如果已經和該LDAP授權服務器建立了綁定關係,則直接轉到步驟(6),否則轉到步驟(4);如果設備采用非LDAP認證方案,則執行其它協議的認證處理流程,之後轉到步驟(3)。
(30) LDAP客戶端與LDAP服務器建立TCP連接。
(31) LDAP客戶端以管理員DN和管理員DN密碼為參數向LDAP服務器發送管理員綁定請求報文(Administrator Bind Request)獲得查詢權限。
(32) LDAP服務器進行綁定請求報文的處理。如果綁定成功,則向LDAP客戶端發送綁定成功的回應報文。
(33) LDAP客戶端以輸入的用戶名為參數(如果用戶認證使用的是相同LDAP服務器,則以保存的綁定成功的用戶DN為參數),向LDAP服務器發送授權查詢請求報文。
(34) LDAP服務器收到查詢請求報文後,根據報文中的查詢起始地址、查詢範圍、過濾條件以及LDAP客戶端關心的LDAP屬性,對用戶信息進行查找。如果查詢成功,則向LDAP客戶端發送查詢成功的回應報文。
(35) 授權成功後,LDAP客戶端通知用戶登錄成功。
圖1-10 LDAP認證的基本消息交互流程
(36)
NAS對用戶的管理是基於ISP(Internet Service Provider,互聯網服務提供商)域的,每個用戶都屬於一個ISP域。一般情況下,用戶所屬的ISP域是由用戶登錄時提供的用戶名決定的,如圖1-11所示。
為便於對不同接入方式的用戶進行區分管理,提供更為精細且有差異化的認證、授權、計費服務,AAA將用戶劃分為以下幾個類型:
· lan-access用戶:LAN接入用戶,如802.1X認證、MAC地址認證用戶。
· login用戶:登錄設備用戶,如SSH、Telnet、FTP、終端接入用戶(即從Console口登錄的用戶)。
· ADVPN接入用戶。
· Portal接入用戶。
· PPP接入用戶。
· IPoE接入用戶:IP接入用戶,比如二/三層專線,數字機頂盒接入的用戶。
· IKE用戶:使用IKE擴展認證的用戶。
· HTTP/HTTPS用戶:使用HTTP或HTTPS服務登錄設備的用戶。
· SSL VPN接入用戶。
在具體實現中,一個ISP域對應著設備上一套實現AAA的配置策略,它們是管理員針對該域用戶製定的一套認證、授權、計費方法,可根據用戶的接入特征以及不同的安全需求組合使用。
圖1-12 認證、授權、計費方法配置邏輯圖
AAA支持以下認證方法:
· 不認證:對用戶非常信任,不對其進行合法性檢查,一般情況下不采用這種方法。
· 本地認證:認證過程在接入設備上完成,用戶信息(包括用戶名、密碼和各種屬性)配置在接入設備上。優點是速度快,可以降低運營成本;缺點是存儲信息量受設備硬件條件限製。
· 遠端認證:認證過程在接入設備和遠端的服務器之間完成,接入設備和遠端服務器之間通過RADIUS、HWTACACS或LDAP協議通信。優點是用戶信息集中在服務器上統一管理,可實現大容量、高可靠性、支持多設備的集中式統一認證。當遠端服務器無效時,可配置備選認證方式完成認證。
AAA支持以下授權方法:
· 不授權:接入設備不請求授權信息,不對用戶可以使用的操作以及用戶允許使用的網絡服務進行授權。此時,認證通過的login用戶隻有係統給予的缺省用戶角色level-0,其中FTP/SFTP/SCP用戶的工作目錄是設備的根目錄,但並無訪問權限;認證通過的非login用戶,可直接訪問網絡。關於用戶角色level-0的詳細介紹請參見“基礎配置指導”中的“RBAC”。
· 本地授權:授權過程在接入設備上進行,根據接入設備上為本地用戶配置的相關屬性進行授權。
· 遠端授權:授權過程在接入設備和遠端服務器之間完成。RADIUS協議的認證和授權是綁定在一起的,不能單獨使用RADIUS進行授權。RADIUS認證成功後,才能進行授權,RADIUS授權信息攜帶在認證回應報文中下發給用戶。HWTACACS/LDAP協議的授權與認證相分離,在認證成功後,授權信息通過授權報文進行交互。當遠端服務器無效時,可配置備選授權方式完成授權。
AAA支持以下計費方法:
· 不計費:不對用戶計費。
· 本地計費:計費過程在接入設備上完成,實現了本地用戶連接數的統計和限製,並沒有實際的費用統計功能。
· 遠端計費:計費過程在接入設備和遠端的服務器之間完成。當遠端服務器無效時,可配置備選計費方式完成計費。
ISP域下可配置多種授權屬性,域下配置的授權屬性比服務器下發的授權屬性優先級低。用戶認證成功之後,如果域下配置的授權屬性與服務器授權的屬性衝突,則服務器下發的授權屬性生效;如果域下配置的授權屬性不與服務器授權的屬性衝突,則域下配置的授權屬性生效。這種互相補充的授權方式,使得基於域的用戶授權行為更為靈活,而不必完全依賴服務器提供的授權。
對於login用戶,AAA還可以對其提供以下服務,用於提高對設備操作的安全性:
· 命令行授權:用戶執行的每一條命令都需要接受授權服務器的檢查,隻有授權成功的命令才被允許執行。關於命令行授權的詳細介紹請參考“基礎配置指導”中的“對登錄用戶的控製”。
· 命令行計費:若未開啟命令行授權功能,則計費服務器對用戶執行過的所有有效命令進行記錄;若開啟了命令行授權功能,則計費服務器僅對授權通過的命令進行記錄。關於命令行計費的詳細介紹請參考“基礎配置指導”中的“對登錄用戶的控製”。
· 用戶角色切換認證:在不退出當前登錄、不斷開當前連接的前提下,用戶將當前的用戶角色切換為其它用戶角色時,隻有通過服務器的認證,該切換操作才被允許。關於用戶角色切換的詳細介紹請參考“基礎配置指導”中的“RBAC”。
通過AAA支持VPN多實例,可實現認證/授權/計費報文在VPN之間的交互。如圖1-13所示,各私網客戶端之間業務隔離,連接客戶端的PE設備作為NAS,通過VPN網絡把私網客戶端的認證/授權/計費信息透傳給網絡另一端的私網服務器,實現了對私網客戶端的集中認證,且各私網的認證報文互不影響。
圖1-13 AAA支持VPN多實例典型組網圖
與AAA、RADIUS、HWTACACS、LDAP相關的協議規範有:
· RFC 2865:Remote Authentication Dial In User Service (RADIUS)
· RFC 2866:RADIUS Accounting
· RFC 2867:RADIUS Accounting Modifications for Tunnel Protocol Support
· RFC 2868:RADIUS Attributes for Tunnel Protocol Support
· RFC 2869:RADIUS Extensions
· RFC 3576:Dynamic Authorization Extensions to Remote Authentication Dial In User Service (RADIUS)
· RFC 4818:RADIUS Delegated-IPv6-Prefix Attribute
· RFC 5176:Dynamic Authorization Extensions to Remote Authentication Dial In User Service (RADIUS)
· RFC 1492:An Access Control Protocol, Sometimes Called TACACS
· RFC 1777:Lightweight Directory Access Protocol
· RFC 2251:Lightweight Directory Access Protocol (v3)
非缺省vSystem不支持本特性的部分功能,具體包括:
· 配置本地用戶
¡ 批量配置本地用戶
¡ 配置網絡接入類本地用戶管理功能
¡ 開啟本地設備管理類用戶RBM同步功能
· 配置RADIUS
¡ 配置RADIUS服務器探測模板
¡ 配置RADIUS方案所屬的VPN
¡ 開啟使用RADIUS Attribute 17支持在線修改用戶密碼功能
¡ 配置RADIUS 18號屬性的解析規則
¡ 開啟RADIUS Attribute 25的CAR參數解析功能
¡ 配置RADIUS Attribute 30中的MAC地址格式
¡ 配置RADIUS Attribute 31中的MAC地址格式
¡ 配置Vendor ID為2011的RADIUS服務器版本號
¡ 配置RADIUS Remanent_Volume屬性的流量單位
¡ 開啟廠商私有182號RADIUS屬性解析為授權VLAN功能
¡ 配置攜帶RADIUS私有屬性H3c-DHCP-Option
¡ 配置RADIUS屬性解釋功能
¡ 配置RADIUS的session control功能
¡ 配置RADIUS DAE服務器功能
¡ 配置RADIUS的認證請求優先功能
¡ 配置RADIUS告警功能
· 配置HWTACACS方案所屬的VPN
· 限製同時在線的最大用戶連接數
· 配置NAS-ID與VLAN的綁定
· 配置AAA請求測試功能
非缺省vSystem對具體命令的支持情況,請見本特性的命令參考。有關vSystem的詳細介紹請參見“虛擬化技術配置指導”中的“vSystem”。
AAA配置任務如下:
(1) 配置AAA方案
若選擇使用本地AAA方案,則需要配置本地用戶;若選擇使用遠程AAA方案,則需要配置RADIUS、HWTACACS或LDAP。
¡ 配置本地用戶
¡ 配置RADIUS
¡ 配置LDAP
(2) 創建ISP域並配置相關屬性
a. 創建ISP域
b. 配置ISP域的屬性
(3) 在ISP域中配置實現AAA的方法
(4) 請根據實際需求為用戶所在的ISP域配置實現認證、授權、計費的方法,這些方法中將會引用已經配置的AAA方案。
(5) (可選)配置AAA高級功能
¡ 配置域名分隔符
¡ 配置NAS-ID
¡ 配置設備ID
當選擇使用本地認證、本地授權、本地計費方法對用戶進行認證、授權或計費時,應在設備上創建本地用戶並配置相關屬性。
所謂本地用戶,是指在本地設備上設置的一組用戶屬性的集合。該集合以用戶名和用戶類別為用戶的唯一標識。本地用戶分為兩類,一類是設備管理用戶;另一類是網絡接入用戶。設備管理用戶供設備管理員登錄設備使用,網絡接入用戶供通過設備訪問網絡服務的用戶使用。網絡接入用戶中還存在一種來賓用戶,供臨時接入網絡的訪客使用。來賓用戶僅支持lan-access和Portal服務。
為使某個請求網絡服務的用戶可以通過本地認證,需要在設備上的本地用戶數據庫中添加相應的表項。具體步驟是,創建一個本地用戶並進入本地用戶視圖,然後在本地用戶視圖下配置相應的用戶屬性,可配置的用戶屬性包括:
· 描述信息
· 服務類型
用戶可使用的網絡服務類型。該屬性是本地認證的檢測項,如果沒有用戶可以使用的服務類型,則該用戶無法通過認證。
· 用戶狀態
用於指示是否允許該用戶請求網絡服務器,包括active和block兩種狀態。active表示允許該用戶請求網絡服務,block表示禁止該用戶請求網絡服務。
· 最大用戶數
使用當前用戶名接入設備的最大用戶數目。若當前該用戶名的接入用戶數已達最大值,則使用該用戶名的新用戶將被禁止接入。
· 所屬的用戶組
每一個本地用戶都屬於一個本地用戶組,並繼承組中的所有屬性(密碼管理屬性和用戶授權屬性)。關於本地用戶組的介紹和配置請參見“配置用戶組屬性”。
· 所屬身份識別用戶組
本地用戶加入身份識別用戶組後,將成為該組的成員,接受基於組的用戶身份識別業務處理。關於身份識別用戶組的介紹和配置請參見“安全配置指導”中的“用戶身份識別與管理”。
· 綁定屬性
用戶認證時需要檢測的屬性,用於限製接入用戶的範圍。若用戶的實際屬性與設置的綁定屬性不匹配,則不能通過認證,因此在配置綁定屬性時要考慮該用戶是否需要綁定某些屬性。
· 用戶授權屬性
用戶認證通過後,接入設備給用戶下發授權屬性。由於可配置的授權屬性都有其明確的使用環境和用途,因此配置授權屬性時要考慮該用戶是否需要某些屬性。例如,PPP接入用戶不需要授權的目錄,因此就不要設置PPP用戶的工作目錄屬性。
本地用戶的授權屬性在用戶組和本地用戶視圖下都可以配置,且本地用戶視圖下的配置優先級高於用戶組視圖下的配置。用戶組的配置對組內所有本地用戶生效。
· 密碼管理屬性
用戶密碼的安全屬性,可用於對本地用戶的認證密碼進行管理和控製。可設置的策略包括:密碼老化時間、密碼最小長度、密碼組合策略、密碼複雜度檢查策略和用戶登錄嚐試次數限製策略。
本地用戶的密碼管理屬性在係統視圖(具有全局性)、用戶組視圖和本地用戶視圖下都可以配置,其生效的優先級順序由高到低依次為本地用戶、用戶組、全局。全局配置對所有本地用戶生效,用戶組的配置對組內所有本地用戶生效。有關密碼管理以及全局密碼配置的詳細介紹請參見“安全配置指導”中的“Password Control”。
· 有效期
網絡接入類本地用戶在有效期內才能認證成功。
本地用戶配置任務如下:
(1)
(2) 配置本地用戶屬性
(3) (可選)快速修改本地用戶密碼
(4) (可選)配置用戶組屬性
(5) (可選)批量配置本地用戶
(6) (可選)配置網絡接入類本地用戶管理功能
(7) (可選)配置本地來賓用戶管理功能
(8) (可選)開啟本地設備管理類用戶RBM同步功能
開啟設備管理類全局密碼管理功能(通過命令password-control enable)後,設備上將不顯示配置的本地用戶密碼,也不會將該密碼保存在當前配置中。如果關閉了設備管理類全局密碼管理功能,已配置的密碼將恢複在當前配置中。當前配置可通過display current-configuration命令查看。
授權屬性和密碼控製屬性均可以在本地用戶視圖和用戶組視圖下配置,各視圖下的配置優先級順序從高到低依次為:本地用戶視圖-->用戶組視圖。
(9) 進入係統視圖。
system-view
(10) 添加設備管理類本地用戶,並進入設備管理類本地用戶視圖。
local-user user-name [ class manage ]
(11) 設置本地用戶的密碼。
password [ { hash | simple } string ]
可以不為本地用戶設置密碼。為提高用戶賬戶的安全性,建議設置本地用戶密碼。
(12) 設置本地用戶可以使用的服務類型。
service-type { ftp | { http | https | ssh | telnet | terminal } * }
缺省情況下,本地用戶不能使用任何服務類型。
(13) (可選)設置本地用戶的狀態。
state { active | block }
缺省情況下,本地用戶處於活動狀態,即允許該用戶請求網絡服務。
(14) (可選)設置使用當前本地用戶名接入設備的最大用戶數。
access-limit max-user-number
缺省情況下,不限製使用當前本地用戶名接入的用戶數。
由於FTP/SFTP/SCP用戶不支持計費,因此FTP/SFTP/SCP用戶不受此屬性限製。
(15) (可選)設置本地用戶的綁定屬性。
bind-attribute { call-number call-number [ : subcall-number ] | ip ip-address [ mask-length | mask ] |location interface interface-type interface-number | mac mac-address | vlan vlan-id } *
缺省情況下,未設置本地用戶的任何綁定屬性。
(16) (可選)設置本地用戶的授權屬性。
authorization-attribute { idle-cut minutes | user-role role-name | work-directory directory-name } *
缺省情況下:
¡ 授權FTP/SFTP/SCP用戶可以訪問的目錄為設備的根目錄,但無訪問權限。
¡ 在缺省Context中由用戶角色為network-admin或者level-15的用戶創建的本地用戶被授權用戶角色network-operator;在非缺省Context中由用戶角色為context-admin或者level-15的用戶創建的本地用戶被授權用戶角色context-operator。
缺省情況下:
¡ 授權FTP/SFTP/SCP用戶可以訪問的目錄為設備的根目錄,但無訪問權限。
¡ 在缺省vSystem中由用戶角色為network-admin或者level-15的用戶創建的本地用戶被授權用戶角色network-operator;在非缺省vSystem中由用戶角色為vsys-admin或者level-15的用戶創建的本地用戶被授權用戶角色vsys-operator。
(17) (可選)設置設備管理類本地用戶的密碼管理屬性。請至少選擇其中一項進行配置。
¡ 請依次執行以下命令,開啟密碼老化管理功能並設置密碼老化時間。
password-control aging enable
password-control aging aging-time
¡ 設置密碼最小長度。
password-control length length
¡ 設置密碼組合策略。
password-control composition type-number type-number [ type-length type-length ]
¡ 設置密碼的複雜度檢查策略。
password-control complexity { same-character | user-name } check
¡ 設置用戶登錄嚐試次數以及登錄嚐試失敗後的行為。
password-control login-attempt login-times [ exceed { lock | lock-time time | unlock } ]
¡ 設置用戶用戶名的閑置時間。
password-control login idle-time idle-time
缺省情況下,本地用戶的密碼老化管理功能處於使能狀態,且采用本地用戶所屬用戶組的密碼管理策略。
(18) (可選)設置本地用戶所屬的用戶組。
group group-name
缺省情況下,本地用戶屬於用戶組system。
開啟網絡接入類全局密碼管理功能(通過命令password-control enable network-class)後,設備上將不顯示配置的本地用戶密碼,也不會將該密碼保存在當前配置中。如果關閉了網絡接入類全局密碼管理功能,已配置的密碼將恢複在當前配置中。當前配置可通過display current-configuration命令查看。
授權屬性和密碼控製屬性均可以在本地用戶視圖和用戶組視圖下配置,各視圖下的配置優先級順序從高到低依次為:本地用戶視圖-->用戶組視圖。
在綁定接口屬性時要考慮綁定接口類型是否合理。對於不同接入類型的用戶,請按照如下方式進行綁定接口屬性的配置:
· MAC地址認證用戶:配置綁定的接口為開啟MAC地址認證的二層以太網接口。
· Portal用戶:若使能Portal的接口為VLAN接口,且沒有通過portal roaming enable命令配置Portal用戶漫遊功能,則配置綁定的接口為用戶實際接入的二層以太網接口;其它情況下,配置綁定的接口均為使能Portal的接口。
(19) 進入係統視圖。
system-view
(20) 添加網絡接入類本地用戶,並進入網絡接入類本地用戶視圖。
local-user user-name class network
(21) (可選)設置本地用戶的密碼。
password { cipher | simple } string
(22) (可選)設置本地用戶的描述信息。
description text
缺省情況下,未配置本地用戶的描述信息。
(23) (可選)配置網絡接入類本地用戶的電話號碼。
phone phone-number
缺省情況下,未配置網絡接入類本地用戶電話號碼。
(24) 配置網絡接入類本地用戶的Email地址。
email email-string
缺省情況下,未配置網絡接入類本地用戶的Email地址。
(25) 設置本地用戶可以使用的服務類型。
service-type { advpn | ike | ipoe | lan-access | portal | ppp | sslvpn }
缺省情況下,本地用戶不能使用任何服務類型。
(26) (可選)設置本地用戶的狀態。
state { active | block }
缺省情況下,本地用戶處於活動狀態,即允許該用戶請求網絡服務。
(27) (可選)設置使用當前本地用戶名接入設備的最大用戶數。
access-limit max-user-number
缺省情況下,不限製使用當前本地用戶名接入的用戶數。
(28) (可選)設置本地用戶的綁定屬性。
bind-attribute { call-number call-number [ : subcall-number ] | ip ip-address [ mask-length | mask ] |location interface interface-type interface-number | mac mac-address | vlan vlan-id } *
缺省情況下,未設置本地用戶的任何綁定屬性。
(29) (可選)設置本地用戶的授權屬性。
authorization-attribute { acl acl-number | callback-number callback-number | idle-cut minutes | ip ipv4-address | ip-pool ipv4-pool-name | ipv6 ipv6-address | ipv6-pool ipv6-pool-name | ipv6-prefix ipv6-prefix prefix-length | { primary-dns | secondary-dns } { ip ipv4-address | ipv6 ipv6-address } | session-timeout minutes | sslvpn-policy-group group-name | url url-string | vlan vlan-id | vpn-instance vpn-instance-name } *
缺省情況下,本地用戶無授權屬性。
(30) (可選)設置網絡接入類本地用戶的密碼管理屬性。請至少選擇其中一項進行配置。
¡ 設置密碼最小長度。
password-control length length
¡ 設置密碼組合策略。
password-control composition type-number type-number [ type-length type-length ]
¡ 設置密碼的複雜度檢查策略。
password-control complexity { same-character | user-name } check
¡ 設置用戶用戶名的閑置時間。
password-control network-class login idle-time idle-time
缺省情況下,采用本地用戶所屬用戶組的密碼管理策略。
(31) (可選)設置本地用戶所屬的用戶組。
group group-name
缺省情況下,本地用戶屬於用戶組system。
(32) (可選)將網絡接入類本地用戶加入身份識別用戶組。
identity-group group-name
缺省情況下,本地用戶未加入身份識別用戶組。
一個用戶可以加入多個身份識別用戶組。將用戶成功加入了某身份識別用戶組,係統會自動在該用戶組視圖下添加該用戶為身份識別成員。
(33) (可選)設置本地用戶的有效期。
validity-datetime { from start-date start-time to expiration-date expiration-time | from start-date start-time | to expiration-date expiration-time }
為使臨時接入網絡的訪客可以通過本地認證並方便管理員對訪客的訪問權限進行管理,需要在設備上的本地用戶數據庫中添加相應的本地來賓用戶表項。具體步驟是,創建一個本地來賓用戶並進入本地來賓用戶視圖,然後在該視圖下配置相應的來賓用戶屬性。完成本地來賓用戶屬性的配置後,可向來賓或來賓接待人發送包含用戶名、密碼、有效期的通知郵件。
(1) 進入係統視圖。
system-view
(2) 創建本地來賓用戶,並進入本地來賓用戶視圖。
local-user user-name class network guest
(3) (可選)配置本地來賓用戶的密碼。
password { cipher | simple } string
(4) 配置本地來賓用戶的基本信息。請至少選擇其中一項進行配置。
¡ 配置本地來賓用戶的描述信息。
description text
缺省情況下,未配置本地來賓用戶的描述信息。
¡ 配置本地來賓用戶的姓名。
full-name name-string
缺省情況下,未配置本地來賓用戶的姓名。
¡ 配置本地來賓用戶所屬公司。
company company-name
缺省情況下,未配置本地來賓用戶所屬公司。
¡ 配置本地來賓用戶的電話號碼。
phone phone-number
缺省情況下,未配置本地來賓用戶電話號碼。
¡ 配置本地來賓用戶的Email地址。
email email-string
缺省情況下,未配置本地來賓用戶的Email地址。
¡ 配置本地來賓用戶的接待人姓名。
sponsor-full-name name-string
缺省情況下,未配置本地來賓用戶的接待人姓名。
¡ 配置本地來賓用戶接待人所屬部門。
sponsor-department department-string
缺省情況下,未配置本地來賓用戶接待人所屬部門。
¡ 配置本地來賓用戶接待人的Email地址。
sponsor-email email-string
缺省情況下,未配置本地來賓用戶接待人的Email地址。
(5) (可選)配置本地來賓用戶的有效期。
validity-datetime from start-date start-time to expiration-date expiration-time
缺省情況下,未限製本地來賓用戶的有效期,該用戶始終有效。
(6) (可選)配置本地來賓用戶所屬的用戶組。
group group-name
缺省情況下,本地來賓用戶屬於係統默認創建的用戶組system。
(7) (可選)配置本地來賓用戶的狀態。
state { active | block }
缺省情況下,本地來賓用戶處於活動狀態,即允許該用戶請求網絡服務。
可在用戶視圖下執行本命令,直接以交互方式修改設備上已存在的設備管理類本地用戶的密碼,而無需進入相應的本地用戶視圖下修改密碼。
password
為了簡化本地用戶的配置,增強本地用戶的可管理性,引入了用戶組的概念。用戶組是一個本地用戶屬性的集合,某些需要集中管理的屬性可在用戶組中統一配置和管理,用戶組內的所有本地用戶都可以繼承這些屬性。
(8) 進入係統視圖。
system-view
(9) 創建用戶組,並進入用戶組視圖。
user-group group-name
缺省情況下,存在一個用戶組,名稱為system。
(10) (可選)配置用戶組的描述信息。
description text
缺省情況下,未配置用戶組的描述信息。
(11) 設置用戶組的授權屬性。
authorization-attribute { acl acl-number | callback-number callback-number | idle-cut minutes | ip-pool ipv4-pool-name | ipv6-pool ipv6-pool-name | ipv6-prefix ipv6-prefix prefix-length | { primary-dns | secondary-dns } { ip ipv4-address | ipv6 ipv6-address } | session-timeout minutes | sslvpn-policy-group group-name | url url-string | vlan vlan-id | vpn-instance vpn-instance-name | work-directory directory-name } *
缺省情況下,未設置用戶組的授權屬性。
(12) (可選)設置用戶組的密碼管理屬性。請至少選擇其中一項進行配置。
¡ 請依次執行以下命令,開啟密碼老化管理功能並設置密碼老化時間。
password-control aging enable
password-control aging aging-time
¡ 設置密碼最小長度。
password-control length length
¡ 設置密碼組合策略。
password-control composition type-number type-number [ type-length type-length ]
¡ 設置密碼的複雜度檢查策略。
password-control complexity { same-character | user-name } check
¡ 設置用戶登錄嚐試次數以及登錄嚐試失敗後的行為。
password-control login-attempt login-times [ exceed { lock | lock-time time | unlock } ]
¡ 設置用戶用戶名的閑置時間。
password-control [ network-class ] login idle-time idle-time
缺省情況下,用戶組的密碼老化管理功能處於使能狀態,且采用全局密碼管理策略。密碼管理相關配置的詳細介紹請參見“安全配置指導”中的“Password Control”。
(13) (可選)配置用戶組中的身份成員。
identity-member { group group-name | user user-name }
缺省情況下,用戶組中不存在身份成員。
要添加的成員用戶組中不能為其所屬的用戶組,即用戶組之間的從屬關係必須單向,不能形成循環嵌套關係。
管理員可以通過命令行批量導入、導出網絡接入類本地用戶。
(1) 進入係統視圖。
system-view
(2) 從CSV文件中導入用戶信息並創建網絡接入類本地用戶。
local-user-import class network url url-string [ auto-create-group | override | start-line line-number ] *
用於導入的CSV文件中的用戶名字段必須存在,其它信息如果未包含會使用缺省值。
(1) 進入係統視圖。
system-view
(2) 從設備導出網絡接入類本地用戶信息到CSV文件。
local-user-export class network url url-string [ from { group group-name | user user-name } ]
導出的CSV文件可直接或在編輯之後可導入到本設備或其它支持該命令的設備上使用。
通過Web頁麵管理設備上的網絡接入類本地用戶時,係統提供了為網絡接入類本地用戶分配隨機密碼的功能,並支持通過郵件的方式將生成的隨機密碼信息告知給用戶。之後,用戶可以使用此隨機密碼登錄設備。相應的,設備上也支持通過命令行來為網絡接入類本地用戶配置發送通知郵件的相關屬性。
使用本功能定義的參數為網絡接入類用戶發送分配的隨機密碼時,還需要滿足以下條件:
· 設備與SMTP郵件服務器之間路由可達。
· Web頁麵上配置的用戶郵箱有效。
Web頁麵和設備上對相同屬性的配置會相互覆蓋。
(3) 進入係統視圖。
system-view
(4) 配置為網絡接入類本地用戶發送通知郵件的郵件屬性。
¡ 配置通知郵件的發件人地址。
access-user email sender email-address
缺省情況下,未配置網絡接入類本地用戶通知郵件的發件人地址。
¡ 配置通知郵件的主題和內容。
access-user email format { body body-string | subject sub-string }
缺省情況下,網絡接入類本地用戶通知郵件的主題為Password reset notification,內容如下:
A random password has been generated for your account.
Username: xxx
Password: yyy
Validity: YYYY/MM/DD hh:mm:ss to YYYY/MM/DD hh:mm:ss
(5) 配置為網絡接入類本地用戶發送通知郵件使用的SMTP服務器屬性。
¡ 配置SMTP服務器地址。
access-user email smtp-server url-string
缺省情況下,未配置為網絡接入類本地用戶發送Email使用的SMTP服務器。
¡ 配置登錄SMTP服務器所需要的用戶名和密碼。
access-user email authentication username user-name password { cipher | simple } string
缺省情況下,未配置登錄SMTP服務器的用戶名和密碼。
如果登錄SMTP郵箱服務器時需要提供提登錄用戶名和密碼,則必須通過本配置設置相應的登錄用戶名和密碼。
隨著無線智能終端的快速發展,對於來公司參觀的訪客,公司需要提供一些網絡服務。當訪客用自己的手機、筆記本、IPAD等終端接入公司網絡時,涉及到用戶賬號注冊,以及訪問權限控製的問題。為了簡化訪客的注冊和審批流程,以及對訪客權限的管理控製,提供了本地來賓用戶管理功能,具體包括:
· 本地來賓用戶的注冊與審批,具體過程如下:
a. 來賓通過設備推出的Portal Web頁麵填寫注冊信息,主要包括用戶名、密碼和Email地址,並提交該信息。
b. 設備收到來賓用戶的注冊信息後,記錄該注冊信息,並向來賓管理員發送一個注冊申請通知郵件。
c. 來賓管理員收到注冊申請通知郵件之後,在設備的Web頁麵上對該賬戶進行編輯和審批。
d. 如果該賬戶在等待審批時間超時前被來賓管理員審批通過,則設備將自動在本地創建一個本地來賓用戶,並生成該用戶的相關屬性。若該賬戶在等待審批時間超時後還未被審批通過,則設備將會刪除本地記錄的該用戶注冊信息。
e. 本地來賓用戶創建之後,設備將自動發送郵件通知來賓或來賓接待人用戶注冊成功,向他們告知本地來賓用戶的密碼及有效期信息。
f. 來賓收到注冊成功通知後,將可以使用注冊的賬戶訪問網絡。
· 郵件通知功能:向來賓、來賓接待人、來賓管理員發送賬戶審批、密碼信息的郵件。
· 批量創建本地來賓用戶:在設備上批量生成一係列本地來賓賬戶,這些賬戶的用戶名和密碼按照指定規律生成。
· 導入本地來賓用戶信息:將指定路徑CSV文件的本地來賓賬戶信息導入到設備上,並生成相應的本地來賓用戶。導入操作成功後,該類賬戶可直接用於訪問網絡。
· 導出本地來賓用戶信息:將設備上的本地來賓賬戶信息導出到指定路徑CSV文件中供其它設備使用。
· 來賓用戶過期自動刪除功能:設備定時檢查本地來賓用戶是否過期並自動刪除過期的用戶。
(6) 進入係統視圖。
system-view
(7) 配置本地來賓用戶的通知郵件屬性。
a. 配置本地來賓用戶通知郵件的主題和內容。
local-guest email format to { guest | manager | sponsor } { body body-string | subject sub-string }
缺省情況下,未配置本地來賓用戶通知郵件的主題和內容。
b. 配置本地來賓用戶通知郵件的發件人地址。
local-guest email sender email-address
缺省情況下,未配置本地來賓用戶通知郵件的發件人地址。
c. 配置本地來賓用戶發送Email使用的SMTP服務器。
local-guest email smtp-server url-string
缺省情況下,未配置本地來賓用戶發送Email使用的SMTP服務器。
(8) 配置來賓管理員的Email地址。
local-guest manager-email email-address
缺省情況下,未配置來賓管理員的Email地址。
(9) (可選)配置本地來賓用戶的等待審批超時定時器。
local-guest timer waiting-approval time-value
缺省情況下,來賓注冊信息等待審批超時定時器的值為24小時。
(10) (可選)從指定路徑的文件中導入用戶信息並創建本地來賓用戶。
local-user-import class network guest url url-string validity-datetime start-date start-time to expiration-date expiration-time [ auto-create-group | override | start-line line-number ] *
(11) (可選)批量創建本地來賓用戶。
local-guest generate username-prefix name-prefix [ password-prefix password-prefix ] suffix suffix-number [ group group-name ] count user-count validity-datetime start-date start-time to expiration-date expiration-time
本命令批量生成的本地來賓用戶的用戶名和密碼等屬性將按照指定規律生成。
(12) (可選)從設備導出本地來賓用戶信息到指定路徑的CSV文件。
local-user-export class network guest url url-string
(13) (可選)開啟來賓用戶過期自動刪除功能。
local-guest auto-delete enable
缺省情況下,來賓用戶過期自動刪除功能處於關閉狀態。
(14) (可選)向本地來賓用戶郵箱和來賓接待人郵箱發送郵件。
a. 退回用戶視圖。
quit
b. 向相關人發送通知郵件,郵件中包含用戶名、密碼以及有效期信息。
local-guest send-email user-name user-name to { guest | sponsor }
在RBM場景中,當主設備配置本功能後,主設備會向備設備發起一次本地管理類用戶相關配置和數據的平滑同步,從而使備設備的本地管理類用戶相關配置和數據與主設備一致。
配置本功能後,本地管理類用戶相關配置和數據會響應RBM自動批備事件和手工批備命令configuration manual-sync,即自動批備事件和手工批備命令會觸發本地管理類用戶相關配置和數據的同步。同時,本地管理類用戶的相關配置和數據發生變化時也會實備到對端。
RBM處於鏡像模式(通過backup-mode命令配置),或者在RBM場景下配置了本功能,兩者滿足其一,即可實現本地管理類用戶的RBM同步功能。
在RBM場景中,若主設備在主備之間的鏈路斷開後,配置了本功能,則當主備之間的鏈路恢複時,主設備會向備設備發起一次本地管理類用戶相關配置和數據的平滑同步。
(15) 進入係統視圖。
system-view
(16) 開啟本地管理類用戶的RBM同步功能。
local-manage-user rbm-sync enable
缺省情況下,本地設備管理類用戶RBM同步功能處於關閉狀態。
完成上述配置後,在任意視圖下執行display命令可以顯示配置後本地用戶及本地用戶組的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除待審批來賓用戶注冊信息。
非缺省vSystem不支持部分顯示和維護命令,具體情況請參見本特性的命令參考。
表1-3 本地用戶及本地用戶組顯示和維護
操作 |
命令 |
顯示待審批來賓用戶注冊信息 |
display local-guest waiting-approval [ user-name user-name ] |
顯示本地用戶的配置信息和在線用戶數的統計信息 |
display local-user [ class { manage | network [ guest ] } | idle-cut { disable | enable } | service-type { advpn | ftp | http | https | ike | ipoe | lan-access | portal | ppp | ssh | sslvpn | telnet | terminal } | state { active | block } | user-name user-name class { manage | network [ guest ] } | vlan vlan-id ] |
顯示本地用戶的接入計數信息 |
display local-user user-name user-name class { manage | network } access-count |
顯示本地用戶組的相關配置 |
display user-group { all | name group-name } [ identity-member { all | group | user } ] |
清除待審批的來賓用戶注冊信息 |
reset local-guest waiting-approval [ user-name user-name ] |
RADIUS配置任務如下:
(1) 配置RADIUS服務器探測模板
若要對RADIUS認證服務器進行可達性探測,則需要配置RADIUS服務器探測模板,並在RADIUS認證服務器配置中引用該模板。
(2) 創建RADIUS方案
(3) 配置RADIUS認證服務器
(4) 配置RADIUS計費服務器
(5) 配置RADIUS報文的共享密鑰
若配置RADIUS認證/計費服務器時未指定共享密鑰,則可以通過本任務統一指定對所有認證/計費RADIUS服務器生效的共享密鑰。
(6) 配置RADIUS方案所屬的VPN
若配置RADIUS認證/計費服務器時未指定所屬的VPN,則可以通過本任務統一指定所有認證/計費RADIUS服務器所屬的VPN。
(7) (可選)配置RADIUS服務器的狀態
(8) (可選)配置RADIUS服務器的定時器
(9) (可選)配置RADIUS報文交互參數
(10) (可選)配置RADIUS屬性參數
¡ 開啟使用RADIUS Attribute 17支持在線修改用戶密碼功能
¡ 配置RADIUS Attribute 25的CAR參數解析功能
¡ 配置RADIUS Attribute 30中的MAC地址格式
¡ 配置RADIUS Attribute 31中的MAC地址格式
¡ 配置Vendor ID為2011的RADIUS服務器版本號
¡ 配置RADIUS Remanent_Volume屬性的流量單位
¡ 開啟廠商私有182號RADIUS屬性解析為授權VLAN功能
¡ 配置攜帶RADIUS私有屬性H3c-DHCP-Option
(11) (可選)配置RADIUS擴展功能
RADIUS服務器探測功能是指,設備周期性發送探測報文探測RADIUS服務器是否可達:如果服務器不可達,則置服務器狀態為block,如果服務器可達,則置服務器狀態為active。該探測功能不依賴於實際用戶的認證過程,無論是否有用戶向RADIUS服務器發起認證,無論是否有用戶在線,設備都會自動對指定的RADIUS服務器進行探測,便於及時獲得該服務器的可達狀態。
RADIUS服務器探測模板用於配置探測參數,並且可以被RADIUS方案視圖下的RADIUS服務器配置引用。
當一個RADIUS服務器配置中成功引用了一個已經存在的服務器探測模板後,設備會啟動對該RADIUS服務器的探測功能。設備采用探測模板中配置的探測用戶名構造一個認證請求報文,並在探測周期內選擇隨機時間點向引用了探測模板的RADIUS服務器發送該報文。如果在連續指定數目個探測周期內均收到服務器的認證響應報文,則認為該服務器可達;如果在連續指定數目個探測周期內均未收到服務器的認證響應報文,則認為該服務器不可達;其它情況視為該服務器狀態未改變。
係統支持同時存在多個RADIUS服務器探測模板。
服務器探測功能啟動後,以下情況發生將會導致探測過程中止:
· 刪除該RADIUS服務器配置;
· 取消對服務器探測模板的引用;
· 刪除對應的服務器探測模板;
· 將該RADIUS服務器的狀態手工置為block;
· 刪除當前RADIUS方案。
(1) 進入係統視圖。
system-view
(2) 配置RADIUS服務器探測模板。
radius-server test-profile profile-name username name [ interval interval ] [ probe-count count ]
係統最多支持配置16個RADIUS方案。一個RADIUS方案可以同時被多個ISP域引用。
(1) 進入係統視圖。
system-view
(2) 創建RADIUS方案,並進入RADIUS方案視圖。
radius scheme radius-scheme-name
由於RADIUS服務器的授權信息是隨認證應答報文發送給RADIUS客戶端的,RADIUS的認證和授權功能由同一台服務器實現,因此RADIUS認證服務器相當於RADIUS認證/授權服務器。通過在RADIUS方案中配置RADIUS認證服務器,指定設備對用戶進行RADIUS認證時與哪些服務器進行通信。
一個RADIUS方案中最多允許配置一個主認證服務器和16個從認證服務器。缺省情況下,當主服務器不可達時,設備根據從服務器的配置順序由先到後查找狀態為active的從服務器並與之交互。
開啟服務器負載分擔功能後,設備會根據各服務器的權重以及服務器承載的用戶負荷,按比例進行用戶負荷分配並選擇要交互的服務器。
建議在不需要備份的情況下,隻配置主RADIUS認證服務器即可。
在實際組網環境中,可以指定一台服務器既作為某個RADIUS方案的主認證服務器,又作為另一個RADIUS方案的從認證服務器。
在同一個方案中指定的主認證服務器和從認證服務器的VPN、IP地址、端口號不能完全相同,並且各從認證服務器的VPN、IP地址、端口號也不能完全相同。
(1) 進入係統視圖。
system-view
(2) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(3) 配置主RADIUS認證服務器。
primary authentication { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | test-profile profile-name | vpn-instance vpn-instance-name | weight weight-value ] *
缺省情況下,未配置主RADIUS認證服務器。
僅在RADIUS服務器負載分擔功能處於開啟狀態下,參數weight才能生效。
(4) (可選)配置從RADIUS認證服務器。
secondary authentication { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | test-profile profile-name | vpn-instance vpn-instance-name | weight weight-value ] *
缺省情況下,未配置從RADIUS認證服務器。
僅在RADIUS服務器負載分擔功能處於開啟狀態下,參數weight才能生效。
通過在RADIUS方案中配置RADIUS計費服務器,指定設備對用戶進行RADIUS計費時與哪些服務器進行通信。
一個RADIUS方案中最多允許配置一個主計費服務器和16個從計費服務器。缺省情況下,當主服務器不可達時,設備根據從服務器的配置順序由先到後查找狀態為active的從服務器並與之交互。
開啟服務器負載分擔功能後,設備會根據各服務器的權重以及服務器承載的用戶負荷,按比例進行用戶負荷分配並選擇要交互的服務器。
建議在不需要備份的情況下,隻配置主RADIUS計費服務器即可。
在實際組網環境中,可以指定一台服務器既作為某個RADIUS方案的主計費服務器,又作為另一個RADIUS方案的從計費服務器。
在同一個方案中指定的主計費服務器和從計費服務器的VPN、IP地址、端口號不能完全相同,並且各從計費服務器的VPN、IP地址、端口號也不能完全相同。
目前RADIUS不支持對FTP/SFTP/SCP用戶進行計費。
(1) 進入係統視圖。
system-view
(2) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(3) 配置主RADIUS計費服務器。
primary accounting { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | vpn-instance vpn-instance-name | weight weight-value ] *
缺省情況下,未配置主RADIUS計費服務器。
僅在RADIUS服務器負載分擔功能處於開啟狀態下,參數weight才能生效。
(4) (可選)配置從RADIUS計費服務器。
secondary accounting { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | vpn-instance vpn-instance-name | weight weight-value ] *
缺省情況下,未配置從RADIUS計費服務器。
僅在RADIUS服務器負載分擔功能處於開啟狀態下,參數weight才能生效。
RADIUS客戶端與RADIUS服務器使用MD5算法並在共享密鑰的參與下生成驗證字,接受方根據收到報文中的驗證字來判斷對方報文的合法性。隻有在共享密鑰一致的情況下,彼此才能接收對方發來的報文並作出響應。
由於設備優先采用配置RADIUS認證/計費服務器時指定的報文共享密鑰,因此,本配置中指定的RADIUS報文共享密鑰僅在配置RADIUS認證/計費服務器時未指定相應密鑰的情況下使用。
必須保證設備上設置的共享密鑰與RADIUS服務器上的完全一致。
(1) 進入係統視圖。
system-view
(2) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(3) 配置RADIUS報文的共享密鑰。
key { accounting | authentication } { cipher | simple } string
缺省情況下,未配置RADIUS報文的共享密鑰。
該配置用於為RADIUS方案下的所有RADIUS服務器統一指定所屬的VPN。RADIUS服務器所屬的VPN也可以在配置RADIUS服務器的時候單獨指定,且被優先使用。未單獨指定所屬VPN的服務器,則屬於所在RADIUS方案所屬的VPN。
(1) 進入係統視圖。
system-view
(2) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(3) 配置RADIUS方案所屬的VPN。
vpn-instance vpn-instance-name
缺省情況下,RADIUS方案屬於公網。
RADIUS方案中各服務器的狀態(active、block)決定了設備向哪個服務器發送請求報文,以及設備在與當前服務器通信中斷的情況下,如何轉而與另外一個服務器進行交互。在實際組網環境中,可指定一個主RADIUS服務器和多個從RADIUS服務器,由從服務器作為主服務器的備份。當RADIUS服務器負載分擔功能處於開啟狀態時,設備僅根據當前各服務器承載的用戶負荷調度狀態為active的服務器發送認證或計費請求。當RADIUS服務器負載分擔功能處於關閉狀態時,設備上主從服務器的切換遵從以下原則:
· 當主服務器狀態為active時,設備首先嚐試與主服務器通信,若主服務器不可達,則按照從服務器的配置先後順序依次查找狀態為active的從服務器。
· 隻要存在狀態為active的服務器,設備就僅與狀態為active的服務器通信,即使該服務器不可達,設備也不會嚐試與狀態為block的服務器通信。
· 當主/從服務器的狀態均為block時,若主服務器狀態是自動設置為block且已配置主服務器,則采用主服務器進行認證或計費;若主服務器狀態是被手工設置為block或未配置主服務器,則在自動設置為block狀態的所有從服務器中按順序選擇從服務器進行認證或計費。
· 如果服務器不可達,則設備將該服務器的狀態置為block,並啟動該服務器的quiet定時器。當服務器的quiet定時器超時,或者手動將服務器狀態置為active時,該服務器將恢複為active狀態。
· 在一次認證或計費過程中,如果設備在嚐試與從服務器通信時,之前已經查找過的服務器狀態由block恢複為active,則設備並不會立即恢複與該服務器的通信,而是繼續查找從服務器。如果所有已配置的服務器都不可達,則認為本次認證或計費失敗。
· 如果在認證或計費過程中刪除了當前正在使用的服務器,則設備在與該服務器通信超時後,將會立即從主服務器開始依次查找狀態為active的服務器並與之進行通信。
· 一旦服務器狀態滿足自動切換的條件,則所有RADIUS方案視圖下該服務器的狀態都會相應地變化。
· 將認證服務器的狀態由active修改為block時,若該服務器引用了RADIUS服務器探測模板,則關閉對該服務器的探測功能;反之,將認證服務器的狀態由block更改為active時,若該服務器引用了一個已存在的RADIUS服務器探測模板,則開啟對該服務器的探測功能。
· 缺省情況下,設備將配置了IP地址的各RADIUS服務器的狀態均置為active,認為所有的服務器均處於正常工作狀態,但有些情況下用戶可能需要通過以下配置手工改變RADIUS服務器的當前狀態。例如,已知某服務器故障,為避免設備認為其active而進行無意義的嚐試,可暫時將該服務器狀態手工置為block。
設置的服務器狀態不能被保存在配置文件中,可通過display radius scheme命令查看。
設備重啟後,各服務器狀態將恢複為缺省狀態active。
(1) 進入係統視圖。
system-view
(2) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(3) 設置RADIUS認證服務器的狀態。請至少選擇其中一項進行配置。
¡ 設置主RADIUS認證服務器的狀態。
state primary authentication { active | block }
¡ 設置主RADIUS計費服務器的狀態。
state primary accounting { active | block }
¡ 設置從RADIUS認證服務器的狀態。
state secondary authentication [ { ipv4-address | ipv6 ipv6-address } [ port-number | vpn-instance vpn-instance-name ] *] { active | block }
¡ 設置從RADIUS計費服務器的狀態。
state secondary accounting [ { ipv4-address | ipv6 ipv6-address } [ port-number | vpn-instance vpn-instance-name ] *] { active | block }
缺省情況下,RADIUS服務器的狀態為active。
在與RADIUS服務器交互的過程中,設備上可啟動的定時器包括以下幾種:
· 服務器響應超時定時器(response-timeout):如果在RADIUS請求報文發送出去一段時間後,設備還沒有得到RADIUS服務器的響應,則有必要重傳RADIUS請求報文,以保證用戶盡可能地獲得RADIUS服務,這段時間被稱為RADIUS服務器響應超時時間。
· 服務器恢複激活狀態定時器(quiet):當服務器不可達時,設備將該服務器的狀態置為block,並開啟超時定時器,在設定的一定時間間隔之後,再將該服務器的狀態恢複為active。這段時間被稱為RADIUS服務器恢複激活狀態時長。
· 實時計費間隔定時器(realtime-accounting):為了對用戶實施實時計費,有必要定期向服務器發送實時計費更新報文,通過設置實時計費的時間間隔,設備會每隔設定的時間向RADIUS服務器發送一次在線用戶的計費信息。
設置RADIUS服務器的定時器時,請遵循以下配置原則:
· 要根據配置的從服務器數量合理設置發送RADIUS報文的最大嚐試次數和RADIUS服務器響應超時時間,避免因為超時重傳時間過長,在主服務器不可達時,出現設備在嚐試與從服務器通信的過程中接入模塊(例如Telnet模塊)的客戶端連接已超時的現象。但是,有些接入模塊的客戶端的連接超時時間較短,在配置的從服務器較多的情況下,即使將報文重傳次數和RADIUS服務器響應超時時間設置的很小,也可能會出現上述客戶端超時的現象,並導致初次認證或計費失敗。這種情況下,由於設備會將不可達服務器的狀態設置為block,在下次認證或計費時設備就不會嚐試與這些狀態為block的服務器通信,一定程度上縮短了查找可達服務器的時間,因此用戶再次嚐試認證或計費就可以成功。
· 要根據配置的從服務器數量合理設置服務器恢複激活狀態的時間。如果服務器恢複激活狀態時間設置得過短,就會出現設備反複嚐試與狀態active但實際不可達的服務器通信而導致的認證或計費頻繁失敗的問題;如果服務器恢複激活狀態設置的過長,則會導致已經恢複激活狀態的服務器暫時不能為用戶提供認證或計費服務。
· 實時計費間隔的取值對設備和RADIUS服務器的性能有一定的相關性要求,取值小,會增加網絡中的數據流量,對設備和RADIUS服務器的性能要求就高;取值大,會影響計費的準確性。因此要結合網絡的實際情況合理設置計費間隔的大小,一般情況下,建議當用戶量比較大(大於等於1000)時,盡量把該間隔的值設置得大一些(大於15分鍾)。
(1) 進入係統視圖。
system-view
(2) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(3) 設置RADIUS定時器參數。請至少選擇其中一項進行配置。
¡ 設置服務器響應超時時間。
timer response-timeout seconds
缺省情況下,服務器響應超時定時器為3秒。
¡ 設置服務器恢複激活狀態的時間。
timer quiet minutes
缺省情況下,服務器恢複激活狀態前需要等待5分鍾。
¡ 設置實時計費間隔。
timer realtime-accounting interval [ second ]
缺省情況下,實時計費間隔為12分鍾。
RADIUS服務器上通過IP地址來標識接入設備,並根據收到的RADIUS報文的源IP地址是否與服務器所管理的接入設備的IP地址匹配,來決定是否處理來自該接入設備的認證或計費請求。若RADIUS服務器收到的RADIUS認證或計費報文的源地址在所管理的接入設備IP地址範圍內,則會進行後續的認證或計費處理,否則直接丟棄該報文。
設備發送RADIUS報文時,根據以下順序查找使用的源IP地址:
(1) 當前所使用的RADIUS方案中配置的發送RADIUS報文使用的源IP地址。
(2) 根據當前使用的服務器所屬的VPN查找係統視圖下通過radius nas-ip命令配置的私網源地址,對於公網服務器則直接查找該命令配置的公網源地址。
(3) 通過路由查找到的發送RADIUS報文的出接口地址。
發送RADIUS報文使用的源IP地址在係統視圖和RADIUS方案視圖下均可配置,係統視圖下的配置將對所有RADIUS方案生效,RADIUS方案視圖下的配置僅對本方案有效,並且具有高於前者的優先級。
為保證認證和計費報文可被服務器正常接收並處理,接入設備上發送RADIUS報文使用的源IP地址必須與RADIUS服務器上指定的接入設備的IP地址保持一致。
通常,該地址為接入設備上與RADIUS服務器路由可達的接口IP地址,為避免物理接口故障時從服務器返回的報文不可達,推薦使用Loopback接口地址為發送RADIUS報文使用的源IP地址。
(1) 進入係統視圖。
system-view
(2) 設置設備發送RADIUS報文使用的源IP地址。
radius nas-ip { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ]
缺省情況下,未指定發送RADIUS報文使用的源IP地址,設備將使用到達RADIUS服務器的路由出接口的主IPv4地址或IPv6地址作為發送RADIUS報文的源IP地址。
(1) 進入係統視圖。
system-view
(2) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(3) 設置設備發送RADIUS報文使用的源IP地址。
nas-ip { ipv4-address | ipv6 ipv6-address }
缺省情況下,未指定設備發送RADIUS報文使用的源IP地址,使用係統視圖下由命令radius nas-ip指定的源IP地址。
接入用戶通常以“userid@isp-name”的格式命名,“@”後麵的部分為ISP域名,設備通過該域名決定將用戶歸於哪個ISP域。由於有些較早期的RADIUS服務器不能接受攜帶有ISP域名的用戶名,因此就需要設備首先將用戶名中攜帶的ISP域名去除後再傳送給該類RADIUS服務器。通過設置發送給RADIUS服務器的用戶名格式,就可以選擇發送RADIUS服務器的用戶名中是否要攜帶ISP域名,以及是否保持用戶輸入的原始用戶名格式。
設備通過發送計費報文,向RADIUS服務器報告在線用戶的數據流量統計值,該值的單位可配。
如果要在兩個乃至兩個以上的ISP域中引用相同的RADIUS方案,建議設置該RADIUS方案允許用戶名中攜帶ISP域名,使得RADIUS服務器端可以根據ISP域名來區分不同的用戶。
為保證RADIUS服務器計費的準確性,設備上設置的發送給RADIUS服務器的數據流或者數據包的單位應與RADIUS服務器上的流量統計單位保持一致。
(1) 進入係統視圖。
system-view
(2) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(3) 設置發送給RADIUS服務器的用戶名格式。
user-name-format { keep-original | with-domain | without-domain }
缺省情況下,發送給RADIUS服務器的用戶名攜帶ISP域名。
(4) 設置發送給RADIUS服務器的數據流或者數據包的單位。
data-flow-format { data { byte | giga-byte | kilo-byte | mega-byte } | packet { giga-packet | kilo-packet | mega-packet | one-packet } } *
缺省情況下,數據流的單位為字節,數據包的單位為包。
由於RADIUS協議采用UDP報文來承載數據,因此其通信過程是不可靠的。如果設備在應答超時定時器規定的時長內(由timer response-timeout命令配置)沒有收到RADIUS服務器的響應,則設備有必要向RADIUS服務器重傳RADIUS請求報文。如果發送RADIUS請求報文的累計次數已達到指定的最大嚐試次數而RADIUS服務器仍舊沒有響應,則設備將嚐試與其它服務器通信,如果不存在狀態為active的服務器,則認為本次認證或計費失敗。關於RADIUS服務器狀態的相關內容,請參見“配置RADIUS服務器的狀態”。
(1) 進入係統視圖。
system-view
(2) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(3) 設置發送RADIUS報文的最大嚐試次數。
retry retries
缺省情況下,發送RADIUS報文的最大嚐試次數為3次。
通過在設備上配置發起實時計費請求的最大嚐試次數,允許設備向RADIUS服務器發出的實時計費請求沒有得到響應的次數超過指定的最大值時切斷用戶連接。
(1) 進入係統視圖。
system-view
(2) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(3) 設置允許發起實時計費請求的最大嚐試次數。
retry realtime-accounting retries
缺省情況下,允許發起實時計費請求的最大嚐試次數為5。
DSCP攜帶在IP報文中的ToS字段,用來體現報文自身的優先等級,決定報文傳輸的優先程度。通過本命令可以指定設備發送的RADIUS報文攜帶的DSCP優先級的取值。配置DSCP優先級的取值越大,RADIUS報文的優先級越高。
(1) 進入係統視圖。
system-view
(2) 配置RADIUS報文的DSCP優先級。
radius [ ipv6 ] dscp dscp-value
缺省情況下,RADIUS報文的DSCP優先級為0。
RADIUS 15號屬性為Login-Service屬性,該屬性攜帶在Access-Accept報文中,由RADIUS服務器下發給設備,表示認證用戶的業務類型,例如屬性值0表示Telnet業務。設備檢查用戶登錄時采用的業務類型與服務器下發的Login-Service屬性所指定的業務類型是否一致,如果不一致則用戶認證失敗 。由於RFC中並未定義SSH、FTP和Terminal、HTTP、HTTPS這幾種業務的Login-Service屬性值,因此設備無法針對SSH、FTP、Terminal、HTTP、HTTPS用戶進行業務類型一致性檢查,為了支持對這些業務類型的檢查,H3C為Login-Service屬性定義了表1-4所示的擴展取值。
屬性值 |
描述 |
50 |
用戶的業務類型為SSH |
51 |
用戶的業務類型為FTP |
52 |
用戶的業務類型為Terminal |
53 |
用戶的業務類型為HTTP |
54 |
用戶的業務類型為HTTPS |
可以通過配置設備對RADIUS 15號屬性的檢查方式,控製設備是否使用擴展的Login-Service屬性值對用戶進行業務類型一致性檢查。
· 嚴格檢查方式:設備使用標準屬性值和擴展屬性值對用戶業務類型進行檢查,對於SSH、FTP、Terminal、HTTP、HTTPS用戶,當RADIUS服務器下發的Login-Service屬性值為對應的擴展取值時才能夠通過認證。
· 鬆散檢查方式:設備使用標準屬性值對用戶業務類型進行檢查,對於SSH、FTP、Terminal、HTTP、HTTPS用戶,在RADIUS服務器下發的Login-Service屬性值為0(表示用戶業務類型為Telnet)時才能夠通過認證。
由於某些RADIUS服務器不支持自定義的屬性,無法下發擴展的Login-Service屬性,若要使用這類RADIUS服務器對SSH、FTP、Terminal、HTTP、HTTPS用戶進行認證,建議設備上對RADIUS 15號屬性值采用鬆散檢查方式。
(1) 進入係統視圖。
system-view
(2) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(3) 配置對RADIUS Attribute 15的檢查方式。
attribute 15 check-mode { loose | strict }
缺省情況下,對RADIUS Attribute 15的檢查方式為strict方式。
設備支持SSL VPN接入用戶在線修改密碼功能,開啟本功能後:
· 用戶認證成功後,若服務器向設備發送攜帶了Reply-Message屬性的Access-Challenge報文,設備會提示用戶需要在線修改密碼,並在收到用戶的密碼修改請求後,向用戶認證上線的RADIUS服務器發送一個認證請求報文,在該報文中使用2號標準屬性攜帶用戶的新密碼。
· 用戶在線期間,若用戶主動發起密碼修改請求,設備會重新選擇可達的RADIUS服務器發送一個認證請求報文,該報文中使用2號、17號標準屬性攜帶用戶的新密碼和舊密碼。如果該方案下的RADIUS服務器支持用戶在線修改密碼,則會響應此認證請求。設備重新選擇RADIUS服務器的機製與首次認證時選擇RADIUS服務器的機製相同,但選擇的結果可能會因為網絡狀況的變化而有所不同,因此密碼修改有可能失敗。
目前,僅部分RADIUS服務器可支持SSL VPN接入用戶在線修改密碼,因此請結合實際組網環境開啟本功能。若RADIUS服務器不支持此功能,請確保設備上關閉了此功能。
RADIUS方案視圖下,如果存在RADIUS 18號屬性的解析規則,RADIUS Attribute 17支持在線修改用戶密碼功能將不會生效。因此,建議同一個RADIUS方案視圖下,開啟本功能後,不要再配置RADIUS 18號屬性的解析規則(通過attribute 18 match命令)。
(1) 進入係統視圖。
system-view
(2) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(3) 開啟使用RADIUS Attribute 17支持在線修改用戶密碼功能。
attribute 17 old-password
缺省情況下,不支持在線修改用戶密碼功能。
RADIUS 18號屬性為Reply-Message屬性,用於攜帶服務器希望顯示在客戶端上的信息。服務器發送給設備的Access-Challenge報文使用該屬性攜帶一條提示給用戶且期待用戶給予響應的消息。為了讓設備按照服務器的意圖向用戶傳達Reply-Message屬性的涵義,管理員可以在設備上配置該屬性的解析規則。比如,設備收到的Reply-Message屬性中包含字符串“new pin”時,就表示需要提示用戶在線修改密碼。
每一條屬性解析規則由一個匹配表達式和一個動作參數組成。設備解析Reply-Message屬性時,采用部分匹配原則,即隻要屬性值中包含了解析規則中指定的表達式,就認為匹配成功,並按照如下動作參數理解此屬性的含義:
· new-password:要求用戶輸入新密碼。
· next-token:采用雙因子認證機製時,需要用戶提交下一個身份認證因素進行二次驗證。
為了保證Reply-Message屬性值的匹配準確度,請務必首先了解服務器端定義的Reply-Message屬性的涵義。
目前,此功能隻對SSL VPN接入用戶生效。
一個RADIUS方案視圖中,最多允許配置16條RADIUS 18號屬性的解析規則。不同的規則應該彼此獨立,不能出現匹配表達式相互包含的情況。
RADIUS方案視圖下,如果存在RADIUS 18號屬性的解析規則,RADIUS Attribute 17支持在線修改用戶密碼功能將不會生效。因此,建議同一個RADIUS方案視圖下,配置了RADIUS 18號屬性的解析規則後,不要開啟RADIUS Attribute 17支持在線修改用戶密碼功能(通過命令attribute 17 old-password)。
(1) 進入係統視圖。
system-view
(2) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(3) 配置RADIUS 18號屬性的解析規則。
attribute 18 match string action { new-password | next-token }
缺省情況下,未配置RADIUS 18號屬性的解析規則。RADIUS 18號屬性表示的含義為,需要用戶提交下一個身份認證因素。
RADIUS的25號屬性為class屬性,該屬性由RADIUS服務器下發給設備,但RFC中並未定義具體的用途,僅規定了設備需要將服務器下發的class屬性再原封不動地攜帶在計費請求報文中發送給服務器即可,同時RFC並未要求設備必須對該屬性進行解析。目前,某些RADIUS服務器利用class屬性來對用戶下發CAR參數,為了支持這種應用,可以通過本特性來控製設備是否將RADIUS 25號屬性解析為CAR參數,解析出的CAR參數可被用來進行基於用戶的流量監管控製。
(1) 進入係統視圖。
system-view
(2) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(3) 開啟RADIUS Attribute 25的CAR參數解析功能。
attribute 25 car
缺省情況下,RADIUS Attribute 25的CAR參數解析功能處於關閉狀態。
不同的RADIUS服務器對填充在RADIUS Attribute 30中的MAC地址有不同的格式要求,為了保證RADIUS報文的正常交互,設備發送給服務器的RADIUS Attribute 30號屬性中MAC地址的格式必須與服務器的要求保持一致。
(1) 進入係統視圖。
system-view
(2) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(3) 配置RADIUS Attribute 30中的MAC地址格式。
attribute 30 mac-format section { one | { six | three } separator separator-character } { lowercase | uppercase }
缺省情況下,RADIUS Attribute 30中的MAC地址為大寫字母格式,且被分隔符“-”分成6段,即為HH-HH-HH-HH-HH-HH的格式。
不同的RADIUS服務器對填充在RADIUS Attribute 31中的MAC地址有不同的格式要求,為了保證RADIUS報文的正常交互,設備發送給服務器的RADIUS Attribute 31號屬性中MAC地址的格式必須與服務器的要求保持一致。
(1) 進入係統視圖。
system-view
(2) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(3) 配置RADIUS Attribute 31中的MAC地址格式。
attribute 31 mac-format section { one | { six | three } separator separator-character } { lowercase | uppercase }
缺省情況下,RADIUS Attribute 31中的MAC地址為大寫字母格式,且被分隔符“-”分成6段,即為HH-HH-HH-HH-HH-HH的格式。
當設備與Vendor ID為2011的RADIUS服務器交互時,需要通過本命令保證設備支持的服務器版本號與對端服務器的實際版本號一致,否則會導致部分RADIUS屬性解析錯誤。
(1) 入係統視圖。
system-view
(2) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(3) 配置Vendor ID為2011的RADIUS服務器版本號。
attribute vendor-id 2011 version { 1.0 | 1.1 }
缺省情況下,設備采用版本1.0與Vendor ID為2011的RADIUS服務器交互。
Remanent_Volume屬性為H3C自定義RADIUS屬性,攜帶在RADIUS服務器發送給接入設備的認證響應或實時計費響應報文中,用於向接入設備通知在線用戶的剩餘流量值。
設備管理員設置的Remanent_Volume屬性流量單位應與RADIUS服務器上統計用戶流量的單位保持一致,否則設備無法正確使用Remanent_Volume屬性值對用戶進行計費。
(1) 進入係統視圖。
system-view
(2) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(3) 配置RADIUS Remanent_Volume屬性的流量單位。
attribute remanent-volume unit { byte | giga-byte | kilo-byte | mega-byte }
缺省情況下,Remanent_Volume屬性的流量單位是千字節。
RADIUS服務器可通過下發微分段來對接入用戶進行精細化的訪問控製。若接入設備上需要通過授權VLAN信息實現基於微分段的訪問控製,那麼就需要開啟本功能。
開啟本功能後,設備會將RADIUS服務器下發的Vendor ID為25506的廠商私有微分段ID屬性(編號為182)解析為授權VLAN信息。當該屬性值為整數時,將其解析為VLAN ID;其它取值時,將其解析為VLAN名稱。
如果RADIUS服務器使用其它RADIUS屬性來下發微分段,則需要首先通過RADIUS屬性解釋功能將其轉換為Vendor ID為25506的廠商私有微分段ID屬性(編號為182)。
(4) 進入係統視圖。
system-view
(5) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(6) 開啟廠商私有182號屬性解析為授權VLAN功能。
attribute 182 vendor-id 25506 vlan
缺省情況下,廠商私有182號屬性解析為授權VLAN功能處於關閉狀態。
不同廠商的RADIUS服務器支持的Acct-Session-Id屬性的格式可能有所不同,可通過本配置指定設備使用的Acct-Session-Id屬性格式:
· 普通模式(common):該模式下的Acct-Session-Id屬性取值長度為38個字符,由前綴、日期時間、序列號、接入節點的LIP地址、設備ID以及進程的Job ID信息組成。
· 精簡模式(simplified):該模式下的Acct-Session-Id屬性取值長度為16個字符,由前綴、月份值、序列號、設備ID以及接入節點的LIP地址信息組成。
(1) 進入係統視圖。
system-view
(2) 配置設備使用的Acct-Session-Id屬性模式。
aaa session-id mode { common | simplified }
缺省情況下,設備使用的Acct-Session-Id屬性模式為普通模式。
設備廠商可以通過對RADIUS協議中的26號屬性進行擴展,以實現標準RADIUS未定義的功能。H3C定義了私有屬性H3c-DHCP-Option,用來攜帶客戶端的DHCP Option信息。通過配置在RADIUS認證請求報文、計費開始請求報文或計費更新請求報文中攜帶該屬性,可以將客戶端的DHCP Option信息發送給RADIUS服務器。
是否需要設備在RADIUS報文中攜帶H3c-DHCP-Option屬性,以及采用哪種封裝格式,請以RADIUS服務器的要求為準。
(3) 進入係統視圖。
system-view
(4) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(5) 配置在RADIUS報文中攜帶私有屬性H3c-DHCP-Option。
include-attribute h3c-dhcp-option format { format1 | format2 }
缺省情況下,RADIUS報文中攜帶以format1的格式封裝的私有屬性H3c-DHCP-Option。
format1格式封裝的屬性Type字段長度為1字節;format2格式封裝的屬性Type字段長度為2字節。
不同廠商的RADIUS服務器所支持的RADIUS屬性集有所不同,而且相同屬性的用途也可能不同。為了兼容不同廠商的服務器的RADIUS屬性,需要開啟RADIUS屬性解釋功能,並定義相應的RADIUS屬性轉換規則和RADIUS屬性禁用規則。
開啟RADIUS解釋功能後,設備在發送和接收RADIUS報文時,可以按照配置的屬性轉換規則以及屬性禁用規則對RADIUS報文中的屬性進行不同的處理:
· 設備發送RADIUS報文時,將報文中匹配上禁用規則的屬性從報文中刪除,將匹配上轉換規則的屬性替換為指定的屬性;
· 設備接收RADIUS報文時,不處理報文中匹配上禁用規則的屬性,將匹配上轉換規則的屬性解析為指定的屬性。
如果設備需要按照某種既定規則去處理一些無法識別的其他廠商的私有RADIUS屬性,可以定義RADIUS擴展屬性。通過自定義RADIUS擴展屬性,並結合RADIUS屬性轉換功能,可以將係統不可識別的屬性映射為已知屬性來處理。
在一個RADIUS方案視圖下,對於同一個RADIUS屬性,存在以下配置限製:
· 如果已經配置了禁用規則,則不允許再配置轉換規則;反之亦然。
· 基於方向(received、sent)的規則和基於報文類型(access-accept、access-request、accounting)的規則,不能同時配置,隻能存在一種。
· 對於基於方向的規則,可以同時存在兩條不同方向的規則;對於基於報文類型的規則,可以存在同時存在三條不同類型的規則。
(1) 進入係統視圖。
system-view
(2) (可選)定義RADIUS擴展屬性。
radius attribute extended attribute-name [ vendor vendor-id ] code attribute-code type { binary | date | integer | interface-id | ip | ipv6 | ipv6-prefix | octets | string }
(3) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(4) 開啟RADIUS屬性解釋功能。
attribute translate
缺省情況下,RADIUS屬性解釋功能處於關閉狀態。
(5) 配置RADIUS屬性轉換/禁用規則。請至少選擇其中一項進行配置。
¡ 配置RADIUS屬性轉換規則。
attribute convert src-attr-name to dest-attr-name { { access-accept | access-request | accounting } * | { received | sent } * }
缺省情況下,未配置任何RADIUS屬性轉換規則。
¡ 配置RADIUS屬性禁用規則。
attribute reject attr-name { { access-accept | access-request | accounting } * | { received | sent } * }
缺省情況下,未配置任何RADIUS屬性禁用規則。
(1) 進入係統視圖。
system-view
(2) (可選)定義RADIUS擴展屬性。
radius attribute extended attribute-name [ vendor vendor-id ] code attribute-code type { binary | date | integer | interface-id | ip | ipv6 | ipv6-prefix | octets | string }
(3) 進入RADIUS DAE服務器視圖。
radius dynamic-author server
(4) 開啟RADIUS屬性解釋功能。
attribute translate
缺省情況下,RADIUS屬性解釋功能處於關閉狀態。
(5) 配置RADIUS屬性轉換/禁用規則。請至少選擇其中一項進行配置。
¡ 配置RADIUS屬性轉換。
attribute convert src-attr-name to dest-attr-name { { coa-ack | coa-request } * | { received | sent } * }
缺省情況下,未配置任何RADIUS屬性轉換。
¡ 配置RADIUS屬性禁用。
attribute reject attr-name { { coa-ack | coa-request } * | { received | sent } * }
缺省情況下,未配置任何RADIUS屬性禁用。
缺省情況下,RADIUS服務器的調度采用主/從模式,即設備優先與主服務器交互,當主服務器不可達時,設備根據從服務器的配置順序由先到後查找狀態為active的從服務器並與之交互。
RADIUS方案中開啟了服務器負載分擔功能後,設備會根據各服務器的權重以及服務器承載的用戶負荷,按比例進行用戶負荷分配並選擇要交互的服務器。
負載分擔模式下,某台計費服務器開始對某用戶計費後,該用戶後續計費請求報文均會發往同一計費服務器。如果該計費服務器不可達,則直接返回計費失敗。
(1) 進入係統視圖。
system-view
(2) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(3) 開啟RADIUS服務器負載分擔功能。
server-load-sharing enable
缺省情況下,RADIUS服務器負載分擔功能處於關閉狀態。
開啟accounting-on功能後,整個設備會在重啟後主動向RADIUS服務器發送accounting-on報文來告知自己已經重啟,並要求RADIUS服務器停止計費且強製通過本設備上線的用戶下線。該功能可用於解決設備重啟後,重啟前的原在線用戶因被RADIUS服務器認為仍然在線而短時間內無法再次登錄的問題。為了確保發送accounting-on報文時設備與RADIUS服務器間鏈路可達,設備會在重啟後監聽鏈路的狀態,待鏈路可達後再發送accounting-on報文。若設備發送accounting-on報文後RADIUS服務器無響應,則會在按照一定的時間間隔(interval interval)嚐試重發幾次(send send-times)。
對於指定型號的設備,accounting-on報文的發送機製為:設備以10次為一個通知周期向RADIUS服務器發送accounting-on報文,即以interval秒為間隔發送10次accounting-on報文,如果在該通知周期內RADIUS服務器無響應,則延遲一段時間(60秒×Delay係數)後,啟動下一個通知周期的發送過程,並依次類推。當設備發送accounting-on報文的總次數達到send-times次時,仍然沒有收到RADIUS服務器的響應,則停止發送accounting-on報文。其中,Delay係數=當前已發送報文次數 ÷ 10。
(1) 進入係統視圖。
system-view
(2) 進入RADIUS方案視圖。
radius scheme radius-scheme-name
(3) 開啟accounting-on功能。
accounting-on enable [ interval interval | send send-times ] *
缺省情況下,accounting-on功能處於關閉狀態。
(4) (可選)開啟accounting-on擴展功能。
accounting-on extended
缺省情況下,accounting-on擴展功能處於關閉狀態。
H3C的iMC RADIUS服務器使用session control報文向設備發送授權信息的動態修改請求以及斷開連接請求。開啟RADIUS session control功能後,設備會打開知名UDP端口1812來監聽並接收RADIUS服務器發送的session control報文。
當設備收到session control報文時,通過session control客戶端配置驗證RADIUS session control報文的合法性。
需要注意的是,該功能僅能和H3C的iMC RADIUS服務器配合使用。缺省情況下,為節省係統資源,設備上的RADIUS session control功能處於關閉狀態。因此,在使用iMC RADIUS服務器且服務器需要對用戶授權信息進行動態修改或強製用戶下線的情況下,必須開啟此功能。
(1) 進入係統視圖。
system-view
(2) 開啟RADIUS session control功能。
radius session-control enable
缺省情況下,RADIUS session control功能處於關閉狀態。
(3) 指定session control客戶端。
radius session-control client { ip ipv4-address | ipv6 ipv6-address } [ key { cipher | simple } string | vpn-instance vpn-instance-name ] *
缺省情況下,未指定session control客戶端。
DAE(Dynamic Authorization Extensions,動態授權擴展)協議是RFC 5176中定義的RADIUS協議的一個擴展,它用於強製認證用戶下線,或者更改在線用戶授權信息。DAE采用客戶端/服務器通信模式,由DAE客戶端和DAE服務器組成。
· DAE客戶端:用於發起DAE請求,通常駐留在一個RADIUS服務器上,也可以為一個單獨的實體。
· DAE服務器:用於接收並響應DAE客戶端的DAE請求,通常為一個NAS(Network Access Server,網絡接入服務器)設備。
DAE報文包括以下兩種類型:
· DMs(Disconnect Messages):用於強製用戶下線。DAE客戶端通過向NAS設備發送DM請求報文,請求NAS設備按照指定的匹配條件強製用戶下線。
· COA(Change of Authorization)Messages:用於更改用戶授權信息。DAE客戶端通過向NAS設備發送COA請求報文,請求NAS設備按照指定的匹配條件更改用戶授權信息。
在設備上開啟RADIUS DAE服務後,設備將作為RADIUS DAE服務器在指定的UDP端口監聽指定的RADIUS DAE客戶端發送的DAE請求消息,然後根據請求消息進行用戶授權信息的修改、斷開用戶連接,並向RADIUS DAE客戶端發送DAE應答消息。
(1) 進入係統視圖。
system-view
(2) 開啟RADIUS DAE服務,並進入RADIUS DAE服務器視圖。
radius dynamic-author server
缺省情況下, RADIUS DAE服務處於關閉狀態。
(3) 指定RADIUS DAE客戶端。
client { ip ipv4-address | ipv6 ipv6-address } [ key { cipher | simple } string | vendor-id 2011 version { 1.0 | 1.1 } | vpn-instance vpn-instance-name ] *
缺省情況下,未指定RADIUS DAE客戶端。
(4) (可選)指定RADIUS DAE服務端口。
port port-number
缺省情況下,RADIUS DAE服務端口為3799。
接入模塊發起的RADIUS請求包括RADIUS認證請求、RADIUS計費開始請求、RADIUS計費更新請求和RADIUS計費結束請求。缺省情況下,設備依次處理各接入模塊發起的所有類型的RADIUS請求。此時,如果有大量用戶下線後立即再次上線的情況發生,則會由於設備首先處理較早的停止計費請求,而導致處理後續的認證請求時,接入模塊的認證請求已經超時。認證請求超時後,用戶認證失敗。為了解決這個問題,建議在有大量用戶頻繁上下線的組網環境中開啟本功能,使得設備優先處理RADIUS認證請求,從而保證用戶可以正常上線。
當RADIUS服務器上以用戶名標識用戶,並且不允許相同用戶名的用戶重複認證的情況下,不建議開啟此功能,否則可能會導致用戶下線後再次認證失敗。
當設備上有用戶在線時,不建議修改此配置。
(5) 進入係統視圖。
system-view
(6) 開啟RADIUS認證優先功能。
radius authentication-request first
缺省情況下,RADIUS 認證請求優先功能處於關閉狀態。
開啟相應的RADIUS告警功能後,RADIUS模塊會生成告警信息,用於報告該模塊的重要事件:
· 當NAS向RADIUS服務器發送計費或認證請求沒有收到響應時,會重傳請求,當重傳次數達到最大傳送次數時仍然沒有收到響應時,NAS認為該服務器不可達,並發送表示RADIUS服務器不可達的告警信息。
· 當timer quiet定時器設定的時間到達後,NAS將服務器的狀態置為激活狀態並發送表示RADIUS服務器可達的告警信息。
· 當NAS發現認證失敗次數與認證請求總數的百分比超過閾值時,會發送表示認證失敗次數超過閾值的告警信息。
生成的告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。
需要按照NMS(Network Management System,網絡管理係統)的要求,選擇設備發送RADIUS服務器狀態變化告警信息時采用的MIB節點版本。不同版本的MIB節點定義不同,具體請見AAA命令手冊。
(1) 進入係統視圖。
system-view
(2) 開啟RADIUS告警功能。
snmp-agent trap enable radius [ accounting-server-down | accounting-server-up | authentication-error-threshold | authentication-server-down | authentication-server-up ] *
缺省情況下,所有類型的RADIUS 告警功能均處於關閉狀態。
(3) (可選)配置發送RADIUS告警信息采用的MIB節點版本。
radius trap-version { v1 | v2 } [ accounting-server-down | accounting-server-up | authentication-server-down | authentication-server-up ] *
缺省情況下,使用v1版本的MIB節點發送RADIUS告警信息。
完成上述配置後,在任意視圖下執行display命令可以顯示配置後RADIUS的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下,執行reset命令可以清除相關統計信息。
表1-5 RADIUS顯示和維護
操作 |
命令 |
顯示所有或指定RADIUS方案的配置信息 |
display radius scheme [ radius-scheme-name ] |
顯示RADIUS服務器的負載統計信息 |
display radius server-load statistics |
顯示RADIUS報文的統計信息 |
display radius statistics |
清除所有RADIUS服務器的曆史負載統計信息 |
reset radius server-load statistics |
清除RADIUS協議的統計信息 |
reset radius statistics |
HWTACACS配置任務如下:
(1) 創建HWTACACS方案
(2) 配置HWTACACS認證服務器
(3) 配置HWTACACS授權服務器
(4) 配置HWTACACS計費服務器
若配置HWTACACS服務器時未指定共享密鑰,則可以通過本任務統一指定對所有認證/計費HWTACACS服務器生效的共享密鑰。
若配置HWTACACS服務器時未指定所屬的VPN,則可以通過本任務統一指定所有HWTACACS服務器所屬的VPN。
(7) (可選)配置HWTACACS服務器的定時器
(8) (可選)配置HWTACACS報文交互參數
¡ 配置發送給HWTACACS服務器的用戶名格式和數據統計單位
(9) (可選)配置HWTACACS服務器狀態探測功能
(10) (可選)配置HWTACACS服務器都處於block狀態後的請求動作
係統最多支持配置16個HWTACACS方案。一個HWTACACS方案可以同時被多個ISP域引用。
(1) 進入係統視圖。
system-view
(2) 創建HWTACACS方案,並進入HWTACACS方案視圖。
hwtacacs scheme hwtacacs-scheme-name
通過在HWTACACS方案中配置HWTACACS認證服務器,指定設備對用戶進行HWTACACS認證時與哪個服務器進行通信。
一個HWTACACS方案中最多允許配置一個主認證服務器和16個從認證服務器。當主服務器不可達時,設備根據從服務器的配置順序由先到後查找狀態為active的從服務器並與之交互。
建議在不需要備份的情況下,隻配置主HWTACACS認證服務器即可。
在實際組網環境中,可以指定一台服務器既作為某個HWTACACS方案的主認證服務器,又作為另一個HWTACACS方案的從認證服務器。
在同一個方案中指定的主認證服務器和從認證服務器的VPN、IP地址、端口號不能完全相同,並且各從認證服務器的VPN、IP地址、端口號也不能完全相同。
(1) 進入係統視圖。
system-view
(2) 進入HWTACACS方案視圖。
hwtacacs scheme hwtacacs-scheme-name
(3) 配置主HWTACACS認證服務器。
primary authentication { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | single-connection | vpn-instance vpn-instance-name ] *
缺省情況下,未配置主HWTACACS認證服務器。
(4) (可選)配置從HWTACACS認證服務器。
secondary authentication { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | single-connection | vpn-instance vpn-instance-name ] *
缺省情況下,未配置從HWTACACS認證服務器。
通過在HWTACACS方案中配置HWTACACS授權服務器,指定設備對用戶進行HWTACACS授權時與哪個服務器進行通信。
一個HWTACACS方案中最多允許配置一個主授權服務器和16個從授權服務器。當主服務器不可達時,設備根據從服務器的配置順序由先到後查找狀態為active的從服務器並與之交互。
建議在不需要備份的情況下,隻配置主HWTACACS授權服務器即可。
在實際組網環境中,可以指定一台服務器既作為某個HWTACACS方案的主授權服務器,又作為另一個HWTACACS方案的從授權服務器。
在同一個方案中指定的主授權服務器和從授權服務器的VPN、IP地址、端口號不能完全相同,並且各從授權服務器的VPN、IP地址、端口號也不能完全相同。
(1) 進入係統視圖。
system-view
(2) 進入HWTACACS方案視圖。
hwtacacs scheme hwtacacs-scheme-name
(3) 配置主HWTACACS授權服務器。
primary authorization { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | single-connection | vpn-instance vpn-instance-name ] *
缺省情況下,未配置主HWTACACS授權服務器。
(4) (可選)配置從HWTACACS授權服務器。
secondary authorization { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | single-connection | vpn-instance vpn-instance-name ] *
缺省情況下,未配置從HWTACACS授權服務器。
通過在HWTACACS方案中配置HWTACACS計費服務器,指定設備對用戶進行HWTACACS計費時與哪個服務器進行通信。
一個HWTACACS方案中最多允許配置一個主計費服務器和16個從計費服務器。當主服務器不可達時,設備根據從服務器的配置順序由先到後查找狀態為active的從服務器並與之交互。
建議在不需要備份的情況下,隻配置主HWTACACS計費服務器即可。
在實際組網環境中,可以指定一台服務器既作為某個HWTACACS方案的主計費服務器,又作為另一個HWTACACS方案的從計費服務器。
在同一個方案中指定的主計費服務器和從計費服務器的VPN、IP地址、端口號不能完全相同,並且各從計費服務器的VPN、IP地址、端口號也不能完全相同。
目前HWTACACS不支持對FTP/SFTP/SCP用戶進行計費。
(1) 進入係統視圖。
system-view
(2) 進入HWTACACS方案視圖。
hwtacacs scheme hwtacacs-scheme-name
(3) 配置主HWTACACS計費服務器。
primary accounting { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | single-connection | vpn-instance vpn-instance-name ] *
缺省情況下,未配置主HWTACACS計費服務器。
(4) (可選)配置從HWTACACS計費服務器。
secondary accounting { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | single-connection | vpn-instance vpn-instance-name ] *
缺省情況下,未配置從HWTACACS計費服務器。
HWTACACS客戶端與HWTACACS服務器使用MD5算法並在共享密鑰的參與下加密HWTACACS報文。隻有在密鑰一致的情況下,彼此才能接收對方發來的報文並作出響應。
由於設備優先采用配置HWTACACS認證/授權/計費服務器時指定的報文共享密鑰,因此,本配置中指定的HWTACACS報文共享密鑰僅在配置HWTACACS認證/授權/計費服務器時未指定相應密鑰的情況下使用。
必須保證設備上設置的共享密鑰與HWTACACS服務器上的完全一致。
(1) 進入係統視圖。
system-view
(2) 進入HWTACACS方案視圖。
hwtacacs scheme hwtacacs-scheme-name
(3) 配置HWTACACS認證、授權、計費報文的共享密鑰。
key { accounting | authentication | authorization } { cipher | simple } string
缺省情況下,未設置HWTACACS報文的共享密鑰。
該配置用於指定HWTACACS方案所屬的VPN,即為HWTACACS方案下的所有HWTACACS服務器統一指定所屬的VPN。HWTACACS服務器所屬的VPN也可以在配置HWTACACS服務器的時候單獨指定,且被優先使用。未單獨指定所屬VPN的服務器,則屬於所在HWTACACS方案所屬的VPN。
(1) 進入係統視圖。
system-view
(2) 進入HWTACACS方案視圖。
hwtacacs scheme hwtacacs-scheme-name
(3) 配置HWTACACS方案所屬的VPN。
vpn-instance vpn-instance-name
缺省情況下,HWTACACS方案屬於公網。
在與HWTACACS服務器交互的過程中,設備上可啟動的定時器包括以下幾種:
· 服務器響應超時定時器(response-timeout):如果在HWTACACS請求報文傳送出去一段時間後,設備還沒有得到HWTACACS服務器的響應,則會將該服務器的狀態置為block,並向下一個HWTACACS服務器發起請求,以保證用戶盡可能得到HWTACACS服務,這段時間被稱為HWTACACS服務器響應超時時長。
· 實時計費間隔定時器(realtime-accounting):為了對用戶實施實時計費,有必要定期向服務器發送用戶的實時計費信息,通過設置實時計費的時間間隔,設備會每隔設定的時間向HWTACACS服務器發送一次在線用戶的計費信息。
· 服務器恢複激活狀態定時器(quiet):當服務器不可達時,設備將該服務器的狀態置為block,並開啟超時定時器,在設定的一定時間間隔之後,再將該服務器的狀態恢複為active。這段時間被稱為服務器恢複激活狀態時長。
HWTACACS方案中各服務器的狀態(active、block)決定了設備向哪個服務器發送請求報文,以及設備在與當前服務器通信中斷的情況下,如何轉而與另外一個服務器進行交互。在實際組網環境中,可指定一個主HWTACACS服務器和多個從HWTACACS服務器,由從服務器作為主服務器的備份。通常情況下,設備上主從服務器的切換遵從以下原則:
· 當主服務器狀態為active時,設備首先嚐試與主服務器通信,若主服務器不可達,則按照從服務器的配置先後順序依次查找狀態為active的從服務器進行認證或者計費。
· 隻要存在狀態為active的服務器,設備就僅與狀態為active的服務器通信,即使該服務器不可達,設備也不會嚐試與狀態為block的服務器通信。
· 當主/從服務器的狀態均為block時,設備嚐試與主服務器進行通信,若未配置主服務器,則設備嚐試與首個配置的從服務器通信。
· 如果服務器不可達,則設備將該服務器的狀態置為block,同時啟動該服務器的quiet定時器。當服務器的quiet定時器超時,該服務器將恢複為active狀態。
· 在一次認證或計費過程中,如果設備在嚐試與從服務器通信時,之前已經查找過的服務器狀態由block恢複為active,則設備並不會立即恢複與該服務器的通信,而是繼續查找從服務器。如果所有已配置的服務器都不可達,則認為本次認證或計費失敗。
· 如果在認證或計費過程中刪除了當前正在使用的服務器,則設備在與該服務器通信超時後,將會立即從主服務器開始依次查找狀態為active的服務器並與之進行通信。
· 一旦服務器狀態滿足自動切換的條件,則所有HWTACACS方案視圖下該服務器的狀態都會相應地變化。
實時計費間隔的取值對設備和HWTACACS服務器的性能有一定的相關性要求,取值越小,對設備和HWTACACS服務器的性能要求越高。建議當用戶量比較大(大於等於1000)時,盡量把該間隔的值設置得大一些(大於15分鍾)。
(1) 進入係統視圖。
system-view
(2) 進入HWTACACS方案視圖。
hwtacacs scheme hwtacacs-scheme-name
(3) 設置HWTACACS定時器參數。請至少選擇其中一項進行配置。
¡ 設置HWTACACS服務器響應超時時間。
timer response-timeout seconds
缺省情況下,服務器響應超時時間為5秒。
¡ 設置實時計費的時間間隔。
timer realtime-accounting minutes
缺省情況下,實時計費間隔為12分鍾。
¡ 設置服務器恢複激活狀態的時間。
timer quiet minutes
缺省情況下,服務器恢複激活狀態前需要等待5分鍾。
HWTACACS服務器上通過IP地址來標識接入設備,並根據收到的HWTACACS報文的源IP地址是否與服務器所管理的接入設備的IP地址匹配,來決定是否處理來自該接入設備的認證、授權或計費請求。若HWTACACS服務器收到的HWTACACS認證或計費報文的源地址在所管理的接入設備IP地址範圍內,則會進行後續的認證或計費處理,否則直接丟棄該報文。
設備發送HWTACACS報文時,根據以下順序查找使用的源IP地址:
(1) 當前所使用的HWTACACS方案中配置的發送HWTACACS報文使用的源IP地址。
(2) 根據當前使用的服務器所屬的VPN查找係統視圖下通過hwtacacs nas-ip命令配置的私網源地址,對於公網服務器則直接查找該命令配置的公網源地址。
(3) 通過路由查找到的發送HWTACACS報文的出接口地址。
發送給HWTACACS報文使用的源IP地址在係統視圖和HWTACACS方案視圖下均可以進行配置,係統視圖下的配置將對所有HWTACACS方案生效,HWTACACS方案視圖下的配置僅對本方案有效,並且具有高於前者的優先級。
為保證認證、授權和計費報文可被服務器正常接收並處理,接入設備上發送HWTACACS報文使用的源IP地址必須與HWTACACS服務器上指定的接入設備的IP地址保持一致。
通常,該地址為接入設備上與HWTACACS服務器路由可達的接口IP地址,為避免物理接口故障時從服務器返回的報文不可達,推薦使用Loopback接口地址為發送HWTACACS報文使用的源IP地址。
(1) 進入係統視圖。
system-view
(2) 設置設備發送HWTACACS報文使用的源IP地址。
hwtacacs nas-ip { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ]
缺省情況下,未指定發送HWTACACS報文使用的源IP地址,設備將使用到達HWTACACS服務器的路由出接口的主IPv4地址或IPv6地址作為發送HWTACACS報文的源IP地址。
(1) 進入係統視圖。
system-view
(2) 進入HWTACACS方案視圖。
hwtacacs scheme hwtacacs-scheme-name
(3) 設置設備發送HWTACACS報文使用的源IP地址。
nas-ip { ipv4-address | ipv6 ipv6-address }
缺省情況下,未指定設備發送HWTACACS報文使用的源IP地址,使用係統視圖下由命令hwtacacs nas-ip指定的源IP地址。
接入用戶通常以“userid@isp-name”的格式命名,“@”後麵的部分為ISP域名,設備通過該域名決定將用戶歸於哪個ISP域的。由於有些HWTACACS服務器不能接受攜帶有ISP域名的用戶名,因此就需要設備首先將用戶名中攜帶的ISP域名去除後再傳送給該類HWTACACS服務器。通過設置發送給HWTACACS服務器的用戶名格式,就可以選擇發送HWTACACS服務器的用戶名中是否要攜帶ISP域名。
設備通過發送計費報文,向HWTACACS服務器報告在線用戶的數據流量統計值,該值的單位可配。
如果要在兩個乃至兩個以上的ISP域中引用相同的HWTACACS方案,建議設置該HWTACACS方案允許用戶名中攜帶ISP域名,使得HWTACACS服務器端可以根據ISP域名來區分不同的用戶。
為保證HWTACACS服務器計費的準確性,設備上設置的發送給HWTACACS服務器的數據流或者數據包的單位應與HWTACACS服務器上的流量統計單位保持一致。
(1) 進入係統視圖。
system-view
(2) 進入HWTACACS方案視圖。
hwtacacs scheme hwtacacs-scheme-name
(3) 設置發送給HWTACACS服務器的用戶名格式。
user-name-format { keep-original | with-domain | without-domain }
缺省情況下,發送給HWTACACS服務器的用戶名攜帶ISP域名。
(4) 設置發送給HWTACACS服務器的數據流或者數據包的單位。
data-flow-format { data { byte | giga-byte | kilo-byte | mega-byte } | packet { giga-packet | kilo-packet | mega-packet | one-packet } } *
在對HWTACACS認證、授權、計費的實時性要求較高的組網環境中,可以通過配置HWTACACS服務器與Track項關聯來對HWTACACS服務器的可達性狀態進行主動探測。
缺省情況下,設備發送HWTACACS請求報文後,若在指定的響應時間內沒有得到HWTACACS服務器的響應,則會將該服務器的狀態置為block,並向下一個HWTACACS服務器發起請求。處於block狀態的服務器在設定的靜默定時器間隔之後,將自動恢複為active狀態。這種基於定時器的服務器狀態變遷機製使得設備並不能及時感知到服務器的真實狀態。通過配置HWTACACS服務器與Track項關聯,並由Track項聯動TCP類型的NQA測試組,可以實現通過NQA測試機製來主動探測服務器是否可達:
· 服務器與Track項關聯期間,該服務器的狀態僅由探測結果決定。
· 啟動與Track項聯動的NQA測試組後,Track模塊將根據NQA的監測結果改變Track項的狀態,AAA模塊再根據Track項的狀態來設置服務器的狀態:
¡ 若Track項狀態為Positive,說明服務器狀態變為可達,則服務器狀態將被置為active。
¡ 若Track項狀態為Negative,說明服務器狀態變為不可達,則服務器狀態將被置為block,同時該服務器對應的靜默定時器也將被關閉。
¡ 若Track項狀態一直處於NotReady,或由其它狀態變為NotReady,說明探測機製不生效,此時服務器的狀態將被置為active。
· 取消服務器與Track項的關聯後,該服務器的狀態將恢複為由定時器機製決定。
配置Track項與TCP類型的NQA測試組聯動,具體介紹請參見“網絡管理和監控配置指導”中的“Track”。
配置與Track項聯動的NQA測試組,以及調度NQA測試組,具體介紹請參見“網絡管理和監控配置指導”中的“NQA”。
(1) 進入係統視圖。
system-view
(2) 配置HWTACACS服務器與Track項關聯,探測服務器是否可達。
hwtacacs server-probe { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-number ] track track-entry-number
缺省情況下,HWTACACS服務器未與任何Track項相關聯。
當HWTACACS方案下的所有服務器都處於block狀態後,設備收到用戶的認證/授權/計費請求時,有以下兩種處理方式:
· Attempt方式:嚐試與一個認證/授權/計費服務器(優先選擇主服務器,若未配置則選擇配置的第一個從服務器,手工置於block狀態的主從服務器除外)建立一次連接,如果與該服務器建立連接失敗,才會切換到為該用戶配置的下一個認證/授權/計費方法去處理這個請求。
· Skip方式:跳過當前方案中的所有服務器,直接使用為該用戶配置的下一個認證/授權/計費方法去處理這個請求。
Attempt方法保證了設備盡量優先使用第一個認證方法處理用戶請求,但同時會增加請求的響應時間。因此,對於對AAA響應時間要求比較高的場合,建議選擇Skip方式。
(1) 進入係統視圖。
system-view
(2) 進入HWTACACS方案視圖。
hwtacacs scheme hwtacacs-scheme-name
(3) 設置HWTACACS服務器都處於block狀態後的請求動作。
server-block-action { attempt | skip }
缺省情況下,所有服務器都處於block狀態後的請求動作為attempt。
完成上述配置後,在任意視圖下執行display命令可以顯示配置後HWTACACS的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下,執行reset命令可以清除相關統計信息。
表1-6 HWTACACS顯示和維護
操作 |
命令 |
查看所有或指定HWTACACS方案的配置信息或統計信息 |
display hwtacacs scheme [ hwtacacs-scheme-name [ statistics ] ] |
清除HWTACACS協議的統計信息 |
reset hwtacacs statistics { accounting | all | authentication | authorization } |
LDAP配置任務如下:
(1) 配置LDAP服務器
a. 創建LDAP服務器
c. (可選)配置LDAP版本號
d. (可選)配置發送LDAP報文使用的源IP地址
e. (可選)配置LDAP服務器的連接超時時間
g. 配置LDAP用戶屬性參數
i. (可選)配置用戶組的過濾條件
(2) (可選)配置LDAP屬性映射表
(3) 創建LDAP方案
(4) 指定LDAP認證服務器
(5) (可選)指定LDAP授權服務器
(6) (可選)引用LDAP屬性映射表
(7) (可選)忽略LDAP查詢結果中的SearchResultReference字段
(1) 進入係統視圖。
system-view
(2) 創建LDAP服務器,並進入LDAP服務器視圖。
LDAP服務器視圖下僅能同時存在一個IPv4地址類型的LDAP服務器或一個IPv6地址類型的LDAP服務器。多次配置,後配置的生效。
(3) 進入係統視圖。
system-view
(4) 進入LDAP服務器視圖。
ldap server server-name
(5) 配置LDAP服務器IP地址。
{ ip ipv4-address | ipv6 ipv6-address } [ port port-number ] [ vpn-instance vpn-instance-name ] [ ssl-client-policy policy-name ]
缺省情況下,未配置LDAP服務器IP地址。
目前設備僅支持LDAPv2和LDAPv3兩個協議版本。
Microsoft的LDAP服務器隻支持LDAPv3版本。
設備上配置的LDAP版本號需要與服務器支持的版本號保持一致。
(1) 進入係統視圖。
system-view
(2) 進入LDAP服務器視圖。
ldap server server-name
(3) 配置LDAP版本號。
protocol-version { v2 | v3 }
缺省情況下,LDAP版本號為LDAPv3。
設備向LDAP服務器發送LDAP報文時,使用的源IP地址可以使用本特性指定。
一個LDAP服務器視圖下:
· 最多允許指定一個IPv4源地址和一個IPv6源地址。
· 最多允許指定一個源接口,請確保指定的源接口與LDAP服務器路由可達。
· 指定的源接口所屬的VPN實例必須與LDAP服務器所屬的VPN實例相同,否則源接口配置不會生效。
· 指定的源地址協議類型(IPv4或IPv6)必須與LDAP服務器地址的協議類型相同,否則源地址配置不會生效。
· 源接口配置和源IP地址配置不能同時存在,後配置的生效。
(1) 進入係統視圖。
system-view
(2) 進入LDAP服務器視圖。
ldap server server-name
(3) 配置發送LDAP報文使用的源IP地址。
source-ip { ipv4-address | interface interface-type interface-number | ipv6 ipv6-address }
缺省情況下,未指定發送LDAP報文使用的源IP地址,設備將使用到達LDAP服務器的路由出接口的主IPv4地址或IPv6地址作為發送LDAP報文的源IP地址。
設備向LDAP服務器發送綁定請求、查詢請求,如果經過指定的時間後未收到LDAP服務器的回應,則認為本次認證、授權請求超時。若使用的ISP域中配置了備份的認證、授權方案,則設備會繼續嚐試進行其他方式的認證、授權處理,否則本次認證、授權失敗。
(1) 進入係統視圖。
system-view
(2) 進入LDAP服務器視圖。
ldap server server-name
(3) 配置LDAP服務器的連接超時時間。
server-timeout time-interval
缺省情況下,LDAP服務器的連接超時時間為10秒。
配置LDAP認證過程中綁定服務器所使用的用戶DN和用戶密碼,該用戶具有管理員權限。
(1) 進入係統視圖。
system-view
(2) 進入LDAP服務器視圖。
ldap server server-name
(3) 配置具有管理員權限的用戶DN。
login-dn dn-string
缺省情況下,未配置具有管理員權限的用戶DN。
配置的管理員權限的用戶DN必須與LDAP服務器上管理員的DN一致。
(4) 配置具有管理員權限的用戶密碼。
login-password { cipher | simple } string
缺省情況下,未配置具有管理權限的用戶密碼。
要對用戶進行身份認證,就需要以用戶DN及密碼為參數與LDAP服務器進行綁定,因此需要首先從LDAP服務器獲取用戶DN。LDAP提供了一套DN查詢機製,在與LDAP服務器建立連接的基礎上,按照一定的查詢策略向服務器發送查詢請求。該查詢策略由設備上指定的LDAP用戶屬性定義,具體包括以下幾項:
· 用戶DN查詢的起始節點(search-base-dn)
· 用戶DN查詢的範圍(search-scope)
· 用戶名稱屬性(user-name-attribute)
· 用戶名稱格式(user-name-format)
· 用戶對象類型(user-object-class)
LDAP服務器上的目錄結構可能具有很深的層次,如果從根目錄進行用戶DN的查找,耗費的時間將會較長,因此必須配置用戶查找的起始點DN,以提高查找效率。
(1) 進入係統視圖。
system-view
(2) 進入LDAP服務器視圖。
ldap server server-name
(3) 配置用戶查詢的起始DN。
search-base-dn base-dn
缺省情況下,未指定用戶查詢的起始DN。
(4) (可選)配置用戶查詢的範圍。
search-scope { all-level | single-level }
缺省情況下,用戶查詢的範圍為all-level。
(5) (可選)配置用戶查詢的用戶名屬性。
user-parameters user-name-attribute { name-attribute | cn | uid }
缺省情況下,用戶查詢的用戶名屬性為cn。
(6) (可選)配置用戶查詢的用戶名格式。
user-parameters user-name-format { with-domain | without-domain }
缺省情況下,用戶查詢的用戶名格式為without-domain。
(7) (可選)配置用戶查詢的自定義用戶對象類型。
user-parameters user-object-class object-class-name
缺省情況下,未指定自定義用戶對象類型,根據使用的LDAP服務器的類型使用各服務器缺省的用戶對象類型。
缺省情況下,係統使用的字符編碼格式為GB18030。管理員在Web界麵上輸入的配置均以GB18030方式編碼後保存在設備上,通過終端軟件的命令行界麵輸入的配置將以終端軟件上設置的字符編碼方式保存在設備上。如果設備和LDAP服務器交互時使用的字符編碼格式不同,可能會出現交互信息中包含的部分字符無法正確解析的問題。例如,當LDAP認證服務器上的用戶DN為中文時,這些用戶可能會因為DN查詢失敗而無法上線。因此,為了適配不同LDAP服務器,需要在設備上指定與LDAP服務器兼容的字符編碼格式。
指定了LDAP服務器使用的字符編碼格式後,設備向服務器發送LDAP報文時,將首先使用缺省的GB18030格式對保存的配置進行解碼,然後以指定的字符編碼格式對其重新編碼;當設備收到LDAP服務器的響應報文後,先按照指定的格式進行解碼,然後再以GB18030方式編碼後保存。
如果希望切換字符編碼格式,建議先完成字符編碼格式的切換,然後再對用戶進行LDAP認證。
(1) 進入係統視圖。
system-view
(2) 進入LDAP服務器視圖。
ldap server server-name
(3) 配置LDAP服務器使用的字符編碼格式。
character-encoding { gb18030 | utf-8 }
缺省情況下,未配置LDAP服務器使用的字符編碼格式,設備與LDAP服務器交互時,不對交互信息的字符編碼格式做更改。
當設備從LDAP服務器上獲取用戶組信息時,LDAP服務器會根據設置的用戶組過濾條件篩選出符合條件的用戶組信息發送給設備。
(1) 進入係統視圖。
system-view
(2) 進入LDAP服務器視圖。
ldap server server-name
(3) 配置用戶組的過濾條件。
group-filter group-filter
缺省情況下,用戶組的過濾條件是"(objectclass=group)"。
在用戶的LDAP授權過程中,設備會通過查詢操作得到用戶的授權信息,該授權信息由LDAP服務器通過若幹LDAP屬性下發給設備。若設備從LDAP服務器查詢得到某LDAP屬性,則該屬性隻有在被設備的AAA模塊解析之後才能實際生效。如果某LDAP服務器下發給用戶的屬性不能被AAA模塊解析,則該屬性將被忽略。因此,需要通過配置LDAP屬性映射表來指定要獲取哪些LDAP屬性,以及LDAP服務器下發的這些屬性將被AAA模塊解析為什麼類型的AAA屬性,具體映射為哪種類型的AAA屬性由實際應用需求決定。
每一個LDAP屬性映射表項定義了一個LDAP屬性與一個AAA屬性的對應關係。將一個LDAP屬性表在指定的LDAP方案視圖中引用後,該映射關係將在LDAP授權過程中生效。
(1) 進入係統視圖。
system-view
(2) 創建LDAP的屬性映射表,並進入屬性映射表視圖。
ldap attribute-map map-name
(3) 配置LDAP屬性映射表項。
map ldap-attribute ldap-attribute-name [ prefix prefix-value ] [ delimiter delimiter-value ] aaa-attribute { user-group }
係統最多支持配置16個LDAP方案。一個LDAP方案可以同時被多個ISP域引用。
(1) 進入係統視圖。
system-view
(2) 創建LDAP方案,並進入LDAP方案視圖。
ldap scheme ldap-scheme-name
(1) 進入係統視圖。
system-view
(2) 進入LDAP方案視圖。
ldap scheme ldap-scheme-name
(3) 指定LDAP認證服務器。
authentication-server server-name
缺省情況下,未指定LDAP認證服務器。
(1) 進入係統視圖。
system-view
(2) 進入LDAP方案視圖。
ldap scheme ldap-scheme-name
(3) 指定LDAP授權服務器。
authorization-server server-name
缺省情況下,未指定LDAP授權服務器。
在使用LDAP授權方案的情況下,可以通過在LDAP方案中引用LDAP屬性映射表,將LDAP授權服務器下發給用戶的LDAP屬性映射為AAA模塊可以解析的某類屬性。
一個LDAP方案視圖中隻能引用一個LDAP屬性映射表,後配置的生效。
(1) 進入係統視圖。
system-view
(2) 進入LDAP方案視圖。
ldap scheme ldap-scheme-name
(3) 引用LDAP屬性映射表。
attribute-map map-name
缺省情況下,未引用任何LDAP屬性映射表。
如果設備上配置了DNS客戶端功能,在LDAP服務器管理員確認待查詢的用戶數據集中保存於其中一個LDAP數據庫上時,建議開啟此功能。在LDAP方案視圖下開啟本功能後,設備將會忽略LDAP查詢結果中攜帶的SearchResultReference字段,保存當前查詢到的用戶數據,以避免因以下兩種情況導致的整體查詢失敗:
· LDAP服務器部署異常,導致LDAP服務器應答查詢請求時攜帶了SearchResultReference字段,而設備未能及時完成對SearchResultReference字段中所有URL的域名解析。
· LDAP服務器不支持匿名查詢功能,設備發起的匿名查詢請求被服務器拒絕。
(1) 進入係統視圖。
system-view
(2) 進入LDAP方案視圖。
ldap scheme ldap-scheme-name
(3) 配置設備忽略LDAP查詢結果中的SearchResultReference字段。
ignore search-result-reference
缺省情況下,設備正常處理LDAP查詢結果中的SearchResultReference字段。
完成上述配置後,在任意視圖下執行display命令可以顯示配置後LDAP的運行情況,通過查看顯示信息驗證配置的效果。
表1-7 LDAP顯示和維護
操作 |
命令 |
查看所有或指定LDAP方案的配置信息 |
display ldap scheme [ ldap-scheme-name ] |
在多ISP的應用環境中,不同ISP域的用戶有可能接入同一台設備。而且各ISP用戶的用戶屬性(例如用戶名及密碼構成、服務類型/權限等)有可能不相同,因此有必要通過設置ISP域把它們區分開,並為每個ISP域單獨配置一套認證、授權、計費方法及ISP域的相關屬性。
對於設備來說,每個接入用戶都屬於一個ISP域。係統中最多可以配置1024個ISP域,包括一個係統缺省存在的名稱為system的ISP域。如果某個用戶在登錄時沒有提供ISP域名,係統將把它歸於缺省的ISP域。係統缺省的ISP域可以手工修改為一個指定的ISP域;如果用戶所屬的ISP域下未應用任何認證、授權、計費方法,係統將使用缺省的認證、授權、計費方法,分別為本地認證、本地授權和本地計費。
用戶認證時,設備將按照如下先後順序為其選擇認證域:接入模塊指定的認證域-->用戶名中指定的ISP域-->係統缺省的ISP域。其中,接入模塊是否支持指定認證域由各接入模塊決定。如果根據以上原則決定的認證域在設備上不存在,但設備上為未知域名的用戶指定了ISP域,則最終使用該指定的ISP域認證,否則,用戶將無法認證。
一個ISP域被配置為缺省的ISP域後,將不能夠被刪除,必須首先使用命令undo domain default enable將其修改為非缺省ISP域,然後才可以被刪除。
係統缺省存在的system域隻能被修改,不能被刪除。
如果一個ISP域中使用RADIUS方案對用戶進行認證、授權或計費,請合理規劃域名的長度,並保證設備發送給RADIUS服務器的整體用戶名長度不超過253字符,否會導致認證、授權或計費失敗。
如果一個ISP域中使用RADIUS方案對用戶進行計費,請保證設備發送給RADIUS服務器的用戶名中攜帶的域名長度不超過247個字符,否會導致計費失敗。
(1) 進入係統視圖。
system-view
(2) 創建ISP域並進入其視圖。
domain isp-name
缺省情況下,存在一個的ISP域,名稱為system。
(1) 進入係統視圖。
system-view
(2) 配置缺省的ISP域。
domain default enable isp-name
缺省情況下,係統缺省的ISP域為system。
(1) 進入係統視圖。
system-view
(2) 配置未知域名的用戶的ISP域。
domain if-unknown isp-name
缺省情況下,沒有為未知域名的用戶指定ISP域。
通過域的狀態(active、block)控製是否允許該域中的用戶請求網絡服務。
(1) 進入係統視圖。
system-view
(2) 進入ISP域視圖。
domain isp-name
(3) 設置ISP域的狀態。
state { active | block }
缺省情況下,當前ISP域處於活動狀態,即允許任何屬於該域的用戶請求網絡服務。
ISP域下可配置如下授權屬性:
· ACL:用戶被授權訪問匹配指定ACL的網絡資源。
· CAR:用戶流量將受到指定的監管動作控製。
· 閑置切斷:若用戶在指定的閑置檢測時間內產生的流量小於指定的數據流量,則會被強製下線。
· 可點播的最大節目數:用戶可以同時點播的最大節目數。
· IPv4地址池:用戶可以從指定的地址池中分配得到一個IPv4地址。
· IPv6地址池:用戶可以從指定的地址池中分配得到一個IPv6地址。
· IPv6地址前綴:用戶使用該前綴作為自己的IPv6地址前綴。
· DNS服務器地址:用戶使用該DNS服務器提供的DNS服務。
· 會話超時時間:如果用戶在線時長超過該值,設備會強製該用戶下線。
· 重定向URL:用戶認證成功後,首次訪問網絡時將被推送此URL提供的Web頁麵。
· 用戶組:用戶將繼承該用戶組中的所有屬性。
· VPN實例:用戶被授權允許訪問指定VPN中的網絡資源。
用戶認證成功之後,優先采用服務器下發的屬性值(閑置切斷屬性除外),其次采用ISP域下配置的屬性值。
若ISP域下配置了閑置切斷授權屬性值,則優先采用ISP域下的配置,其次采用服務器下發的閑置切斷屬性值。
(4) 進入係統視圖。
system-view
(5) 進入ISP域視圖。
domain isp-name
(6) 設置當前ISP域下的用戶授權屬性。
authorization-attribute { acl acl-number | car inbound cir committed-information-rate [ pir peak-information-rate ] outbound cir committed-information-rate [ pir peak-information-rate ] | idle-cut minutes [ flow ] | igmp max-access-number max-access-number | ip-pool ipv4-pool-name | ipv6-pool ipv6-pool-name | ipv6-prefix ipv6-prefix prefix-length | mld max-access-number max-access-number | { primary-dns | secondary-dns } { ip ipv4-address | ipv6 ipv6-address } | session-timeout minutes | url url-string | user-group user-group-name | user-profile profile-name | vpn-instance vpn-instance-name }
缺省情況下,當前ISP域下的用戶閑置切斷功能處於關閉狀態,IPv4用戶可以同時點播的最大節目數為4,無其它授權屬性。
設備上傳到服務器的用戶在線時間中保留閑置切斷時間:當用戶異常下線時,上傳到服務器上的用戶在線時間中包含了一定的閑置切斷時間,此時服務器上記錄的用戶時長將大於用戶實際在線時長。該閑置切斷時間在用戶認證成功後由AAA授權,對於Portal認證用戶,若接入接口上開啟了Portal用戶在線探測功能,則Portal在線探測閑置時長為閑置切斷時間。
(1) 進入係統視圖。
system-view
(2) 進入ISP域視圖。
domain isp-name
(3) 設置設備上傳到服務器的用戶在線時間中保留閑置切斷時間。
session-time include-idle-time
缺省情況下,設備上傳到服務器的用戶在線時間中扣除閑置切斷時間。
(1) 進入係統視圖。
system-view
(2) 進入ISP域視圖。
domain isp-name
(3) 設置當前ISP域下的用戶地址類型。
user-address-type { ds-lite | ipv6 | nat64 | private-ds | private-ipv4 | public-ds | public-ipv4 }
缺省情況下,未配置用戶地址類型。
(1) 進入係統視圖。
system-view
(2) 進入ISP域視圖。
domain isp-name
(3) 設置當前ISP域的業務類型。
service-type { hsi | stb | voip }
缺省情況下,當前ISP域的業務類型為hsi。
缺省情況下,如果L2TP用戶上線後沒有獲取到IP地址,設備將會強製其下線。當該類用戶可能請求多種IP地址類型的業務,且並非所有IP類型的業務均為其主業務時,為了保證非主業務的IP地址獲取失敗的情況下用戶也能夠上線,則需要通過本特性來滿足該需求。
該特性僅在設備作為L2TP LNS時有效,且僅對L2TP用戶生效。
(1) 進入係統視圖。
system-view
(2) 進入ISP域視圖。
domain isp-name
(3) 設置L2TP用戶主業務依賴的IP地址類型。
basic-service-ip-type { ipv4 | ipv6 | ipv6-pd } *
缺省情況下,L2TP用戶主業務不依賴於任何IP地址類型。
L2TP用戶與設備完成IPv6CP協商之後,如果在一定的時長內未能成功分配到主業務依賴類型的IPv6地址/PD,則被強製下線,否則使用分配到的IPv6地址上線。
該特性僅在設備作為L2TP LNS時有效,且僅對L2TP用戶生效。
在設備與某ISP域的用戶連接所在的網絡質量比較差,使用DHCPv6為用戶分配IPv6地址,或者該域接入的用戶數量比較大時,可以適當增加此等待時長避免用戶因為地址分配失敗而下線。
(1) 進入係統視圖。
system-view
(2) 進入ISP域視圖。
domain isp-name
(3) 設置L2TP用戶等待分配IPv6地址的最大時長。
dhcpv6-follow-ipv6cp timeout delay-time
缺省情況下,L2TP接入用戶等待分配IPv6地址的最大時長為60秒。
配置ISP域的AAA認證方法時,需要注意的是:
· 為了提高可靠性,可以指定多個備選的認證方法,在當前的認證方法無效時設備將按照配置順序嚐試使用備選的方法完成認證。例如,radius-scheme radius-scheme-name local none表示,先進行RADIUS認證,若RADIUS認證無效則進行本地認證,若本地認證也無效則不進行認證。遠程認證無效是指,指定的認證方案不存在、認證報文發送失敗或者服務器無響應。本地認證無效是指沒有找到對應的本地用戶配置。
· 當選擇了RADIUS協議的認證方案以及非RADIUS協議的授權方案時,AAA隻接受RADIUS服務器的認證結果,RADIUS授權的信息雖然在認證成功回應的報文中攜帶,但在認證回應的處理流程中不會被處理。
· 當使用HWTACACS方案進行用戶角色切換認證時,係統使用用戶輸入的用戶角色切換用戶名進行角色切換認證。
· 當使用RADIUS方案進行用戶角色切換認證時,係統使用RADIUS服務器上配置的“$enabn$”形式的用戶名進行用戶角色切換認證。
¡ 當用戶要切換到level-n的用戶角色時,要求RADIUS服務器上存在用戶名為“$enabn$”的用戶,其中n為用戶希望切換到的用戶角色level-n中的n。
¡ 當用戶要切換到非level-n的用戶角色時,要求RADIUS服務器上存在用戶名為“$enab0$”的用戶,且該用戶配置了取值為allowed-roles=”role”的自定義屬性(其中role為要切換的目的用戶角色名稱)。
· 當采用本地認證方案為主認證方法,且配置了備選認證方法時,僅當AAA本地認證處理過程異常或者沒有本地用戶配置的情況下,用戶本地認證失敗後才會嚐試使用備選方法進行認證,其它情況下不會轉換認證方法,直接認為認證失敗。
· 當為SSL VPN用戶指定了多個認證方法時,SSL VPN用戶登錄成功後不支持修改密碼。
配置前的準備工作:
· 確定要配置的接入方式或者服務類型。AAA可以對不同的接入方式和服務類型配置不同的認證方案。
· 確定是否為所有的接入方式或服務類型配置缺省的認證方法,缺省的認證方法對所有接入用戶都起作用,但其優先級低於為具體接入方式或服務類型配置的認證方法。
(1) 進入係統視圖。
system-view
(2) 進入ISP域視圖。
domain isp-name
(3) (可選)為當前ISP域配置缺省的認證方法。
authentication default { hwtacacs-scheme hwtacacs-scheme-name [ radius-scheme radius-scheme-name ] [ local ] [ none ] | ldap-scheme ldap-scheme-name [ local ] [ none ] | local [ radius-scheme radius-scheme-name | hwtacacs-scheme hwtacacs-scheme-name ] * [ none ] | none | radius-scheme radius-scheme-name [ hwtacacs-scheme hwtacacs-scheme-name ] [ local ] [ none ] }
缺省情況下,當前ISP域的缺省認證方法為local。
(4) 為指定類型的用戶或服務配置認證方法。
¡ 為ADVPN用戶配置認證方法。
authentication advpn { local [ radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情況下,ADVPN用戶采用缺省的認證方法。
¡ 為IPoE用戶配置認證方法。
authentication ipoe { local [ radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情況下,IPoE用戶采用缺省的認證方法。
¡ 為IKE擴展認證配置認證方法。
authentication ike { aaa-private-protocol-scheme aaa-private-protocol-scheme-name | local [ radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情況下,IKE擴展認證采用缺省的認證方法。
¡ 為lan-access用戶配置認證方法。
authentication lan-access { ldap-scheme ldap-scheme-name [ local ] [ none ] | local [ ldap-scheme ldap-scheme-name | radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情況下,lan-access用戶采用缺省的認證方法。
¡ 為login用戶配置認證方法。
authentication login { hwtacacs-scheme hwtacacs-scheme-name [ radius-scheme radius-scheme-name ] [ local ] [ none ] | ldap-scheme ldap-scheme-name [ local ] [ none ] | local [ radius-scheme radius-scheme-name | hwtacacs-scheme hwtacacs-scheme-name ] * [ none ] | local [ ldap-scheme ldap-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ hwtacacs-scheme hwtacacs-scheme-name ] [ local ] [ none ] | sso-scheme sso-scheme-name }
缺省情況下,login用戶采用缺省的認證方法。
¡ 為Portal用戶配置認證方法。
authentication portal { ldap-scheme ldap-scheme-name [ local ] [ none ] | local [ ldap-scheme ldap-scheme-name | radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情況下,Portal用戶采用缺省的認證方法。
¡ 為PPP用戶配置認證方法。
authentication ppp { hwtacacs-scheme hwtacacs-scheme-name [ radius-scheme radius-scheme-name ] [ local ] [ none ] | ldap-scheme ldap-scheme-name [ local ] [ none ] | local [ radius-scheme radius-scheme-name | hwtacacs-scheme hwtacacs-scheme-name ] * [ none ] | local [ ldap-scheme ldap-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ hwtacacs-scheme hwtacacs-scheme-name ] [ local ] [ none ] }
缺省情況下,PPP用戶采用缺省的認證方法。
¡ 為SSL VPN用戶配置認證方法。
authentication sslvpn { ldap-scheme ldap-scheme-name [ local ] [ none ] | local [ ldap-scheme ldap-scheme-name | radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情況下,SSL VPN用戶采用缺省的認證方法。
¡ 配置用戶角色切換認證方法。
authentication super { hwtacacs-scheme hwtacacs-scheme-name | radius-scheme radius-scheme-name } *
缺省情況下,用戶角色切換認證采用缺省的認證方法。
配置ISP域的AAA授權方法時,需要注意的是:
· 為了提高可靠性,可以指定多個備選的授權方法,在當前的授權方法無效時設備將按照配置順序嚐試使用備選的方法完成授權。例如,radius-scheme radius-scheme-name local none表示,先進行RADIUS授權,若RADIUS授權無效則進行本地授權,若本地授權也無效則不進行授權。遠程授權無效是指,指定的授權方案不存在、授權報文發送失敗或者服務器無響應。本地授權無效是指沒有找到對應的本地用戶配置。
· 目前僅SSL VPN 用戶支持使用LDAP進行授權。
· 在一個ISP域中,隻有RADIUS授權方法和RADIUS認證方法引用了相同的RADIUS方案,RADIUS授權才能生效。若RADIUS授權未生效或者RADIUS授權失敗,則用戶認證會失敗。
· 當采用本地授權方案為主授權方法,且配置了備選授權方法時,僅當AAA本地授權處理過程異常或者沒有本地用戶配置的情況下,用戶本地授權失敗後才會嚐試使用備選方法進行授權,其它情況下不會轉換授權方法,直接認為授權失敗。
配置前的準備工作:
· 確定要配置的接入方式或者服務類型,AAA可以按照不同的接入方式和服務類型進行AAA授權的配置。
· 確定是否為所有的接入方式或服務類型配置缺省的授權方法,缺省的授權方法對所有接入用戶都起作用,但其優先級低於為具體接入方式或服務類型配置的授權方法。
(5) 進入係統視圖。
system-view
(6) 進入ISP域視圖。
domain isp-name
(7) (可選)為當前ISP域配置缺省的授權方法。
authorization default { hwtacacs-scheme hwtacacs-scheme-name [ radius-scheme radius-scheme-name ] [ local ] [ none ] | local [ radius-scheme radius-scheme-name | hwtacacs-scheme hwtacacs-scheme-name ] * [ none ] | none | radius-scheme radius-scheme-name [ hwtacacs-scheme hwtacacs-scheme-name ] [ local ] [ none ] }
缺省情況下,當前ISP域的缺省授權方法為local。
(8) 為指定類型的用戶或服務配置授權方法。
¡ 為ADVPN用戶配置授權方法。
authorization advpn { local [ radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情況下,ADVPN用戶采用當缺省的授權方法。
¡ 配置命令行授權方法。
authorization command { hwtacacs-scheme hwtacacs-scheme-name [ local ] [ none ] | local [ none ] | none }
缺省情況下,命令行授權采用缺省的授權方法。
¡ 為IKE擴展認證配置授權方法。
authorization ike { local [ radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情況下,IKE擴展認證采用缺省的授權方法。
¡ 為IPoE用戶配置授權方法。
authorization ipoe { local [ radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情況下,IPoE用戶采用缺省的授權方法。
¡ 為lan-access用戶配置授權方法。
authorization lan-access { local [ radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情況下,lan-access用戶采用缺省的授權方法。
¡ 為login用戶配置授權方法。
authorization login { hwtacacs-scheme hwtacacs-scheme-name [ radius-scheme radius-scheme-name ] [ local ] [ none ] | local [ radius-scheme radius-scheme-name | hwtacacs-scheme hwtacacs-scheme-name ] * [ none ] | none | radius-scheme radius-scheme-name [ hwtacacs-scheme hwtacacs-scheme-name ] [ local ] [ none ] | sso-scheme sso-scheme-name }
缺省情況下,login用戶采用缺省的授權方法。
¡ 為Portal用戶配置授權方法。
authorization portal { local [ radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情況下,Portal用戶采用缺省的授權方法。
¡ 為PPP用戶配置授權方法。
authorization ppp { hwtacacs-scheme hwtacacs-scheme-name [ radius-scheme radius-scheme-name ] [ local ] [ none ] | ldap-scheme ldap-scheme-name [ local ] [ none ] | local [ radius-scheme radius-scheme-name | hwtacacs-scheme hwtacacs-scheme-name ] * [ none ] | local [ ldap-scheme ldap-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ hwtacacs-scheme hwtacacs-scheme-name ] [ local ] [ none ] }
缺省情況下,PPP用戶采用缺省的授權方法。
¡ 為SSL VPN用戶配置授權方法。
authorization sslvpn { ldap-scheme ldap-scheme-name [ local ] [ none ] | local [ ldap-scheme ldap-scheme-name | radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] | sso-scheme sso-scheme-name }
缺省情況下,SSL VPN用戶采用缺省的授權方法。
配置ISP域的AAA計費方法時,需要注意的是:
· 為了提高可靠性,可以指定多個備選的計費方法,在當前的計費方法無效時設備將按照配置順序嚐試使用備選的方法完成計費。例如,radius-scheme radius-scheme-name local none表示,先進行RADIUS計費,若RADIUS計費無效則進行本地計費,若本地計費也無效則不進行計費。遠程計費無效是指,指定的計費方案不存在、計費報文發送失敗或者服務器無響應。本地計費無效是指沒有找到對應的本地用戶配置。
· 不支持對FTP/SFTP/SCP類型login用戶進行計費。
· 本地計費僅用於配合本地用戶視圖下的access-limit命令來實現對本地用戶連接數的限製功能。
· 當采用本地計費方法為主計費方法,且配置了備選計費方法時,僅當AAA本地計費處理過程異常或者沒有本地用戶配置的情況下,用戶本地計費失敗後才會嚐試使用備選方法進行認證,其它情況下不會轉換計費方法,直接認為計費失敗。
配置前的準備工作:
· 確定要配置的接入方式或者服務類型,AAA可以按照不同的接入方式和服務類型進行AAA計費的配置。
· 確定是否為所有的接入方式或服務類型配置缺省的計費方法,缺省的計費方法對所有接入用戶都起作用,但其優先級低於為具體接入方式或服務類型配置的計費方法。
(9) 進入係統視圖。
system-view
(10) 進入ISP域視圖。
domain isp-name
(11) (可選)為當前ISP域配置缺省的計費方法。
accounting default { hwtacacs-scheme hwtacacs-scheme-name [ radius-scheme radius-scheme-name ] [ local ] [ none ] | local [ radius-scheme radius-scheme-name | hwtacacs-scheme hwtacacs-scheme-name ] * [ none ] | none | radius-scheme radius-scheme-name [ hwtacacs-scheme hwtacacs-scheme-name ] [ local ] [ none ] }
缺省情況下,當前ISP域的缺省計費方法為local。
(12) 為指定類型的用戶配置計費方法。
¡ 為ADVPN用戶配置計費方法。
accounting advpn { local [ radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情況下,ADVPN用戶采用缺省的計費方法。
¡ 配置命令行計費方法。
accounting command hwtacacs-scheme hwtacacs-scheme-name
缺省情況下,命令行計費采用缺省的計費方法。
¡ 為IPoE用戶配置計費方法。
accounting ipoe { broadcast radius-scheme radius-scheme-name1 radius-scheme radius-scheme-name2 [ local ] [ none ] | local [ radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情況下,IPoE用戶采用缺省的計費方法。
¡ 為lan-access用戶配置計費方法。
accounting lan-access { broadcast radius-scheme radius-scheme-name1 radius-scheme radius-scheme-name2 [ local ] [ none ] | local [ radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情況下,lan-access用戶采用缺省的計費方法。
¡ 為login用戶配置計費方法。
accounting login { hwtacacs-scheme hwtacacs-scheme-name [ radius-scheme radius-scheme-name ] [ local ] [ none ] | local [ radius-scheme radius-scheme-name | hwtacacs-scheme hwtacacs-scheme-name ] * [ none ] | none | radius-scheme radius-scheme-name [ hwtacacs-scheme hwtacacs-scheme-name ] [ local ] [ none ] }
缺省情況下,login用戶采用缺省的計費方法。
¡ 為Portal用戶配置計費方法。
accounting portal { broadcast radius-scheme radius-scheme-name1 radius-scheme radius-scheme-name2 [ local ] [ none ] | local [ radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情況下,Portal用戶采用缺省的計費方法。
¡ 為PPP用戶配置計費方法。
accounting ppp { broadcast radius-scheme radius-scheme-name1 radius-scheme radius-scheme-name2 [ hwtacacs-scheme hwtacacs-scheme-name ] [ local ] [ none ] | hwtacacs-scheme hwtacacs-scheme-name [ radius-scheme radius-scheme-name ] [ local ] [ none ] | local [ radius-scheme radius-scheme-name | hwtacacs-scheme hwtacacs-scheme-name ] * [ none ] | none | radius-scheme radius-scheme-name [ hwtacacs-scheme hwtacacs-scheme-name ] [ local ] [ none ] }
缺省情況下,PPP用戶采用缺省的計費方法。
¡ 為SSL VPN用戶配置計費方法。
accounting sslvpn { local [ radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情況下,SSL VPN用戶采用缺省的計費方法。
(13) (可選)配置擴展計費策略。
¡ 配置用戶計費開始失敗策略。
accounting start-fail { offline | online }
缺省情況下,如果用戶計費開始失敗,則允許用戶保持在線狀態。
¡ 配置用戶計費更新失敗策略。
accounting update-fail { [ max-times max-times ] offline | online }
缺省情況下,如果用戶計費更新失敗,允許用戶保持在線狀態。
¡ 配置用戶計費配額(流量或時長)耗盡策略。
accounting quota-out { offline | online }
缺省情況下,用戶的計費配額耗盡後將被強製下線。
完成上述配置後,在任意視圖下執行display命令可以顯示配置後AAA的運行情況,通過查看顯示信息驗證配置的效果。
表1-8 ISP域顯示和維護
操作 |
命令 |
顯示所有或指定ISP域的配置信息 |
display domain [ isp-name ] |
域名分隔符是用於分隔用戶名和域名的符號。配置域名分隔符,是為了便於設備準確解析用戶名和域名。不同的域名分隔符,對應不同的用戶名格式:
· “@”:username@domain-name
· “\”:domain-name\username
· “/”:username/domain-name
· “.”:username.domain-name
如果用戶名中包含有多個域名分隔符字符,則設備將根據domain-delimiter search-from命令指定的查詢順序選擇實際使用的域名分隔符。
在用戶認證過程中,接入模塊首先根據自己的域名分隔符規則識別出用戶的認證域,然後將原始用戶名發送給AAA處理,AAA將采用全局域名分隔符解析出認證使用的用戶名進行後續處理。由於部分接入模塊支持為本類型的接入用戶配置獨立的域名分隔符,部分接入模塊支持係統固定的域名分隔符,因此需要配置全局域名分隔符以保證AAA使用的域名分隔符與接入模塊支持的域名分隔符一致。
當前,各接入模塊支持的域名分隔符情況如下:
· Telnet用戶、終端接入用戶:支持係統中配置的全局域名分隔符。
· SSH用戶、FTP用戶:支持固定的域名分隔符“@”、“\”和“/”。
· HTTP/HTTPS用戶:支持固定的域名分隔符@。
· MAC地址認證用戶:用戶名格式由配置決定,用戶名中可支持域名分隔符“.”、“\”和“/”。
· Portal接入用戶:支持固定的域名分隔符@。
· ADVPN接入用戶:用戶名格式由配置決定,用戶名中可支持域名分隔符“.”。
· IPoE接入用戶:用戶名格式由配置決定,接入模塊不解析用戶名,由AAA采用全局域名分隔符進行認證處理。
· PPP接入用戶:支持固定的域名分隔符@。
· SSL VPN接入用戶:接入模塊不解析用戶輸入的用戶名,由AAA采用全局域名分隔符進行認證處理。
· IKE用戶:支持固定的域名分隔符@。
· 用戶角色切換認證用戶:支持係統中配置的全局域名分隔符。
若接入模塊指定了域名分隔符,則對該接入類型的用戶使用接入模塊配置的域名分隔符,不使用全局域名分隔符。
修改全局域名分隔符以及域名分隔符的查詢方向對已在線用戶沒有影響,僅對新上線用戶生效。
(14) 進入係統視圖。
system-view
(15) 配置全局域名分隔符。
domain-delimiter [ advpn | ike | ipoe | lanaccess | login | portal | ppp | sslvpn | super ] string
缺省情況下,全局域名分隔符為“@”、“/”和“\”。
(16) 配置域名分隔符的查詢方向。
domain-delimiter search-direction { backward | forward }
缺省情況下,域名分隔符查詢方向為從右向左。
通過配置同時在線的最大用戶連接數,可以限製采用指定登錄方式(FTP、SSH、Telnet等)同時接入設備的在線用戶數。
該配置對於通過任何一種認證方式(none、password或者scheme)接入設備的用戶都生效。
(17) 進入係統視圖。
system-view
(18) 配置同時在線的最大用戶連接數。
aaa session-limit { ftp | http | https | ssh | telnet } max-sessions
缺省情況下,最大用戶連接數為32。
用戶進行RADIUS認證時,係統會獲取設備的NAS-ID來設置RADIUS報文中的NAS-Identifier屬性,該屬性用於向RADIUS服務器標識用戶的接入位置。
設備支持多種途徑配置NAS-ID,按照獲取優先級從高到低的順序依次包括:
(19) 與用戶接入VLAN綁定的NAS-ID。
(20) ISP域視圖下的NAS-ID。
若以上配置都不存在,則使用設備的名稱(由sysname命令指定)作為設備的NAS-ID。
若在實際網絡中,用戶的接入VLAN可以標識用戶的接入位置,則可通過建立用戶接入VLAN與指定的NAS-ID之間的綁定關係來實現接入位置信息的映射。
NAS-ID Profile將被Portal相應特性進行引用,具體應用請參見“安全配置指導”中的“Portal”。
一個NAS-ID profile中可以指定多組NAS-ID和VLAN綁定。
一個NAS-ID可以與多個VLAN進行綁定,一個VLAN隻能綁定一個NAS-ID。
(21) 進入係統視圖。
system-view
(22) 創建NAS-ID Profile,並進入NAS-ID-Profile視圖。
aaa nas-id profile profile-name
(23) 設置NAS-ID 與VLAN的綁定關係。
nas-id nas-identifier bind vlan vlan-id
(24) 進入係統視圖。
system-view
(25) 進入ISP域視圖。
domain isp-name
(26) 配置NAS-ID。
nas-id nas-identifier
缺省情況下,ISP域視圖下未配置NAS ID。
RADIUS計費過程使用Acct-Session-Id屬性作為用戶的計費ID。設備會為每個在線用戶生成一個唯一的Acct-Session-Id值。設備ID是Acct-Session-Id屬性值中的一個組成字段。
(27) 進入係統視圖。
system-view
(28) 配置設備ID。
aaa device-id device-id
缺省情況下,設備ID為0。
為了提高係統的安全性,用戶通過Telnet、SSH、HTTP、HTTPS、NETCONF over SSH、NETCONF over SOAP方式登錄設備時,係統會根據指定的安全要求對用戶密碼進行檢查。為了及時提醒用戶修改不符合係統要求的密碼,建議開啟密碼修改周期性提醒日誌功能。
開啟本功能後,係統將每隔24小時,對所有不符合密碼檢查策略的用戶打印日誌,提醒這些用戶盡快修改當前密碼。除了周期性提醒之外,係統還會在每個用戶登錄時,針對不符合密碼檢查策略的情況立即打印日誌進行提醒。
· 對於通過Telnet、SSH、HTTP、HTTPS方式登錄設備的用戶,如果用戶密碼為弱密碼,且係統在用戶登錄時未要求其立即更改密碼,係統會打印此提醒日誌。弱密碼是指不符合如下任意一項要求的密碼:
¡ 密碼組合檢測策略。
¡ 密碼最小長度限製。
¡ 密碼複雜度檢查策略。
· 對於通過NETCONF over SSH、NETCONF over SOAP方式登錄設備的用戶,如果出現以下情況,係統會打印此提醒日誌:
¡ 用戶密碼為弱密碼。
¡ 用戶密碼為缺省密碼。
¡ 全局密碼管理功能開啟後,用戶首次登錄或使用被更改過的密碼。
¡ 用戶密碼已經過期。
僅當以下情況發生時,係統才會停止打印此提醒日誌:
· 關閉了密碼修改周期性提醒日誌功能。
· 用戶密碼修改為符合係統安全要求的密碼。
· 密碼檢查策略相關功能的開啟狀態發生變化,使得密碼檢查策略變得寬鬆。
· 密碼檢查策略的參數設置發生變化。
當前係統中的密碼檢查策略可通過display password-control命令查看。弱密碼檢查使用的密碼組合檢測策略、密碼最小長度限製、密碼複雜度檢查策略可分別通過password-control composition、password-control length、password-control complexity命令修改。關於密碼檢查策略的具體介紹,請參見“安全命令參考”的“Password Control”。
(29) 進入係統視圖。
system-view
(30) 開啟密碼修改周期性提醒日誌功能。
local-server log change-password-prompt
缺省情況下,密碼修改周期性提醒日誌功能處於開啟狀態。
AAA請求測試功能是指,通過執行測試命令,由設備向指定的AAA服務器發起一次測試請求來模擬一個用戶的認證/計費過程。本功能主要用於排查設備與AAA服務器交互時的故障原因,目前僅支持對RADIUS服務器發起測試。
當故障發生時,管理員可在設備上執行測試命令發起一次RADIUS請求,並通過查看打印出的認證/計費請求結果以及報文交互信息,來快速定位故障發生的關鍵環節,以及及時排查影響認證/計費結果的RADIUS屬性。
基本的AAA請求測試原則如下:
· 整個測試過程不受服務器狀態(是否為active狀態)以及工作模式(是否為負載分擔模式)的影響,所有在測試命令中指定的RADIUS服務器都有可能作為測試對象。
· 如果測試命令中未指定具體的RADIUS服務器,設備將對測試命令中指定的RADIUS方案中的所有服務器輪詢測試。輪詢測試過程中,設備按照認證請求測試->計費開始請求測試->計費結束請求測試的順序依次進行,具體測試過程如下:
a. 設備向主認證服務器發送一個認證請求報文,請求報文攜帶的用戶名和密碼在測試命令中指定。如果設備收到應答報文(無論認證結果為成功或失敗),或最終測試完所有認證服務器後都未收到應答報文,則停止測試認證服務器,並開始測試計費服務器。如果RADIUS方案中未配置認證服務器,則直接進入下個測試環節。
b. 設備開始發送計費開始請求報文,其測試原則與認證服務器的測試原則類似,收到應答或所有服務器都未響應時,則停止測試計費服務器,並進入下個測試環節。
c. 設備向曾經發送過計費開始請求報文的服務器發送計費停止報文,收到應答或所有服務器都未響應時,結束本次測試。
· 如果測試命令中指定了具體的RADIUS服務器,且該服務器參數能夠與測試命令中指定的RADIUS方案中的某服務器參數完全匹配,則設備將對該認證/計費服務器發起一次認證/計費請求。
缺省情況下,設備在測試過程中發送的RADIUS請求報文會攜帶一些屬性,如表1-9所示。為了便於輔助排查認證/計費故障,設備還支持由用戶通過配置來選擇這些RADIUS請求報文中最終要攜帶的屬性,以及允許自定義所攜帶屬性的取值。
表1-9 RADIUS請求報文中缺省攜帶的屬性
報文類型 |
缺省攜帶的RADIUS屬性 |
RADIUS認證請求 |
User-Name、CHAP-Password(或User-Password)、CHAP-Challenge、NAS-IP-Address(或NAS-IPv6-Address)、Service-Type、Framed-Protocol、NAS-Identifier、NAS-Port-Type、Acct-Session-Id |
RADIUS計費請求 |
User-Name、Acct-Status-Type、NAS-IP-Address(NAS-IPv6-Address)、NAS-Identifier、Acct-Session-Id、Acct-Delay-Time、Acct-Terminate-Cause |
關於測試過程,需要關注的是:
· 由於測試期間不能保證設備與AAA服務器可以正常通信,因此不建議同時允許用戶進行正常的上線、下線操作。
· 測試過程中,如果引用的RADIUS方案配置發生變化,則僅在下次測試中生效,不對本次測試產生影響。
· 僅允許在同一時間內存在一個測試過程,下一次測試隻能在當前測試過程完成後執行。
關於RADIUS報文中攜帶的屬性,需要關注的是:
· 如果一個屬性已經被配置為不能攜帶在RADIUS報文中(通過exclude命令),則需要先執行undo exclude命令取消該配置,才能將其配置為攜帶在RADIUS報文中。
· 如果一個屬性已經被配置為需要攜帶在RADIUS報文中(通過include命令),則需要先執行undo include命令取消該配置,才能將其配置為不攜帶在RADIUS報文中。
完成待測試的RADIUS服務器所屬RADIUS方案的配置,該RADIUS方案中至少需要配置一個RADIUS服務器。
由於設備按照配置的先後順序在RADIUS報文中添加屬性,且RADIUS報文最大長度為4096個字節,如果配置了過多的RADIUS屬性,則在報文長度超過最大值後,部分屬性將不會被添加在報文中。因此,請合理規劃要添加的RADIUS報文屬性數目。
(31) (可選)配置RADIUS屬性測試組來調整攜帶在RADIUS報文中的屬性。
a. 進入係統視圖。
system-view
b. 創建RADIUS屬性測試組,並進入RADIUS屬性測試組視圖。
radius attribute-test-group attr-test-group-name
係統支持配置多個RADIUS屬性測試組。
c. 配置RADIUS報文中攜帶的屬性。
include { accounting | authentication } { name attribute-name | [ vendor vendor-id ] code attribute-code } type { binary | date | integer | interface-id | ip | ipv6 | ipv6-prefix | octets | string } value attribute-value
對於RADIUS報文中缺省攜帶的屬性,可通過本命令來修改屬性取值;對於RADIUS報文中非缺省攜帶的屬性,可通過本命令將其添加在RADIUS報文中。
d. 配置RADIUS報文中不能攜帶的屬性。
exclude { accounting | authentication } name attribute-name
可通過本命令排除掉RADIUS報文中攜帶的一些缺省屬性,來輔助排查認證/計費故障。
e. 退回係統視圖。
quit
(32) 退回用戶視圖。
quit
(33) 請在用戶視圖下執行本命令,發起一次AAA請求測試。
test-aaa user user-name password password radius-scheme radius-scheme-name [ radius-server { ipv4-address | ipv6 ipv6-address } port-number [ vpn-instance vpn-instance-name ] ] [ chap | pap ] [ attribute-test-group attr-test-group-name ] [ trace ]
· 執行test-aaa命令後,如果打印認證/計費請求已超時的提示信息,則可能的原因有:
¡ 設備和RADIUS服務器之間路由不可達。
該情況下,需要排查設備和服務器中間通信故障問題。
¡ 設備上配置的認證/計費服務器的UDP端口號以及認證/計費報文的共享密鑰與RADIUS服務器上的配置不一致。
該情況下,需要檢查用戶認證域下引用的RADIUS方案,並在方案下配置與服務器匹配的端口號以及共享密鑰。
¡ RADIUS服務器上沒有添加接入設備的IP地址或者添加的IP地址不正確。
該情況下,需要在服務器上添加正確的接入設備IP地址,該地址要與設備發送RADIUS報文的源地址保持一致。
¡ RADIUS服務器上的認證或計費端口號被其它程序占用。
該情況下,需要在服務器上檢查該端口是否被其它程序占用,若被占用,請將占用端口的程序關閉。
· 執行test-aaa命令後,如果打印RADIUS服務器拒絕此認證請求的提示信息,則需要繼續查看RADIUS服務器上記錄的認證日誌,並結合打印的拒絕原因以及認證日誌中描述的失敗原因進行相應的處理。比如,RADIUS服務器的數據庫中沒有該用戶信息,用戶密碼錯誤。
· 執行test-aaa命令後,如果打印指定的RADIUS方案中未配置要探測的認證/計費服務器的提示信息,則可能的原因有:
¡ test-aaa命令中指定的RADIUS方案下,不存在任何RADIUS服務器的配置。
¡ test-aaa命令中指定的RADIUS方案下,不存在與該命令中指定的RADIUS服務參數匹配的RADIUS服務器。
以上兩種情況下,需要保證待測試的RADIUS服務器所屬的RADIUS方案中至少配置一個RADIUS服務器,然後重新執行test-aaa命令,並指定正確的RADIUS服務器參數。
SSH用戶主機與Device直接相連,Device與一台RADIUS服務器相連,需要實現使用RADIUS服務器對登錄Device的SSH用戶進行認證和授權。
· 由一台iMC服務器(IP地址為10.1.1.1/24)擔當認證/授權RADIUS服務器的職責;
· Device與RADIUS服務器交互報文時使用的共享密鑰為expert,認證/授權、計費的端口號分別為1812和1813;
· Device向RADIUS服務器發送的用戶名攜帶域名;
· SSH用戶登錄Device時使用RADIUS服務器上配置的用戶名hello@bbb以及密碼進行認證,認證通過後具有用戶角色network-admin。
圖1-14 SSH用戶RADIUS認證/授權配置組網圖
下麵以iMC為例(使用iMC版本為:iMC PLAT 7.3 (E0605)、iMC UAM 7.3 (E0512)),說明RADIUS服務器的基本配置。
(34) 增加接入設備
登錄進入iMC管理平台,選擇“用戶”頁簽,單擊導航樹中的“接入策略管理> 接入設備管理 > 接入設備配置”菜單項,進入接入設備配置頁麵。在該頁麵中單擊<增加>按鈕,進入增加接入設備頁麵。
a. 設置認證及計費的端口號分別為“1812”和“1813”;
b. 選擇業務類型為“設備管理業務”;
c. 選擇接入設備類型為“H3C (General)”;
d. 設置與Device交互報文時使用的認證、計費共享密鑰為“expert”;
e. 選擇或手工增加接入設備,添加IP地址為10.1.1.2的接入設備;
f. 其它參數采用缺省值;
g. 單擊<確定>按鈕完成操作。
添加的接入設備IP地址要與Device發送RADIUS報文的源地址保持一致。缺省情況下,設備發送RADIUS報文的源地址是發送RADIUS報文的接口IP地址。
· 若設備上通過命令nas-ip或者radius nas-ip指定了發送RADIUS報文的源地址,則此處的接入設備IP地址就需要修改並與指定源地址保持一致。
· 若設備使用缺省的發送RADIUS報文的源地址,例如,本例中為接口GigabitEthernet1/0/2的IP地址10.1.1.2,則此處接入設備IP地址就選擇10.1.1.2。
圖1-15 增加接入設備
(35) 增加設備管理用戶
選擇“用戶”頁簽,單擊導航樹中的“接入用戶管理 > 設備管理用戶”菜單項,進入設備管理用戶頁麵。在該頁麵中單擊<增加>按鈕,進入增加設備管理用戶頁麵。
a. 輸入用戶名“hello@bbb”和密碼;
b. 選擇服務類型為“SSH”;
c. 輸入角色名為“network-admin”;
d. 添加所管理設備的IP地址,IP地址範圍為“10.1.1.0~10.1.1.255”;
e. 單擊<確定>按鈕完成操作。
添加的所管理設備的IP地址範圍要包含添加的接入設備的IP地址。
圖1-16 增加設備管理用戶
(36) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.70 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(37) 配置接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name Management
[Device-security-zone-Management] import interface gigabitethernet 1/0/1
[Device-security-zone-Management] quit
[Device] security-zone name DMZ
[Device-security-zone-DMZ] import interface gigabitethernet 1/0/2
[Device-security-zone-DMZ] quit
(38) 配置安全策略
# 配置名稱為aaalocalout的安全策略規則,使Device可以向RADIUS Server發送請求報文,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name aaalocalout
[Device-security-policy-ip-1-aaalocalout] source-zone local
[Device-security-policy-ip-1-aaalocalout] source-ip-host 10.1.1.2
[Device-security-policy-ip-1-aaalocalout] destination-zone DMZ
[Device-security-policy-ip-1-aaalocalout] destination-ip-host 10.1.1.1
[Device-security-policy-ip-1-aaalocalout] action pass
[Device-security-policy-ip-1-aaalocalout] quit
[Device-security-policy-ip] quit
(39) 配置密鑰對
# 生成本地RSA密鑰對、DSA密鑰對、ECDSA密鑰對。
[Device] public-key local create rsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
.
Create the key pair successfully.
[Device] public-key local create dsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
..
Create the key pair successfully.
[Device] public-key local create ecdsa secp256r1
Generating Keys...
.
Create the key pair successfully.
(40) 配置SSH
# 開啟Stelnet服務器功能,並設置SSH用戶登錄用戶線的認證方式為AAA認證。
[Device] ssh server enable
[Device] line vty 0 63
[Device-line-vty0-63] authentication-mode scheme
[Device-line-vty0-63] quit
(41) 配置RADIUS方案
# 創建RADIUS方案rad,配置相關服務器參數。然後配置向RADIUS服務器發送的用戶名要攜帶域名。
[Device] radius scheme rad
[Device-radius-rad] primary authentication 10.1.1.1 1812
[Device-radius-rad] key authentication simple expert
[Device-radius-rad] user-name-format with-domain
[Device-radius-rad] quit
(42) 配置ISP域
# 創建ISP域bbb,為login用戶配置AAA認證方法為RADIUS認證/授權、不計費。由於RADIUS服務器的授權信息是隨認證應答報文發給RADIUS客戶端的,所以必須保證認證和授權方案相同。
[Device] domain bbb
[Device-isp-bbb] authentication login radius-scheme rad
[Device-isp-bbb] authorization login radius-scheme rad
[Device-isp-bbb] accounting login none
[Device-isp-bbb] quit
# 配置缺省的ISP域為bbb。
[Device] domain default enable bbb
用戶向Device發起SSH連接,按照提示輸入用戶名hello@bbb及正確的密碼後,可成功登錄Device,並具有用戶角色network-admin所擁有的命令行執行權限。
配置Device實現對登錄Device的SSH用戶進行本地認證和授權,並授權該用戶具有用戶角色network-admin。
圖1-17 SSH用戶本地認證/授權配置組網圖
(43) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.70 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(44) 配置接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name Management
[Device-security-zone-Management] import interface gigabitethernet 1/0/1
[Device-security-zone-Management] quit
(45) 配置密鑰對
# 生成本地RSA密鑰對、DSA密鑰對、ECDSA密鑰對。
[Device] public-key local create rsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
.
Create the key pair successfully.
[Device] public-key local create dsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
..
Create the key pair successfully.
[Device] public-key local create ecdsa secp256r1
Generating Keys...
.
Create the key pair successfully.
(46) 配置SSH
# 開啟Stelnet服務器功能,並設置SSH用戶登錄用戶線的認證方式為AAA認證。
[Device] ssh server enable
[Device] line vty 0 63
[Device-line-vty0-63] authentication-mode scheme
[Device-line-vty0-63] quit
(47) 創建本地用戶SSH
# 創建設備管理類本地用戶ssh,並配置服務類型、密碼、授權用戶角色。
[Device] local-user ssh class manage
[Device-luser-manage-ssh] service-type ssh
[Device-luser-manage-ssh] password simple 123456TESTplat&!
[Device-luser-manage-ssh] authorization-attribute user-role network-admin
[Device-luser-manage-ssh] quit
(48) 配置ISP域
# 創建ISP域bbb,為login用戶配置AAA認證方法為本地認證和本地授權。
[Device] domain bbb
[Device-isp-bbb] authentication login local
[Device-isp-bbb] authorization login local
[Device-isp-bbb] quit
# 配置缺省的ISP域為bbb。
[Device] domain default enable bbb
用戶向Device發起SSH連接,按照提示輸入用戶名ssh@bbb及正確的密碼後,可成功登錄Device,並具有用戶角色network-admin所擁有的命令行執行權限。
配置Device實現使用HWTACACS服務器對登錄Device的SSH用戶進行認證、授權、計費。
· 由一台HWTACACS服務器擔當認證、授權、計費服務器的職責,服務器IP地址為10.1.1.1/24。
· Device與認證、授權、計費HWTACACS服務器交互報文時的共享密鑰均為expert,向HWTACACS服務器發送的用戶名不帶域名。
· 認證通過後的SSH用戶具有缺省的用戶角色network-operator。
圖1-18 SSH用戶HWTACACS認證、授權和計費配置組網圖
在HWTACACS服務器上設置與Device交互報文時的共享密鑰為expert;添加SSH用戶名及密碼,具體配置步驟略。
(49) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.70 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(50) 配置接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name Management
[Device-security-zone-Management] import interface gigabitethernet 1/0/1
[Device-security-zone-Management] quit
[Device] security-zone name DMZ
[Device-security-zone-DMZ] import interface gigabitethernet 1/0/2
[Device-security-zone-DMZ] quit
(51) 配置安全策略
# 配置名稱為aaalocalout的安全策略規則,使Device可以向HWTACACS Server發送請求報文,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name aaalocalout
[Device-security-policy-ip-1-aaalocalout] source-zone local
[Device-security-policy-ip-1-aaalocalout] source-ip-host 10.1.1.2
[Device-security-policy-ip-1-aaalocalout] destination-zone DMZ
[Device-security-policy-ip-1-aaalocalout] destination-ip-host 10.1.1.1
[Device-security-policy-ip-1-aaalocalout] action pass
[Device-security-policy-ip-1-aaalocalout] quit
[Device-security-policy-ip] quit
(52) 配置密鑰對
# 生成本地RSA密鑰對、DSA密鑰對、ECDSA密鑰對。
[Device] public-key local create rsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
.
Create the key pair successfully.
[Device] public-key local create dsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
..
Create the key pair successfully.
[Device] public-key local create ecdsa secp256r1
Generating Keys...
.
Create the key pair successfully.
(53) 配置SSH
# 開啟Stelnet服務器功能,並設置SSH用戶登錄用戶線的認證方式為AAA認證。
[Device] ssh server enable
[Device] line vty 0 63
[Device-line-vty0-63] authentication-mode scheme
[Device-line-vty0-63] quit
# 使能缺省用戶角色授權功能,使得認證通過後的SSH用戶具有缺省的用戶角色network-operator。
[Device] role default-role enable
(54) 配置HWTACACS方案
# 創建HWTACACS方案hwtac,配置相關服務器參數。然後配置向HWTACACS服務器發送的用戶名不攜帶域名。
[Device] hwtacacs scheme hwtac
[Device-hwtacacs-hwtac] primary authentication 10.1.1.1 49
[Device-hwtacacs-hwtac] primary authorization 10.1.1.1 49
[Device-hwtacacs-hwtac] primary accounting 10.1.1.1 49
[Device-hwtacacs-hwtac] key authentication simple expert
[Device-hwtacacs-hwtac] key authorization simple expert
[Device-hwtacacs-hwtac] key accounting simple expert
[Device-hwtacacs-hwtac] user-name-format without-domain
[Device-hwtacacs-hwtac] quit
(55) 配置ISP域
# 創建ISP域bbb,為login用戶配置AAA認證方法為HWTACACS認證/授權/計費。
[Device] domain bbb
[Device-isp-bbb] authentication login hwtacacs-scheme hwtac
[Device-isp-bbb] authorization login hwtacacs-scheme hwtac
[Device-isp-bbb] accounting login hwtacacs-scheme hwtac
[Device-isp-bbb] quit
# 配置缺省的ISP域為bbb。
[Device] domain default enable bbb
用戶向Device發起SSH連接,按照提示輸入正確用戶名及密碼後,可成功登錄Device,並具有用戶角色network-operator所擁有的命令行執行權限。
配置Device實現使用LDAP服務器對登錄Device的SSH用戶進行認證,且認證通過後具有缺省的用戶角色level-0。
· 一台LDAP認證服務器與Device相連,服務器IP地址為10.1.1.1,服務器域名為ldap.com。
· 在LDAP服務器上設置管理員administrator的密碼為admin!123456。
· 在LDAP服務器上添加用戶名為aaa的用戶,密碼為ldap!123456。
圖1-19 SSH用戶LDAP認證配置組網圖
本文以Microsoft Windows 2003 Server的Active Directory為例,說明該例中LDAP服務器的基本配置。
(56) 添加用戶aaa
a. 在LDAP服務器上,選擇[開始/管理工具]中的[Active Directory用戶和計算機],打開Active Directory用戶管理界麵;
b. 在Active Directory用戶管理界麵的左側導航樹中,點擊ldap.com節點下的“Users”按鈕;
c. 選擇[操作/新建/用戶],打開[新建對象-用戶]對話框;
d. 在對話框中輸入用戶登錄名aaa,並單擊<下一步>按鈕。
圖1-20 新建用戶aaa
e. 在彈出的對話框的“密碼”區域框內輸入用戶密碼ldap!123456,並單擊<下一步>按鈕。用戶賬戶的其它屬性(密碼的更改方式、密碼的生存方式、是否禁用賬戶)請根據實際情況選擇配置,圖中僅為示例。
圖1-21 設置用戶密碼
f. 單擊<完成>按鈕,創建新用戶aaa。
(57) 將用戶aaa加入Users組
a. 在Active Directory用戶管理界麵的左側導航樹中,點擊ldap.com節點下的“Users”按鈕;
b. 在右側的Users信息框中右鍵單擊用戶aaa,選擇“屬性”項;
c. 在彈出的[aaa屬性]對話框中選擇“隸屬於”頁簽,並單擊<添加(D)...>按鈕。
圖1-22 修改用戶屬性
d. 在彈出的[選擇組]對話框中的可編輯區域框中輸入對象名稱“Users”,單擊<確定>,完成用戶aaa添加到Users組。
圖1-23 添加用戶aaa到用戶組Users
(58) 配置管理員密碼
a. 在右側的Users信息框中右鍵單擊管理員用戶administrator,選擇“設置密碼(S)...”項;
b. 在彈出的密碼添加對話框中設置管理員密碼,詳細過程略。
(59) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.70 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(60) 配置接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name Management
[Device-security-zone-Management] import interface gigabitethernet 1/0/1
[Device-security-zone-Management] quit
[Device] security-zone name DMZ
[Device-security-zone-DMZ] import interface gigabitethernet 1/0/2
[Device-security-zone-DMZ] quit
(61) 配置安全策略
# 配置安全策略規則aaalocalout,使Device可以向LDAP Server發送請求報文,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name aaalocalout
[Device-security-policy-ip-1-aaalocalout] source-zone local
[Device-security-policy-ip-1-aaalocalout] source-ip-host 10.1.1.2
[Device-security-policy-ip-1-aaalocalout] destination-zone DMZ
[Device-security-policy-ip-1-aaalocalout] destination-ip-host 10.1.1.1
[Device-security-policy-ip-1-aaalocalout] action pass
[Device-security-policy-ip-1-aaalocalout] quit
[Device-security-policy-ip] quit
(62) 配置密鑰對
# 生成本地RSA密鑰對、DSA密鑰對、ECDSA密鑰對。
[Device] public-key local create rsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
.
Create the key pair successfully.
[Device] public-key local create dsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
..
Create the key pair successfully.
[Device] public-key local create ecdsa secp256r1
Generating Keys...
.
Create the key pair successfully.
(63) 配置SSH
# 開啟Stelnet服務器功能,並設置SSH用戶登錄用戶線的認證方式為AAA認證。
[Device] ssh server enable
[Device] line vty 0 63
[Device-line-vty0-63] authentication-mode scheme
[Device-line-vty0-63] quit
(64) 配置LDAP
# 創建LDAP服務器,並配置LDAP認證服務器的IP地址、管理員用戶DN和密碼、查詢用戶的起始目錄。
[Device] ldap server ldap1
[Device-ldap-server-ldap1] ip 10.1.1.1
[Device-ldap-server-ldap1] login-dn cn=administrator,cn=users,dc=ldap,dc=com
[Device-ldap-server-ldap1] login-password simple admin!123456
[Device-ldap-server-ldap1] search-base-dn dc=ldap,dc=com
[Device-ldap-server-ldap1] quit
[Device] ldap scheme ldap1-shml
[Device-ldap-ldap-shml] authentication-server ldap1
[Device-ldap-ldap1-shml] quit
(65) 配置ISP域
# 創建ISP域bbb,為login用戶配置AAA認證方法為LDAP認證、不授權、不計費。
[Device] domain bbb
[Device-isp-bbb] authentication login ldap-scheme ldap1-shml
[Device-isp-bbb] authorization login none
[Device-isp-bbb] accounting login none
[Device-isp-bbb] quit
# 配置缺省的ISP域為bbb。
[Device] domain default enable bbb
用戶向Device發起SSH連接,按照提示輸入用戶名aaa@bbb及正確的密碼ldap!123456後,可成功登錄Device,並具有用戶角色level-0所擁有的命令行執行權限。
配置Device實現使用LDAP服務器對SSL VPN用戶進行認證和授權。
· 一台LDAP服務器與Device相連,服務器IP地址為10.1.1.1,服務器域名為ldap.com,擔當認證/授權LDAP 服務器的職責。
· Device為SSL VPN網關,IP地址為192.168.1.70,服務端口為8080。
· LDAP服務器授權SSL VPN用戶使用SSL VPN策略組pg1,該策略組中指定SSL VPN用戶可以訪問的URL資源。
圖1-24 SSL VPN用戶LDAP認證授權配置組網圖
· 本文以Microsoft Windows 2003 Server的Active Directory為例,說明該例中LDAP服務器的基本配置。
· 在LDAP服務器上設置管理員administrator的密碼為admin!123456。
· 在LDAP服務器上添加用戶名為aaa的用戶,密碼為ldap!123456,所屬組為Users。
(66) 添加用戶aaa
a. 在LDAP服務器上,選擇[開始/管理工具]中的[Active Directory用戶和計算機],打開Active Directory用戶管理界麵;
b. 在Active Directory用戶管理界麵的左側導航樹中,點擊ldap.com節點下的“Users”按鈕;
c. 選擇[操作/新建/用戶],打開[新建對象-用戶]對話框;
d. 在對話框中輸入用戶登錄名aaa,並單擊<下一步>按鈕。
圖1-25 新建用戶aaa
e. 在彈出的對話框的“密碼”區域框內輸入用戶密碼ldap!123456,並單擊<下一步>按鈕。用戶賬戶的其它屬性(密碼的更改方式、密碼的生存方式、是否禁用賬戶)請根據實際情況選擇配置,圖中僅為示例。
圖1-26 設置用戶密碼
f. 單擊<完成>按鈕,創建新用戶aaa。
(67) 將用戶aaa加入Users組
a. 在Active Directory用戶管理界麵的左側導航樹中,點擊ldap.com節點下的“Users”按鈕;
b. 在右側的Users信息框中右鍵單擊用戶aaa,選擇“屬性”項;
c. 在彈出的[aaa屬性]對話框中選擇“隸屬於”頁簽,並單擊<添加(D)...>按鈕。
圖1-27 修改用戶屬性
d. 在彈出的[選擇組]對話框中的可編輯區域框中輸入對象名稱“Users”,單擊<確定>,完成用戶aaa添加到Users組。
圖1-28 添加用戶aaa到用戶組Users
(68) 配置管理員密碼
a. 在右側的Users信息框中右鍵單擊管理員用戶administrator,選擇“設置密碼(S)...”項;
b. 在彈出的密碼添加對話框中設置管理員密碼,詳細過程略。
(69) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.70 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(70) 配置接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name Trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name DMZ
[Device-security-zone-DMZ] import interface gigabitethernet 1/0/2
[Device-security-zone-DMZ] quit
[Device] security-zone name Untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/3
[Device-security-zone-Untrust] quit
(71) 配置安全策略
# 配置安全策略規則sslvpnlocalin,使SSL VPN user可以向Device發送報文。
[Device] security-policy ip
[Device-security-policy-ip] rule name sslvpnlocalin
[Device-security-policy-ip-1-sslvpnlocalin] source-zone Trust
[Device-security-policy-ip-1-sslvpnlocalin] destination-zone Local
[Device-security-policy-ip-1-sslvpnlocalin] action pass
[Device-security-policy-ip-1-sslvpnlocalin] quit
# 配置安全策略規則sslvpnlocalout,使Device可以向SSH user發送報文。
[Device-security-policy-ip] rule name sslvpnlocalout
[Device-security-policy-ip-2-sslvpnlocalout] source-zone Local
[Device-security-policy-ip-2-sslvpnlocalout] destination-zone Trust
[Device-security-policy-ip-2-sslvpnlocalout] action pass
[Device-security-policy-ip-2-sslvpnlocalout] quit
# 配置安全策略規則ldaplocalout,使Device可以向LDAP Server發送請求報文。
[Device-security-policy-ip] rule name ldaplocalout
[Device-security-policy-ip-3-ldaplocalout] source-zone local
[Device-security-policy-ip-3-ldaplocalout] source-ip-host 10.1.1.2
[Device-security-policy-ip-3-ldaplocalout] destination-zone DMZ
[Device-security-policy-ip-3-ldaplocalout] destination-ip-host 10.1.1.1
[Device-security-policy-ip-3-ldaplocalout] action pass
[Device-security-policy-ip-3-ldaplocalout] quit
# 配置安全策略規則accesslocalout,使Device可以向授權訪問的Untrust域資源發送報文。
[Device-security-policy-ip] rule name accesslocalout
[Device-security-policy-ip-4-accesslocalout] source-zone Local
[Device-security-policy-ip-4-accesslocalout]destination-zone Untrust
[Device-security-policy-ip-4-accesslocalout] action pass
[Device-security-policy-ip-4-accesslocalout] quit
# 配置安全策略規則returnlocalin,使Untrust域資源可以向Device發送報文。
[Device-security-policy-ip] rule name returnlocalin
[Device-security-policy-ip-5-returnlocalin] source-zone Untrust
[Device-security-policy-ip-5-returnlocalin] destination-zone Local
[Device-security-policy-ip-5-returnlocalin] action pass
[Device-security-policy-ip-5-returnlocalin] quit
[Device-security-policy-ip] quit
(72) 配置PKI
創建PKI域sslvpn,並獲取CA及本地證書。具體配置請參見“安全配置指導”中的“PKI”,此處略。
(73) 配置SSL
# 創建SSL服務器端策略myssl,並配置SSL服務器端策略使用的PKI域名為sslvpn。
[Device] ssl server-policy myssl
[Device-server-policy-myssl] pki-domain sslvpn
[Device-server-policy-myssl] quit
(74) 配置SSL VPN
# 創建並配置SSL VPN Gateway,創建SSL VPN Context並引用此Gateway,然後配置使用的AAA認證域為bbb。
[Device] sslvpn gateway g1
[Device-sslvpn-gateway-g1] ssl server-policy myssl
[Device-sslvpn-gateway-g1] ip address 192.168.1.70 port 8080
[Device-sslvpn-gateway-g1] service enable
[Device-sslvpn-gateway-g1] quit
[Device] sslvpn context aaa
[Device-sslvpn-context-aaa] gateway g1
[Device-sslvpn-context-aaa] aaa domain bbb
# 創建URL表項urlitem,並配置資源的URL。(本例的URL僅為示例,具體請以實際提供Web資源的URL為準)
[Device-sslvpn-context-aaa] url-item urlitem
[Device-sslvpn-context-aaa-url-item-urlitem] url http://20.2.2.2
[Device-sslvpn-context-aaa-url-item-urlitem] quit
[Device-sslvpn-context-aaa] url-list urllist
[Device-sslvpn-context-aaa-url-list-urllist] heading web
[Device-sslvpn-context-aaa-url-list-urllist] resources url-item urlitem
[Device-sslvpn-context-aaa-url-list-urllist] quit
# 創建SSL VPN策略組,名稱為pg1,引用URL列表urllist,然後開啟SSL VPN Context服務。
[Device-sslvpn-context-aaa] policy-group pg1
[Device-sslvpn-context-aaa-policy-group-pg1] resources url-list urllist
[Device-sslvpn-context-aaa-policy-group-pg1] quit
# 開啟SSL VPN Context服務。
[Device-sslvpn-context-aaa] service enable
[Device-sslvpn-context-aaa] quit
(75) 配置LDAP
# 創建LDAP服務器ldap1,並配置LDAP認證服務器的IP地址、管理員用戶DN和密碼、查詢用戶的起始目錄。
[Device] ldap server ldap1
[Device-ldap-server-ldap1] ip 10.1.1.1
[Device-ldap-server-ldap1] login-dn cn=administrator,cn=users,dc=ldap,dc=com
[Device-ldap-server-ldap1] login-password simple admin!123456
[Device-ldap-server-ldap1] search-base-dn dc=ldap,dc=com
[Device-ldap-server-ldap1] quit
# 創建LDAP屬性映射表test,並配置將LDAP服務器屬性memberof按照前綴為cn=、分隔符為逗號(,)的格式提取出的內容映射成AAA屬性User group。
[Device] ldap attribute-map test
[Device-ldap-attr-map-test] map ldap-attribute memberof prefix cn= delimiter , aaa-attribute user-group
[Device-ldap-attr-map-test] quit
# 創建LDAP方案shml,然後配置認證服務器和授權服務器、引用的LDAP屬性映射表。
[Device] ldap scheme shml
[Device-ldap-shml] authentication-server ldap1
[Device-ldap-shml] authorization-server ldap1
[Device-ldap-shml] attribute-map test
[Device-ldap-shml] quit
(76) 配置ISP域
# 創建ISP域bbb,為SSL VPN用戶配置AAA認證方法為LDAP認證、LDAP授權、不計費。
[Device] domain bbb
[Device-isp-bbb] authentication sslvpn ldap-scheme shml
[Device-isp-bbb] authorization sslvpn ldap-scheme shml
[Device-isp-bbb] accounting sslvpn none
[Device-isp-bbb] quit
(77) 配置本地用戶組
# 創建本地用戶組users,指定授權SSL VPN策略組為pg1。
[Device] user-group users
[Device-ugroup-users] authorization-attribute sslvpn-policy-group pg1
[Device-ugroup-users] quit
用戶在瀏覽器地址欄中輸入https://192.168.1.70:8080,按照頁麵提示輸入用戶名aaa@bbb及正確的密碼ldap!123456後,可成功登錄SSL VPN的Web頁麵,並具有SSL VPN策略組pg1中配置的URL資源的訪問權限。
用戶認證/授權總是失敗。
(78) 設備與RADIUS服務器之間存在通信故障。
(79) 用戶名不是“userid@isp-name”的形式,或設備上沒有正確配置用於認證該用戶的ISP域。
(80) RADIUS服務器的數據庫中沒有配置該用戶。
(81) 用戶側輸入的密碼不正確。
(82) RADIUS服務器和設備的報文共享密鑰不同。
(83) 使用ping命令檢查設備與RADIUS服務器是否可達。
(84) 使用正確形式的用戶名或在設備上確保正確配置了用於該用戶認證的ISP域。
(85) 檢查RADIUS服務器的數據庫以保證該用戶的配置信息確實存在。
(86) 確保接入用戶輸入正確的密碼。
(87) 檢查兩端的共享密鑰,並確保兩端一致。
RADIUS報文無法傳送到RADIUS服務器。
(88) 設備與RADIUS服務器之間的通信存在故障。
(89) 設備上沒有設置相應的RADIUS服務器IP地址。
(90) 認證/授權和計費服務的UDP端口設置不正確。
(91) RADIUS服務器的認證/授權和計費端口被其它應用程序占用。
(92) 確保線路通暢。
(93) 確保正確設置RADIUS服務器的IP地址。
(94) 確保與RADIUS服務器提供服務的端口號一致。
(95) 確保RADIUS服務器上的認證/授權和計費端口可用。
用戶認證通過並獲得授權,但是計費功能出現異常。
(96) 計費端口號設置不正確。
(97) 計費服務器和認證服務器不是同一台機器,設備卻要求認證和計費功能屬於同一個服務器(IP地址相同)。
(98) 正確設置RADIUS計費端口號。
(99) 確保設備的認證服務器和計費服務器的設置與實際情況相同。
HWTACACS的常見配置錯誤與RADIUS基本相似,可以參考以上內容。
用戶認證失敗。
(100)設備與LDAP服務器之間存在通信故障。
(101)配置的認證/授權服務器IP地址或端口號不正確。
(102)用戶名不是“userid@isp-name”的形式,或設備上沒有正確配置用於認證該用戶的ISP域。
(103)LDAP服務器目錄中沒有配置該用戶。
(104)用戶輸入的密碼不正確。
(105)具有管理員權限的用戶DN或密碼沒有配置。
(106)設備上配置的用戶參數(如用戶名屬性)與服務器上的配置不對應。
(107)認證操作時,沒有配置LDAP方案用戶查詢的起始DN。
(108)使用ping命令檢查設備與LDAP服務器是否可達。
(109)確保配置的認證服務器IP地址與端口號與LDAP服務器實際使用的IP地址和端口號相符。
(110)使用正確形式的用戶名或在設備上確保正確配置了用於該用戶認證的ISP域。
(111)檢查LDAP服務器目錄以保證該用戶的配置信息確實存在。
(112)確保輸入用戶密碼正確。
(113)確保配置了正確的管理員用戶DN和密碼。
(114)確保設備上的用戶參數(如用戶名屬性)配置與LDAP服務器上的配置相同。
(115)認證操作時,確保配置了用戶查詢的起始DN。
標準的RADIUS屬性由RFC 2865、RFC 2866、RFC 2867和RFC 2868所定義。常見的RADIUS標準屬性如表1-10所示。
表1-10 常見RADIUS標準屬性列表
屬性編號 |
屬性名稱 |
屬性編號 |
屬性名稱 |
1 |
User-Name |
45 |
Acct-Authentic |
2 |
User-Password |
46 |
Acct-Session-Time |
3 |
CHAP-Password |
47 |
Acct-Input-Packets |
4 |
NAS-IP-Address |
48 |
Acct-Output-Packets |
5 |
NAS-Port |
49 |
Acct-Terminate-Cause |
6 |
Service-Type |
50 |
Acct-Multi-Session-Id |
7 |
Framed-Protocol |
51 |
Acct-Link-Count |
8 |
Framed-IP-Address |
52 |
Acct-Input-Gigawords |
9 |
Framed-IP-Netmask |
53 |
Acct-Output-Gigawords |
10 |
Framed-Routing |
54 |
(unassigned) |
11 |
Filter-ID |
55 |
Event-Timestamp |
12 |
Framed-MTU |
56-59 |
(unassigned) |
13 |
Framed-Compression |
60 |
CHAP-Challenge |
14 |
Login-IP-Host |
61 |
NAS-Port-Type |
15 |
Login-Service |
62 |
Port-Limit |
16 |
Login-TCP-Port |
63 |
Login-LAT-Port |
17 |
(unassigned) |
64 |
Tunnel-Type |
18 |
Reply-Message |
65 |
Tunnel-Medium-Type |
19 |
Callback-Number |
66 |
Tunnel-Client-Endpoint |
20 |
Callback-ID |
67 |
Tunnel-Server-Endpoint |
21 |
(unassigned) |
68 |
Acct-Tunnel-Connection |
22 |
Framed-Route |
69 |
Tunnel-Password |
23 |
Framed-IPX-Network |
70 |
ARAP-Password |
24 |
State |
71 |
ARAP-Features |
25 |
Class |
72 |
ARAP-Zone-Access |
26 |
Vendor-Specific |
73 |
ARAP-Security |
27 |
Session-Timeout |
74 |
ARAP-Security-Data |
28 |
Idle-Timeout |
75 |
Password-Retry |
29 |
Termination-Action |
76 |
Prompt |
30 |
Called-Station-Id |
77 |
Connect-Info |
31 |
Calling-Station-Id |
78 |
Configuration-Token |
32 |
NAS-Identifier |
79 |
EAP-Message |
33 |
Proxy-State |
80 |
Message-Authenticator |
34 |
Login-LAT-Service |
81 |
Tunnel-Private-Group-id |
35 |
Login-LAT-Node |
82 |
Tunnel-Assignment-id |
36 |
Login-LAT-Group |
83 |
Tunnel-Preference |
37 |
Framed-AppleTalk-Link |
84 |
ARAP-Challenge-Response |
38 |
Framed-AppleTalk-Network |
85 |
Acct-Interim-Interval |
39 |
Framed-AppleTalk-Zone |
86 |
Acct-Tunnel-Packets-Lost |
40 |
Acct-Status-Type |
87 |
NAS-Port-Id |
41 |
Acct-Delay-Time |
88 |
Framed-Pool |
42 |
Acct-Input-Octets |
89 |
(unassigned) |
43 |
Acct-Output-Octets |
90 |
Tunnel-Client-Auth-id |
44 |
Acct-Session-Id |
91 |
Tunnel-Server-Auth-id |
表1-11 常見RADIUS標準屬性描述
屬性編號 |
屬性名稱 |
描述 |
1 |
User-Name |
需要進行認證的用戶名稱 |
2 |
User-Password |
需要進行PAP方式認證的用戶密碼,在采用PAP認證方式時,該屬性僅出現在Access-Request報文中 |
3 |
CHAP-Password |
需要進行CHAP方式認證的用戶密碼的消息摘要。在采用CHAP認證方式時,該屬性出現在Access-Request報文中 |
4 |
NAS-IP-Address |
Server通過不同的IP地址來標識不同的Client,通常Client采用本地一個接口的IP地址來唯一的標識自己,這就是NAS-IP-Address。該屬性指示當前發起請求的Client的NAS-IP-Address。該字段僅出現在Access-Request報文中 |
5 |
NAS-Port |
用戶接入NAS的物理端口號 |
6 |
Service-Type |
用戶申請認證的業務類型 |
7 |
Framed-Protocol |
用戶Frame類型業務的封裝協議 |
8 |
Framed-IP-Address |
為用戶所配置的IP地址 |
11 |
Filter-ID |
訪問控製列表的名稱。屬性取值的解析原則如下: · 若為純數字,則表示ACL編號 · 若不全為數字,但包含等號,則等號後的內容為用戶組名稱,樣式為user-group=name1;name2;..;namex。該屬性僅對SSL VPN用戶生效 |
12 |
Framed-MTU |
用戶與NAS之間數據鏈路的MTU(Maximum Transmission Unit,最大傳輸單元)值 |
14 |
Login-IP-Host |
用戶登錄設備的接口IP地址 |
15 |
Login-Service |
用戶登錄設備時采用的業務類型 |
18 |
Reply-Message |
服務器反饋給用戶的純文本描述,可用於向用戶顯示認證失敗的原因 |
26 |
Vendor-Specific |
廠商自定義的私有屬性。一個報文中可以有一個或者多個私有屬性,每個私有屬性中可以有一個或者多個子屬性 |
27 |
Session-Timeout |
會話結束之前,給用戶提供服務的最大時間,即用戶的最大可用時長 |
28 |
Idle-Timeout |
會話結束之前,允許用戶持續空閑的最大時間,即用戶的閑置切斷時間 |
31 |
Calling-Station-Id |
NAS用於向Server告知標識用戶的號碼,在H3C設備提供的lan-access業務中,該字段填充的是用戶的MAC地址 |
32 |
NAS-Identifier |
NAS用來向Server標識自己的名稱 |
40 |
Acct-Status-Type |
計費請求報文的類型 · 1:Start · 2:Stop · 3:Interim-Update · 4:Reset-Charge · 7:Accounting-On(3GPP中有定義) · 8:Accounting-Off (3GPP中有定義) · 9-14:Reserved for Tunnel Accounting · 15:Reserved for Failed |
45 |
Acct-Authentic |
用戶采用的認證方式,包括RADIUS,Local以及Remote |
60 |
CHAP-Challenge |
在CHAP認證中,由NAS生成的用於MD5計算的隨機序列 |
61 |
NAS-Port-Type |
NAS認證用戶的端口的物理類型 · 15:以太網 · 16:所有種類的ADSL · 17:Cable(有線電視電纜) · 201:VLAN · 202:ATM 如果在以太網端口上還劃分VLAN,則該屬性值為201 |
64 |
Tunnel-Type |
使用的隧道協議,該屬性值為13時表示下發VLAN |
65 |
Tunnel-Medium-Type |
創建隧道的傳輸層媒介類型,該屬性值為6時表示802類型,可用於下發VLAN |
79 |
EAP-Message |
用於封裝EAP報文,實現RADIUS協議對EAP認證方式的支持 |
80 |
Message-Authenticator |
用於對認證報文進行認證和校驗,防止非法報文欺騙。該屬性在RADIUS協議支持EAP認證方式被使用 |
81 |
Tunnel-Private-Group-ID |
隧道會話的組ID,該屬性在下發VLAN時用於攜帶下發的VLAN ID |
87 |
NAS-Port-Id |
用字符串來描述的認證端口信息 |
表1-12列出的RADIUS擴展屬性為所有產品可支持屬性的合集,具體產品支持情況有所不同。
表1-12 RADIUS擴展屬性(Vendor-ID=25506)
子屬性編號 |
子屬性名稱 |
描述 |
1 |
Input-Peak-Rate |
用戶接入到NAS的峰值速率,以bps為單位 |
2 |
Input-Average-Rate |
用戶接入到NAS的平均速率,以bps為單位 |
3 |
Input-Basic-Rate |
用戶接入到NAS的基本速率,以bps為單位 |
4 |
Output-Peak-Rate |
從NAS到用戶的峰值速率,以bps為單位 |
5 |
Output-Average-Rate |
從NAS到用戶的平均速率,以bps為單位 |
6 |
Output-Basic-Rate |
從NAS到用戶的基本速率,以bps為單位 |
15 |
Remanent_Volume |
表示該連接的剩餘可用總流量。對於不同的服務器類型,此屬性的單位不同 |
17 |
ISP-ID |
表示用於獲取授權信息的ISP域 |
20 |
Command |
用於會話控製,表示對會話進行操作,此屬性有五種取值 · 1:Trigger-Request · 2:Terminate-Request · 3:SetPolicy · 4:Result · 5:PortalClear |
21 |
ACL-Version |
ACL的版本號,和Filter-ID搭配使用,用於標識通過Filter-ID下發的ACL的類型 · 1:為IPv4版本 · 2:為IPv6版本 |
24 |
Control_Identifier |
服務器重發報文的標識符,對於同一會話中的重發報文,本屬性必須相同。不同的會話的報文攜帶的該屬性值可能相同。相應的客戶端響應報文必須攜帶該屬性,其值不變 在開始、停止或中間上報流量的Accounting-Request報文中,若帶有Control_Identifier屬性,此時的Control_Identifier屬性無實際意義 |
25 |
Result_Code |
表示Trigger-Request或SetPolicy的結果,0表示成功,非0表示失敗 |
26 |
Connect_ID |
用戶連接索引 |
27 |
PortalURL |
下發給PPPoE的PADM URL |
28 |
Ftp_Directory |
FTP/SFTP/SCP用戶工作目錄 對於FTP/SFTP/SCP用戶,當RADIUS客戶端作為FTP/SFTP/SCP服務器時,該屬性用於設置RADIUS客戶端上的FTP/SFTP/SCP目錄 |
29 |
Exec_Privilege |
EXEC用戶優先級 |
32 |
NAT-IP-Address |
進行源IP地址和端口轉換處理時為該用戶分配的公網IP地址 |
33 |
NAT-Start-Port |
進行源IP地址和端口轉換處理時為該用戶分配的端口範圍的起始端口號 |
34 |
NAT-End-Port |
進行源IP地址和端口轉換處理時為該用戶分配的端口範圍的結束端口號 |
59 |
NAS_Startup_Timestamp |
NAS係統啟動時刻,以秒為單位,表示從1970年1月1日UTC 00:00:00以來的秒數 |
60 |
Ip_Host_Addr |
認證請求和計費請求報文中攜帶的用戶IP地址和MAC地址,格式為“A.B.C.D hh:hh:hh:hh:hh:hh”,IP地址和MAC地址之間以空格分開 |
61 |
User_Notify |
服務器需要透傳到客戶端的信息 |
98 |
Multicast_Receive_Group |
用戶作為組播接收者加入的組播組地址。 該屬性可以在報文中多次出現,表示用戶屬於多個組播組 |
100 |
IP6_Multicast_Receive_Group |
用戶作為組播接收者加入的IPv6組播組地址。 該屬性可以在報文中多次出現,表示用戶屬於多個組播組 |
102 |
local-name |
L2TP的本地名字 |
103 |
IGMP-Access-Limit |
用戶可以加入的IPv4組播組的最大數量 |
104 |
VPN-Instance |
用戶可以加入的MPLS L3VPN實例的名稱 |
111 |
Longitude-Latitude |
NAS的經度和緯度信息 |
135 |
Client-Primary-DNS |
首選DNS服務器地址 |
136 |
Client-Secondary-DNS |
備用DNS服務器地址 |
140 |
User_Group |
用戶認證成功後下發的用戶組 通常,一個用戶隻能屬於一個用戶組;對於SSL VPN用戶,一個用戶可以屬於多個用戶組,多個用戶組之間使用分號隔開 |
141 |
Security_Level |
SSL VPN用戶安全認證之後下發的安全級別 |
144 |
Acct_IPv6_Input_Octets |
表示入方向的IPv6報文字節數,單位由設備上的配置決定 |
145 |
Acct_IPv6_Output_Octets |
表示出方向的IPv6報文字節數,單位由設備上的配置決定 |
146 |
Acct_IPv6_Input_Packets |
表示入方向的IPv6包數,單位由設備上的配置決定 |
147 |
Acct_IPv6_Output_Packets |
表示出方向的IPv6包數,單位由設備上的配置決定 |
148 |
Acct_IPv6_Input_Gigawords |
表示入方向的IPv6報文字節數是4G字節的多少倍 |
149 |
Acct_IPv6_Output_Gigawords |
表示出方向的IPv6報文字節數是4G字節的多少倍 |
155 |
User-Roles |
用戶角色列表。多個用戶角色名稱之間使用空格分隔 |
210 |
Av-Pair |
自定義的屬性對,可支持以下類型: · 下發的Voice VLAN,格式為device-traffic-class=voice · 下發的用戶角色,格式為shell:role=xxx · 下發的重啟端口命令,格式為subscriber:command=bounce-host-port · 下發的端口關閉的時長,格式為bounce:seconds=xxx · 下發的端口關閉命令,格式為subscriber:command=disable-host-port |
218 |
H3C-DHCP-Option |
客戶端的DHCP Option信息,由Option Type、Option Length、Option Value三部分組成: · Option Type:Option屬性類型,缺省為1字節,可通過include-attribute h3c-dhcp-option format format2命令修改為2字節以適應HUAWEI服務器 · Option Length:Option屬性值長度 · Option Value:Option屬性值 |
246 |
Auth_Detail_Result |
在下麵的情況下,服務器發送Access-Accept報文,並攜帶此屬性表明用戶認證的詳細結果信息: · 1:用戶處於欠費狀態。該情況下,服務器同時會下發250號屬性,允許用戶訪問白名單中的網絡資源。若用戶訪問其它網絡資源,將被重定向到250號屬性指定的重定向URL · 2:用戶寬帶使用到期。該情況下,服務器同時會下發250號屬性。用戶的首次Web訪問請求將被重定向到250號屬性指定的重定向URL |
247 |
Input-Committed-Burst-Size |
用戶到NAS方向流量的CBS(Committed Burst Size,承諾突發尺寸),以bit為單位,長度為4字節 下發此屬性時需要同時下發Input-Average-Rate屬性 |
248 |
Output-Committed-Burst-Size |
NAS到用戶方向流量的CBS(Committed Burst Size,承諾突發尺寸),以bit為單位,長度為4字節 下發此屬性時需要同時下發Output-Average-Rate屬性 |
249 |
authentication-type |
用戶認證類型值,取值如下: · 1:用戶內網準入認證 · 2:用戶外網準出認證 如果該屬性不存在,則按照普通用戶認證處理 |
250 |
WEB-URL |
PPP用戶Web重定向URL |
251 |
Subscriber-ID |
用戶家庭ID |
252 |
Subscriber-Profile |
用戶家庭套餐的QoS策略名稱 |
255 |
Product_ID |
產品名稱 |
在HWTACACS授權或計費報文中,攜帶了服務器下發給用戶或用戶上傳給服務器的屬性信息。設備支持的HWTACACS屬性如表1-13所示,對於不在該表內的屬性,設備不對其進行解析,直接忽略。
表1-13 HWTACACS屬性描述
屬性名稱 |
描述 |
acl |
授權的ACL編號 |
idletime |
空閑切斷時間,單位為秒 |
priv-lvl |
用戶的級別,表示level0~level15 |
ftp-directory |
FTP用戶的初始目錄 |
addr |
用戶的授權IP地址 |
addr-pool |
用戶的授權IP地址池 |
tunnel-type |
將要建立的隧道類型,目前僅支持L2TP隧道 |
ip-addresses |
LNS的IP地址 |
tunnel-id |
L2TP隧道的Group ID |
gw-password |
L2TP隧道的驗證密碼 |
roles |
授權的用戶角色 |
allowed-roles |
允許的super用戶角色 |
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!