简介:
802.1x协议起源于802.11协议,后者是标准的无线局域网协议,802.1x协议的主要目的是为了解决无线局域网用户的接入认证问题。现在已经开始被应用于一般的有线LAN的接入。为了对端口加以控制,以实现用户级的接入控制。802.1x就是IEEE为了解决基于端口的接入控制(Port-Based Access Control)而定义的一个标准。
1、802.1X首先是一个认证协议,是一种对用户进行认证的方法和策略。
2、802.1X是基于端口的认证策略(这里的端口可以是一个实实在在的物理端口也可以是一个就像VLAN一样的逻辑端口,对于无线局域网来说个“端口”就是一条信道)
3、802.1X的认证的最终目的就是确定一个端口是否可用。对于一个端口,如果认证成功那么就“打开”这个端口,允许文所有的报文通过;如果认证不成功就使这个端口保持“关闭”,此时只允许802.1X的认证报文EAPOL(Extensible Authentication Protocol over LAN)通过。
802.1x 的体系结构
使用802.1x的系统为典型的Client/Server 体系结构,包括三个实体:Supplicant
System(客户端)、Authenticator System (设备端)以及Authentication Server
System(认证服务器),如下图所示。
(1)客户端是位于局域网段一端的一个实体,由连接到该链接另一端的设备端对其进行认证。客户端一般为一个用户终端设备,用户通过启动客户端软件发起802.1x认证。客户端软件必须支持EAPOL (EAP over LANs,局域网上的EAP)协议。
(2)设备端是位于局域网段一端的一个实体,用于对连接到该链接另一端的实体进行认证。设备端通常为支持802.1x协议的网络设备它为客户端提供接入局域网的端口,该端口可以是物理端口,也可以是逻辑端口。
(3)认证服务器是为设备端提供认证服务的实体。认证服务器用于实现用户的认证、授权和计费,通常为 RADIUS 服务器。该服务器可以存储用户的相关信息,例如用户的账号、密码以及用户所属的 VLAN、优先级、用户的访问控制列表等。
802.1x 的工作机制
IEEE 802.1x 认证系统利用EAP(Extensible Authentication Protocol ,可扩展认证
协议)协议,作为在客户端和认证服务器之间交换认证信息的手段。
(1)在客户端PAE 与设备端PAE 之间,EAP 协议报文使用 EAPOL封装格式,直接承载于LAN 环境中。
(2)在设备端PAE 与RADIUS 服务器之间,EAP协议报文可以使用 EAPOR 封装格式(EAP over RADIUS),承载于RADIUS 协议中;也可以由设备端PAE进行终结,而在设备端PAE与RADIUS 服务器之间传送PAP协议报文或CHAP 协议报文。
(3)当用户通过认证后,认证服务器会把用户的相关信息传递给设备端,设备端PAE根据RADIUS 服务器的指示(Accept或Reject )决定受控端口的授权非授权状态。
下面我呢介绍一个802.1x案例:
802.1x 提供了一个用户身份认证的实现方案,为了实现此方案,除了配置802.1x
相关命令外,还需要在交换机上配置AAA方案,选择使用 RADIUS 或本地认证方
案,以配合802.1x 完成用户身份认证:
步骤说明
(1)802.1x 用户通过域名和交换机上配置的ISP 域相关联。
(2)配置ISP 域使用的 AAA 方案,包括本地认证方案和RADIUS 方案。
(3)如果采用RADIUS 方案,通过远端的RADIUS 服务器进行认证,则需要在RADIUS 服务器上配置相应的用户名和密码,然后在交换机上进行RADIUS客户端的相关设置。
(4)如果是需要本地认证,则需要在交换机上手动添加认证的用户名和密码,当用户使用和交换机中记录相同的用户名和密码,启动802.1x客户端软件进行认证时,就可以通过认证。
(5)也可以配置交换机先采用RADIUS 方案,通过RADIUS 服务器进行认证,如
果RADIUS 服务器无效,则使用本地认证。
[Quidway]dot1x 在全局下开启dot1x
802.1X is enabled globally.
[Quidway]interface Ethernet 1/0/10 在接口下开启dot1x,必须在接口下开启才有用
[Quidway-Ethernet1/0/10]dot1x
802.1X is enabled on port Ethernet1/0/10.
[Quidway]radius scheme radius10 创建RADIUS 方案radius1 并进入其视图
[Quidway-radius-radius10]primary authentication 192.168.30.100 设置验证的服务器地址
[Quidway-radius-radius10]accounting optional 审计这里我们用不上,我们设置成审计可选
[Quidway-radius-radius10]server-type standard 设置验证的服务器类型standard(标准的)
[Quidway-radius-radius10]key authentication 123456 RADIUS服务器验证密钥,和服务器一致
[Quidway-radius-radius10]user-name-format without-domain 不发送域名
[Quidway]domain 111.com 新建一个域111.com
New Domain added.
[Quidway-isp-111.com]radius-scheme radius10 在这个域里面引用radius1的方案
[Quidway-isp-111.com]accounting optional 设置一下来自于域的设计选项,我们选择可选
我们想实现控制一个域里面的用户数量
[Quidway-isp-111.com]access-limit enable 10 限制域的用户数量为10
下面我们要设置验证服务器了
既然我们做了集中的身份验证,那需要在服务器上有用户的数据库
我们来新建一个用户
帐号qaz
密码654321
下面来创建一个RADIUS客户端 这里我设置的是交换机,共享密钥设置为123456
好了 配置已经完成了,下面我们来测试一下
现在PC之间的访问肯定是不会通信的,因为没通过dot1x认证
我们用华三的802.1X客户端连接
我们来看下Windows的日志
下图可以看到已经允许qaz用户的访问
至此我们的dot1x验证已经做好了
为了让用户获得IP地址 这里我们可以在配置一台DHCP,DHCP服务器已经搭建好了
DHCP服务器地址:192.168.20.254
地址范围:192.168.20.5-----192.168.20.253
用Linux搭建的