2024年6月11日发(作者:)

基于IEEE 802.1x认证系统的组成

一个完整的基于IEEE 802.1x的认证系统由认证客户端、认证者和认证服务器3部分

(角色)组成。

认证客户端。认证客户端是最终用户所扮演的角色,一般是个人计算机。它请求对网

络服务的访问,并对认证者的请求报文进行应答。认证客户端必须运行符合IEEE 802.1x 客

户端标准的软件,目前最典型的就是Windows XP操作系统自带的IEEE802.1x客户端支

持。另外,一些网络设备制造商也开发了自己的IEEE 802.1x客户端软件。

认证者认证者一般为交换机等接入设备。该设备的职责是根据认证客户端当前的认证

状态控制其与网络的连接状态。扮演认证者角色的设备有两种类型的端口:受控端口

(controlled Port)和非受控端口(uncontrolled Port)。其中,连接在受控端口的用户

只有通过认证才能访问网络资源;而连接在非受控端口的用户无须经过认证便可以直接访

问网络资源。把用户连接在受控端口上,便可以实现对用户的控制;非受控端口主要是用

来连接认证服务器,以便保证服务器与交换机的正常通讯。

认证服务器认证服务器通常为RADIUS服务器。认证服务器在认证过程中与认证者配

合,为用户提供认证服务。认证服务器保存了用户名及密码,以及相应的授权信息,一台

认证服务器可以对多台认证者提供认证服务,这样就可以实现对用户的集中管理。认证服

务器还负责管理从认证者发来的审计数据。微软公司的Windows Server 2003操作系统

自带有RADIUS服务器组件。

实验拓扑图

安装RADIUS服务器:如果这台计算机是一台Windows Server 2003的独立服务器

(未升级成为域控制器,也未加入域),则可以利用SAM来管理用户账户信息;如果是一

台Windows Server 2003域控制器,则利用活动目录数据库来管理用户账户信息。虽然

活动目录数据库管理用户账户信息要比利用SAM来安全、稳定,但RADIUS服务器提供

的认证功能相同。为便于实验,下面以一台运行Windows Server 2003的独立服务器为

例进行介绍,该计算机的IP地址为172.16.2.254。

在"控制面板"中双击"添加或删除程序",在弹出的对话框中选择"添加/删除Windows

组件"

在弹出的"Windows组件向导"中选择"网络服务"组件,单击"详细信息"

勾选"Internet验证

服务"子组件,确定,然后单击"下一步"进行安装

在"控制面板"下的"管理工具"中打开"Internet验证服务"窗口

创建用户账户

RADIUS服务器安装好之后,需要为所有通过认证才能够访问网络的用户在RADIUS

服务器中创建账户。这样,当用户的计算机连接到启用了端口认证功能的交换机上的端口

上时,启用了IEEE 802.1x认证功能的客户端计算机需要用户输入正确的账户和密码后,

才能够访问网络中的资源。

在"控制面板"下的"管理工具"中打开"计算机管理",选择"本地用户和组"

为了方便管理,我们创建一个用户组"802.1x"专门用于管理需要经过IEEE 802.1x认

证的用户账户。鼠标右键单击"组",选择"新建组",输入组名后创建组。

在添加用户之前,必须要提前做的是,打开"控制面板"-"管理工具"下的"本地安全策略

",依次选择"账户策略"-"密码策略",启用"用可还原的加密来储存密码"策略项。

否则以后认证的时候将会出现以下错误提示。

接下来我们添加用户账户"",设置密码"123"。鼠标右键单击"用户",选

择"新用户",输入用户名和密码,创建用户。

将用户""加入到"802.1x"用户组中。鼠标右键单击用户"",

选择"属性"。在弹出的对话框中选择"隶属于",然后将其加入"802.1x"用户组中。

设置远程访问策略

在RADIUS服务器的”Internet验证服务”窗口中,需要为Cisco2950交换机以及通

过该交换机进行认证的用户设置远程访问策略。具体方法如下:

新建远程访问策略,鼠标右键单击"远程访问策略",选择"新建远程访问策略"

选择配置方式,这里我们使用向导模式

选择访问方法,以太网

选择授权方式,将之前添加的"802.1x"用户组加入许可列表

选择身份验证方法,"MD5-质询"

确认设置信息

只保留新建的访问策略,删掉其他的

创建RADIUS客户端

需要说明的是,这里要创建的RADIUS客户端,是指类似于图3中的交换机设备,在

实际应用中也可以是VPN服务器、无线AP等,而不是用户端的计算机。RADIUS服务器

只会接受由RADIUS客户端设备发过来的请求,为此需要在RADIUS服务器上来指定

RADIUS客户端。以图3的网络拓扑为例,具体步骤如下:

新建RADIUS客户端。鼠标右键单击"RADIUS客户端",选择"新建RADIUS客户端"

设置RADIUS客户端的名称和IP地址。客户端IP地址即交换机的管理IP地址,我们

这里是172.17.2.250,等会说明如何配置。

设置共享密钥和认证方式。认证方式选择"RADIUS Standard",密钥请记好,等会配

置交换机的时候这个密钥要相同。

显示已创建的RADIUS客户端

在交换机上启用认证机制

现在对支持IEEE 802.1x认证协议的交换机进行配置,使它能够接授用户端的认证请

求,并将请求转发给RADIUS服务器进行认证,最后将认证结果返回给用户端。在拓扑图

中:

RADIUS认证服务器的IP地址为172.17.2.254/24

交换机的管理IP地址为172.16.2.250/24

需要认证的计算机接在交换机的FastEthernet0/5端口上

因此我们实验时只对FastEthernet0/5端口进行认证,其他端口可不进行设置。具体

操作如下:

使用Console口登陆交换机,设置交换机的管理IP地址

Cisco2950>enable

Cisco2950#configure terminal

Cisco2950(config)#interface vlan 1 (配置二层交换机管理接口IP地址)

Cisco2950(config-if)#ip address 172.17.2.250 255.255.255.0

Cisco2950(config-if)#no shutdown

Cisco2950(config-if)#end

Cisco2950#wr

在交换机上启用AAA认证

Cisco2950#configure terminal

Cisco2950(config)#aaa new-model (启用AAA认证)

Cisco2950(config)#aaa authentication dot1x default group radius (启用dot1x

认证)

Cisco2950(config)#dot1x system-auth-control (启用全局dot1x认证)

指定RADIUS服务器的IP地址和交换机与RADIUS服务器之间的共享密钥

Cisco2950(config)#radius-server host 172.17.2.254 key (设置验证服

务器IP及密钥)

Cisco2950(config)#radius-server retransmit 3 (设置与RADIUS服务器尝试连接次

数为3次)

配置交换机的认证端口,可以使用interface range命令批量配置端口,这里我们只

对FastEthernet0/5启用IEEE 802.1x认证

Cisco2950(config)#interface fastEthernet 0/5

Cisco2950(config-if)#switchport mode access (设置端口模式为access)

Cisco2950(config-if)#dot1x port-control auto (设置802.1x认证模式为自动)

Cisco2950(config-if)#dot1x timeout quiet-period 10 (设置认证失败重试时间为

10秒)

Cisco2950(config-if)#dot1x timeout reauth-period 30 (设置认证失败重连时间为

30秒)

Cisco2950(config-if)#dot1x reauthentication (启用802.1x认证)

Cisco2950(config-if)#fontning-tree portfast (开启端口portfast特性)

Cisco2950(config-if)#end

Cisco2950#wr