802.1x技術(shù)分析
802.1x為IEEE Std 802.1x-2001基于端口的訪問控制協(xié)議,可以克服PPPoE方式帶來(lái)的諸多問題,并避免引入寬帶接入服務(wù)器所帶來(lái)的巨大投資。802.1x協(xié)議限制未經(jīng)授權(quán)的用戶/設(shè)備通過接入端口訪問LAN/WAN。在獲得交換機(jī)或LAN提供的各種業(yè)務(wù)之前,802.1x對(duì)連接到交換機(jī)端口上的用戶進(jìn)行認(rèn)證。在認(rèn)證通過之前,802.1x只允許EAPOL(基于局域網(wǎng)的擴(kuò)展認(rèn)證協(xié)議)數(shù)據(jù)通過設(shè)備連接的交換機(jī)端口。認(rèn)證通過以后,正常的數(shù)據(jù)可以順利地通過以太網(wǎng)端口。
802.1x協(xié)議體系結(jié)構(gòu)包括三個(gè)重要的部分:Supplicant System客戶端、Authenticator System認(rèn)證系統(tǒng)、Authentication Server System認(rèn)證服務(wù)器。如圖1所示。
圖 1
客戶端系統(tǒng)一般為一個(gè)用戶終端系統(tǒng),該終端系統(tǒng)通常要安裝一個(gè)客戶端軟件,用戶通過啟動(dòng)這個(gè)客戶端軟件發(fā)起IEEE 802.1x協(xié)議的認(rèn)證過程。為支持基于端口的接入控制,客戶端系統(tǒng)需支持EAPOL協(xié)議。Windows XP操作系統(tǒng)中已經(jīng)包含了802.1x認(rèn)證的客戶端軟件。
認(rèn)證系統(tǒng)通常為支持802.1x協(xié)議的網(wǎng)絡(luò)設(shè)備,如802.1x交換機(jī)。該設(shè)備對(duì)應(yīng)于不同用戶的端口(可以是物理端口,也可以是用戶設(shè)備的MAC地址、VLAN、IP等)。
認(rèn)證服務(wù)器通常為radius服務(wù)器,該服務(wù)器可以存儲(chǔ)有關(guān)用戶的信息,比如用戶所屬的VLAN、CAR參數(shù)、優(yōu)先級(jí)、用戶的訪問控制列表等。當(dāng)用戶通過認(rèn)證后,認(rèn)證服務(wù)器會(huì)把用戶的相關(guān)信息傳遞給認(rèn)證系統(tǒng),由認(rèn)證系統(tǒng)構(gòu)建動(dòng)態(tài)的訪問控制列表,用戶的后續(xù)流量就將接受上述參數(shù)的監(jiān)管。認(rèn)證服務(wù)器和radius服務(wù)器之間通過EAP協(xié)議進(jìn)行通信。
二層交換機(jī)上實(shí)現(xiàn)802.1x認(rèn)證
現(xiàn)在大部分廠商的接入交換機(jī)都支持802.1x協(xié)議,有的還支持本地認(rèn)證,這就使拋開radius服務(wù)器,在接入交換機(jī)上進(jìn)行用戶認(rèn)證成為可能。
下面以Quidway S3026為例,介紹利用內(nèi)置radius server來(lái)實(shí)現(xiàn)接入交換機(jī)上的用戶認(rèn)證。
在S3026的出廠設(shè)置中已經(jīng)配置了本地的認(rèn)證服務(wù)器和域:
radius scheme system
server-type huawei
primary authentication 127.0.0.1 1645
primary accounting 127.0.0.1 1646
user-name-format without-domain
domain system
radius-scheme system
access-limit disable
state active
vlan-assignment-mode integer
idle-cut disable
self-service-url disable
messenger time disable
domain default enable system
local-server nas-ip 127.0.0.1 key huawei
我們可以直接利用已有的配置構(gòu)建認(rèn)證服務(wù)。
#開啟802.1x功能
[Quidway]dot1x
#指定的端口上開啟802.1X
[Quidway]dot1x interface eth 0/1 to eth 0/24
#添加用戶
[Quidway]local-user sample
[Quidway -luser-sample]password simple 123456
[Quidway -luser-sample]service-type lan-access
我們也可以建立新的域來(lái)進(jìn)行802.1x認(rèn)證。
#開啟802.1x功能
[Quidway]dot1x
#所有的端口都開啟802.1x
[Quidway]dot1x interface eth 0/1 to eth 0/24
#創(chuàng)建radius組cjwust并進(jìn)入其視圖
[Quidway]radius scheme cjwusta
#設(shè)置主認(rèn)證服務(wù)器為本地,端口號(hào)1645
[Quidway -radius-cjwusta]primary? authentication 127.0.0.1 1645
#創(chuàng)建用戶域cjwust
[Quidway]domain cjwust
#指定cjwusta為該域用戶的radius服務(wù)器組
[Quidway -isp-huawei]radius-scheme cjwusta
#添加本地用戶sample
[Quidway]local-user sample
[Quidway-luser-sample]password simple 123456
[Quidway-luser-sample]service-type lan-access
用戶添加完成后,我們就可以用這些用戶名和相應(yīng)的密碼登錄上網(wǎng)了。
上述方法不僅適用于支持802.1x的二層交換機(jī)直接連終端計(jì)算機(jī)實(shí)現(xiàn)本地認(rèn)證,還可以下連普通交換機(jī)甚至集線器實(shí)現(xiàn)802.1x認(rèn)證(Quidway s3026缺省情況下每個(gè)端口上可容納接入用戶數(shù)量的最大值為256),這就給一些舊的網(wǎng)絡(luò)改造提供了方便,較小的投入就能實(shí)現(xiàn)用戶的可靠認(rèn)證。
IEEE802.1x協(xié)議為二層協(xié)議,不需要到達(dá)三層,在二層交換機(jī)上實(shí)現(xiàn)802.1x認(rèn)證,正符合該協(xié)議的特點(diǎn);并且由于業(yè)務(wù)和認(rèn)證的分離,通過認(rèn)證后的報(bào)文是無(wú)需封裝的純數(shù)據(jù)包,直接通過可控端口進(jìn)行交換,大大提高了網(wǎng)絡(luò)的性能、可靠性和安全性。如果再結(jié)合MAC、端口和VLAN等綁定技術(shù)將使網(wǎng)絡(luò)具有極高的安全性。