实战802.1x端口认证

一.802.1x端口认证的原理:
IEEE 802.1x标准定义了WLAN用户接入的认证过程;如今802.1x标准已经用于LAN,来实现基于交换机端口的认证过程.802.1x标准是一种基于基于客户到服务器的访问控制和认证协议,防止用户在未经认证的状况下接入到LAN.认证服务器对交换机每一个端口所连的客户机进行认证.当客户机被认证时,IEEE 801.1x标准只容许EAPOL,CDP和STP流量穿越该端口到达客户机;认证经过后才容许常规流量穿越该端口.

IEEE 802.1x标准里的设备角色以下图:
1.客户机:向LAN发起访问请求的普通工做站,必须装有和802.1x兼容的软件(好比Windows XP).
2.认证服务器:实行认证功能,并响应给交换机.交换机充当认证代理,所以认证服务器对客户机来讲是透明的.认证服务器目前只支持RADIUS和EAP扩展.
3.交换机:能够是普通的接入层交换机或无线AP.根据对用户的认证状态来决定用户的物理访问.交换机充当客户机与认证服务器的认证代理.客户机和交换机负责对EAP帧进行封装和解封装.
当交换机收到EAPOL帧后,把它中继给认证服务器,将原先的以太网帧头部信息给去掉,将EAP帧从新封装成RADIUS支持的格式,在封装过程当中,EAP帧不会被修改;当认证服务器返回EAP帧给交换机时,交换机去掉头部信息,将EAP帧从新封装以太网头部信息并转发给客户机.

802.1x认证流程图:
交换机启用802.1x端口认证后,端口状态首先处于未受权(unauthorized)状态.在这种状态下,只要该端口未配置成语音VLAN端口,那么只容许EAPOL,CDP和STP流量;当客户机认证成功后,端口将转变成受权(authorized)状态,容许全部的常规流量.若是端口被配置成了语音VLAN端口,在认证成功前还容许VoIP流量.交换机下能够手动定义的3种端口状态:
1.强制受权(force-authorized):禁用802.1x认证,在未经认证强制将端口转换成受权状态.这也是交换机的默认配置.
2.强制未受权(force-unauthorized):将端口处于未受权状态,忽略客户机发起的一切认证尝试请求,而且交换机的该端口将不能向客户机提供认证服务.
3.自动(auto):启用802.1x认证,初始化端口处于未受权状态,按照以前提到的认证流程进行认证;认证成功后,端口状态转换为受权状态.
还能够将启用了802.1x的端口指定为单一主机(single-host)模式和多主机(multiple-hosts)模式.区别在于前者只能对其中一个客户机进行认证;然后者只须要认证其中一台客户机,容许其余客户机在认证成功后访问网络资源.下图的AP仍然是作为客户机:
RADIUS服务器维系着一个用户名到VLAN映射信息的数据库,基于客户机用户名的分配VLAN:
1.若是RADIUS服务器上没有提供VLAN信息,或者802.1x认证并未启用,那么端口所属的VLAN是由你在划分VLAN时手动指定的.
2.若是启用了802.1x认证,可是RADIUS服务器上的VLAN信息无效(VLAN信息制定错误),端口将返回到未受权状态,而且仍将处于你在划分VLAN时手动指定的那个VLAN.
3.若是启用了802.1x认证,RADIUS服务器上的VLAN信息也有效,认证成功后,端口将处于特定VLAN(根据用户名到VLAN的映射信息决定).
4.若是端口启用了多主机模式,当第一个主机认证成功后,全部主机将处于相同VLAN(根据用户名到VLAN的映射信息决定).
5.若是端口同时启用了802.1x认证和端口安全(port security)特性,端口将处于特定VLAN(根据用户名到VLAN的映射信息决定).
用户名到VLAN映射这一特性不支持trunk端口和动态VLAN端口.

能够为启用了802.1x认证的端口定义客户(guest)VLAN,在客户VLAN里只能作些有限的事情,好比这些客户机一般是些不支持802.1x(如Windows 98)的客户机.客户VLAN支持单一主机和多主机模式.能够把除了语音VLAN,RSPAN VLAN以及私有VLAN之外的任意VLAN指定为客户VLAN.客户VLAN只支持接入端口,不支持trunk端口和可路由端口.

