售前電話
135-3656-7657
售前電話 : 135-3656-7657
概述
802.1X協(xié)議起源于802.11協(xié)議,后者是IEEE的無線局域網(wǎng)協(xié)議,制訂802.1X協(xié)議的初衷是為了解決無線局域網(wǎng)用戶的接入認證問題。802.1x是根據(jù)用戶ID或設備,對網(wǎng)絡客戶端(或端口)進行鑒權的標準。該流程被稱為“端口級別的鑒權”。它采用RADIUS(遠程認證撥號用戶服務)方法,并將其劃分為三個不同小組:請求方、認證方和授權服務器。
802.1x 標準應用于試圖連接到端口或其它設備(如Cisco Catalyst交換機或Cisco Aironet系列接入點)(認證方)的終端設備和用戶(請求方)。認證和授權都通過鑒權服務器(如Cisco Secure ACS)后端通信實現(xiàn)。IEEE 802.1x提供自動用戶身份識別,集中進行鑒權、密鑰管理和LAN連接配置。 整個802.1x 的實現(xiàn)設計三個部分,請求者系統(tǒng)、認證系統(tǒng)和認證服務器系統(tǒng)。
認證過程:(1) 客戶端向接入設備發(fā)送一個EAPoL-Start報文,開始802.1x認證接入;
(2) 接入設備向客戶端發(fā)送EAP-Request/Identity報文,要求客戶端將用戶名送上來;
(3) 客戶端回應一個EAP-Response/Identity給接入設備的請求,其中包括用戶名;
(4) 接入設備將EAP-Response/Identity報文封裝到RADIUS Access-Request報文中,發(fā)送給認證服務器;
(5) 認證服務器產(chǎn)生一個Challenge,通過接入設備將RADIUS Access-Challenge報文發(fā)送給客戶端,其中包含有EAP-Request/MD5-Challenge;
(6) 接入設備通過EAP-Request/MD5-Challenge發(fā)送給客戶端,要求客戶端進行認證
(7) 客戶端收到EAP-Request/MD5-Challenge報文后,將密碼和Challenge做MD5算法后的Challenged-Pass-word,在EAP-Response/MD5-Challenge回應給接入設備
(8) 接入設備將Challenge,Challenged Password和用戶名一起送到RADIUS服務器,由RADIUS服務器進行認證
(9)RADIUS服務器根據(jù)用戶信息,做MD5算法,判斷用戶是否合法,然后回應認證成功/失敗報文到接入設備。如果成功,攜帶協(xié)商參數(shù),以及用戶的相關業(yè)務屬性給用戶授權。如果認證失敗,則流程到此結束;
(10) 如果認證通過,用戶通過標準的DHCP協(xié)議 (可以是DHCP Relay) ,通過接入設備獲取規(guī)劃的IP地址;
(11) 如果認證通過,接入設備發(fā)起計費開始請求給RADIUS用戶認證服務器;
(12)RADIUS用戶認證服務器回應計費開始請求報文。用戶上線完畢。\
服務器配置
1.安裝FreeRadius 軟件下載路徑:\\172.16.1.9\share\Testing department\software 安裝FreeRADIUS-server-2.2.0-x86.rar(此版本就是將linux的 freeRadius 編譯成windows版本了),或是去官網(wǎng)下載。這里以FreeRADIUS-server-2.2.0-x86.rar為例。解壓FreeRADIUS-server-2.2.0-x86.rar,雙擊FreeRADIUS-server-2.2.0-x86.exe,安裝程序,這里按默認路徑安裝,
3.2修改配置文件
1.安裝完成后,進入C:\FreeRADIUS\etc\raddb目錄,修改 clients.conf:
client_server localhost {
ipaddr = 127.0.0.1 #127.0.0.1 是服務器保留測試地址
port = 1812 #服務器默認的認證端口
type = "auth" #認證類型為auth
secret = "testing123" #共享秘鑰
response_window = 20 #響應端口
max_outstanding = 65536 #
require_message_authenticator = yes #是否進行消息認證
zombie_period = 40 #
status_check = "status-server" #服務器狀態(tài)檢查
ping_interval = 30 #
check_interval = 30 #檢查時間間隔
num_answers_to_alive = 3 #
num_pings_to_alive = 3 #
revive_interval = 120 #恢復時間間隔
status_check_timeout = 4 #狀態(tài)檢查超時時間
coa {