除了客户VLAN,还能够定义受限(restricted)VLAN,该VLAN是分配给没法访问客户VLAN的服务受限的客户机,一般是些支持802.1x,可是认证失败的客户机.若是没有这一特性,当客户机在屡次认证失败后,STP将把该端口堵塞;而启用这一特性后,交换机在3次认证失败(默认状况)以后,将端口定义到受限VLAN里.能够把除了语音VLAN,RSPAN VLAN以及私有VLAN之外的任意VLAN指定为客户VLAN.受限VLAN只支持单一主机模式和层2端口.

在某些CISCO IOS版本,好比CATALYST 3560系列CISCO IOS Release 12.2(25)SED及其后续版本,若是交换机没法到达RADIUS服务器,那么客户机也将没法被认证.这种状况下能够采用一种叫作临界认证(critical authentication)的方法(即inaccessible authentication bypass),将客户机链接到临界(critical)端口来访问网络资源.当启用该特性后,交换机将检查认证服务器的状态,若是服务器可用,那么交换机将可以对客户机认证;若是服务器不可用,交换机将受权客户机访问网络的权限,并将端口设置为临界认证(critical-authentication)状态.该特性依赖于:
1.若是在认证过程当中,RADIUS服务器忽然不可用,那么交换机把端口设置为临界认证状态直到下一次的认证尝试的开始.
2.若是端口处于未受权状态,当客户机链接到临界端口时RADIUS服务器不可用,那么端口将进入临界认证状态,并处于用户手动划分VLAN时所指定的那个VLAN.
3.若是端口处于受权状态,当客户机链接到临界端口,进行重认证的时候RADIUS服务器不可用,端口将进入临界认证状态,端口被定义到以前RADIUS服务器所指定的那个VLAN里.

能够基于MAC地址对客户机进行认证(MAC authentication bypass特性),好比在链接到打印机的端口上启用802.1x认证.甚至还能够将端口安全特性和802.1x认证结合使用.

二.配置802.1x端口认证:
配置实例:
!
aaa new-model                                                      /---启用AAA---/
aaa authentication dot1x default group radius           /---建立802.1x端口认证方式列表---/
dot1x system-auth-control                                      /---为交换机全局启用802.1x端口认证---/               
aaa authorization network default group radius         /---配置受权,好比VLAN的分配---/
radius-server host 1.1.1.1                                       /---定义和RADIUS服务器地址---/
radius-server key 91lab                                          /---定义和RADIUS服务器通讯的密码---/
!
interface range fa0/1 – 24
switchport mode access                                          /---若是指定了RADIUS服务器,指定端口为接入端口---/
dot1x port-control auto                                           /---在端口启用802.1x端口认证---/
dot1x host-mode multi-host                                    /---定义客户机机模式---/
dot1x guest-vlan 2                                                 /---定义客户VLAN---/
dot1x auth-fail vlan 2                                             /---定义受限VLAN---/
!

三.实战802.1x端口认证:
玩转802.1x端口认证,如下是设备需求:
1.装有英文版WIN2K Server(必须打SP4,IE6.0,还要装JAVA虚拟机)的PC一台作为认证服务器,其实ACS 4.0的用中文版的WIN2K Server也是能够的,我用的是VMWare.而后安装CISCO Secure ACS软件,我用的是ACS 4.0.PC配置越高越好.
2.CATALYST 3560交换机一台,作为认证代理.别的型号也行,只要支持802.1x便可.
3.客户机系统为Windows XP,再安装ACS的客户软件(CISCO_SSC-XP2K-4.msi).

拓扑以下:
服务器端:
1.先新建个用户:
2.配置AAA服务端(感谢大王同窗友情提供他的小黑):

3.配置AAA客户端(其实就是802.1x的认证代理,即CATALYST 3560):

802.1x认证代理(CATALYST 3560)的配置以下:
!
aaa new-model
aaa authentication dot1x default group radius
aaa authorization network default group radius
!
dot1x system-auth-control
!
interface FastEthernet0/1
switchport mode access
dot1x port-control auto
!
interface Vlan1
ip address 192.168.0.3 255.255.255.0            
!
radius-server host 192.168.0.167
radius-server key 123456
!

验证以下(认证经过后端口状态会转换为AUTHORIZED):


客户机:

采用EAP MD5认证:


 
开始自动链接:
提示用户名以及密码:



认证成功:
接下来就能够访问网络资源了,All is done!

转载请保留做者信息:
做者:红头发(aka CCIE#15101/JNCIP Candidate)
出处:[url]http://www.91lab.com[/url]
 原文地址 [url]http://www.91lab.com:81/bbs/viewthread.php?tid=14683&extra=page%3D1[/url]
相关文章
相关标签/搜索