802.1X认证实验

802.1X认证+DHCP+ACS Server+Windows

802.1x简介:

802.1x协议起源于802.11协议,802.11是IEEE的无线局域网协议,制订802.1x协议的初衷是为了解决无线局域网用户的接入认证问题。IEEE802 LAN协议定义的局域网并不提供接入认证,只要用户能接入局域网控制设备(如LAN Switch),就可以访问局域网中的设备或资源。这在早期企业网有线LAN应用环境下并不存在明显的安全隐患。随着移动办公及驻地网运营等应用的大规模发展,服务提供者需要对用户的接入进行控制和配置。尤其是WLAN的应用和LAN接入在电信网上大规模开展,有必要对端口加以控制以实现用户级的接入控制,802.lx就是IEEE为了解决基于端口的接入控制(Port-Based Network Access Contro1)而定义的一个标准。二、802.1x认证体系802.1x是一种基于端口的认证协议,是一种对用户进行认证的方法和策略。端口可以是一个物理端口,也可以是一个逻辑端口(如VLAN)。对于无线局域网来说,一个端口就是一个信道。802.1x认证的最终目的就是确定一个端口是否可用。对于一个端口,如果认证成功那么就“打开”这个端口,允许所有的报文通过;如果认证不成功就使这个端口保持“关闭”,即只允许802.1x的认证协议报文通过。实验所需要的用到设备:

认证设备:cisco 3550 交换机一台

认证服务器:Cisco ACS 4.0  windows

认证客户端环境:Windows 2003

实验拓扑:

实验拓扑简单描述:

在cisco 3550上配置802.1X认证,认证请求通过AAA server,AAA server IP地址为:192.168.10.100,认证客户端为一台windows xp ,当接入到3550交换机上实施802.1X认证,只有认证通过之后方可以进入网络,获得IP地址。

实验目的:通过本实验,你可以掌握在cisco 交换机如何来配置AAA(认证,授权,授权),以及如何配置802.1X,掌握 cisco ACS的调试,以及如何在windows xp 启用认证,如何在cisco 三层交换机上配置DHCP等。。好了,下面动手干活。。

实验过程:

Cisco 3550配置

由于cisco 交换机默认生成树都已经运行,开启生成树的目的为了防止网络发生环路,但是根据portfast的特性,如果交换机的某个接口连接的是路由器或者交换机,就可以启用portfast来加快接口的相应时间,跳过生成树的收敛。并且如果要在接口启用802.1x认证,接口要是access模式

*********************************配置过程**********************************

sw3550(config)#int f0/1

sw3550(config-if)#switchport mode access

//配置f0/1接口永久为接入模式

sw3550(config-if)#spanning-tree portfast

//启用portfast特性(注意下面的警告提示哦)

%Warning: portfast should only be enabled on ports connected to a single

host. Connecting hubs, concentrators, switches, bridges, etc... to this

interface when portfast is enabled, can cause temporary bridging loops.

Use with CAUTION

%Portfast has been configured on FastEthernet0/2 but will only

have effect when the interface is in a non-trunking mode.

sw3550(config)#int f0/2

sw3550(config-if)#switchport mode access

sw3550(config-if)#spanning-tree portfast

%Warning: portfast should only be enabled on ports connected to a single

host. Connecting hubs, concentrators, switches, bridges, etc... to this

interface when portfast is enabled, can cause temporary bridging loops.

Use with CAUTION

%Portfast has been configured on FastEthernet0/2 but will only

have effect when the interface is in a non-trunking mode.

sw3550(config-if)#exit

sw3550(config)#int vlan 1

sw3550(config-if)#ip add 192.168.10.1 255.255.255.0

//默认的所有的交换机上的所有接口都在vlan 1,给VLAN1配置IP地址,目的是与AAA服务器,192.168.10.100相互ping通,

sw3550(config-if)#no shutdown

00:05:08: %LINK-3-UPDOWN: Interface Vlan1, changed state to up

00:05:09: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, changed state to up

sw3550(config)#aaa new-model

//全局开启AAA,(AAA默认是关闭的)

sw3550(config)#aaa authentication login default group radius local

//配置登陆验证方式优先用radius,当radius不能提供认证服务,则采用本地认证,认证调用的名称按默认名称default

sw3550(config)#radius-server host 192.168.10.100 key server03

//指定radius Server的IP地址为192.168.10.100,Radius Server与交换机认证的密钥为server03(这里的server03,是我安装ACS 4.0,在安装过程最后一步定义的密码)

sw3550(config)#aaa authentication dot1x default group radius local

//802.1x认证由radius 服务器来完成,当radius不能认证时,由本地认证,这样配置的目的为了备份。如果说radius server服务器“挂了“,还可以用本地认证。

sw3550(config)#aaa authorization network default group radius local

//当认证通过之后,授权用户能接入网络,授权也由radius来完成

sw3550(config)#dot1x system-auth-control

全局下开启dot.1x认证功能,然后还需要到具体某个接口下制定认证的方式

sw3550(config-if)#int f0/2

sw3550(config-if)#switchport mode access

sw3550(config-if)#dot1x port-control auto

//当接口下发现有设备接入时,自动进行认证

AUTO是常用的方式,正常的通过认证和授权过程

sw3550(config-if)#dot1x reauthentication  打不出来

//当认证失败,重新认证,直到认证通过

这里还有一些可选的配置,分享给大家,大家在工程中,可以根据自己的实际情况来调整配置,我的这次试验正常的配置命令都是用黑色来表示。请大家注意

可选配置:

Switch(config)#interface fa0/3

Switch(config-if)#dot1x reauthentication

Switch(config-if)#dot1x timeout reauth-period 7200

2小时后重新认证

Switch#dot1x re-authenticate interface fa0/3

现在重新认证,注意:如果会话已经建立,此方式不断开会话

Switch#dot1x initialize interface fa0/3

初始化认证,此时断开会话

Switch(config)#interface fa0/3

Switch(config-if)#dot1x timeout quiet-period 45

45秒之后才能发起下一次认证请求

Switch(config)#interface fa0/3

Switch(config-if)#dot1x timeout tx-period 90 默认是30S

Switch(config-if)#dot1x max-req count 4

客户端需要输入认证信息,通过该端口应答AAA服务器,如果交换机没有收到用户的这个信息,交换机发给客户端的重传信息,30S发一次,共4次

Switch#configure terminal

Switch(config)#interface fastethernet0/3

Switch(config-if)#dot1x port-control auto

Switch(config-if)#dot1x host-mode multi-host

默认是一个主机,当使用多个主机模式,必须使用AUTO方式授权,当一个主机成功授权,其他主机都可以访问网络;

当授权失败,例如重认证失败或LOG OFF,所有主机都不可以使用该端口

Switch#configure terminal

Switch(config)#dot1x guest-vlan supplicant

Switch(config)#interface fa0/3

Switch(config-if)#dot1x guest-vlan 2

未得到授权的进入VLAN2,提供了灵活性

注意:1、VLAN2必须是在本交换机激活的,计划分配给游客使用;2、VLAN2信息不会被VTP传递出去

Switch(config)#interface fa0/3

Switch(config-if)#dot1x default

回到默认设置

在cisco的三层交换机上可以配置DHCP,通过DHCP功能,可以给客户端分配IP地址,子网掩码,网关,DNS,域名,租期,wins等

sw3550(config)#ip dhcp pool mu

//定义地址池的名称为DHCP,这里可以随便定义

sw3550(dhcp-config)#network 192.168.10.0 /24

//定义要分配给客户端的网段和掩码

sw3550(dhcp-config)#default-router 192.168.10.1

//定义分配给客户端的网关

sw3550(dhcp-config)#dns-server 202.102.224.68

//定义DNS地址,可以设置多个DNS

sw3550(dhcp-config)#doamin-name[url]www.cisco.com[/url]

//定义域名为[url]www.cisco.com[/url]

sw3550(dhcp-config)#lease 2

//定义租期为2天

sw3550(config)#ip dhcp excluded-address 192.168.10.1 192.168.10.150

//定义不通过DHCP分配的IP地址,也就是排除的地址范围192.168.10.1 192.168.10.150

例如说:192.168.10.1

这个地址是我的网关,如果这个地址作为IP 地址分配给客户端,就会造成IP 地址冲突,影响网络的正常通信。所以说做排除是非常有必要的。

sw3550(config)#exit

00:42:57: %SYS-5-CONFIG_I: Configured from console by console

以上完成之后,交换机上所需的配置命令都已完成,下面就到AAA服务器来配置

1,添加认证的用户和密码,左侧面板-单击-User Setup-admin-Add/Edit

单击Add/Edit,在随后的窗口设置admin的密码,我设置用户和密码都相同

2,添加AAA认证Client信息,单击-Network Configuration你可以AAA Client信息和AAA Servers信息

在AAA Clients这栏下面,单击Add Entry

AAA Client Hostname 填写当前交换机的名称

AAA Client IP Address 为当前VLAN1的IP地址,根据你的实际情况,你想对那个VLAN用户采取802.1X认证,就填写那个VLAN的IP Address

KEY 为交换机和AAA 服务器的认证的密钥,这里填写的KEY应该要和在交换机配置的 KEY值相同

Authenticate Using 这里选择认证的协议,我选择的Radius。认证的协议也要和在交换机配置的认证方式相同,否则认证失败。填写玩这些信息之后,单击确认即可

R1的名字改为sw重新添加

3,Guoup Setup,配置组的授权,授权用户认证通过之后,能接入网络

在Rdius IETF配置栏目下,找到如下图

注意:064设置对VLAN下面的用户提供认证,065设置认证方式为802.1x,081设置为VLAN ID,这里设置为VLAN 1。设置完成之后,单击Submit+Restart

***************到此AAA服务器设置完成了***********

在交换机上测试定义的用户和密码能否完成认证

sw3550#test aaa group radius admin admin new-code

User successfully authenticated

如下是:认证客户端windows xp 配置

默认由于windows 操作系统并没有启用802.1x认证这个服务,所以第一步,先打开系统服务-开启8021.x认证功能

开始-运行-services.msc

双击Wired AutOConfig,启动类型:自动

网络邻居-本地连接

这里更改默认认证方式,EAP支持无线认证,这里我们应该选择MD5质询,如图

单击-MD5-质询-确定启用了802.1x认证功能

本地连接已经试图去尝试认证了,单击右下角通知区域提示,输入认证的用户名和密码

按图提示,必须输入用户名和密码,方可认证通过,认证通过之后才可以从交换机上获得IP地址等

输入在AAA服务器上定义的用户名和密码admin。如果是你工作组环境就无所谓域的概念,登录到域这项不填,然后单击确定开始进入802.1X认证会话阶段。如下图正在验证身份

802.1X认证全过程,

整个802.1x的认证过程可以描述如下

(1) 客户端向接入设备发送一个EAPoL-Start报文,开始802.1x认证接入; (2) 接入设备向客户端发送EAP-Request/Identity报文,要求客户端将用户名送上来;

(3) 客户端回应一个EAP-Response/Identity给接入设备的请求,其中包括用户名;

(4) 接入设备将EAP-Response/Identity报文封装到RADIUS Access-Request报文中,发送给认证服务器;

(5) 认证服务器产生一个Challenge,通过接入设备将RADIUS Access-Challenge报文发送给客户端,其中包含有EAP-Request/MD5-Challenge;

(6) 接入设备通过EAP-Request/MD5-Challenge发送给客户端,要求客户端进行认证

(7) 客户端收到EAP-Request/MD5-Challenge报文后,将密码和Challenge做MD5算法后的Challenged-Pass-word,在EAP-Response/MD5-Challenge回应给接入设备

(8) 接入设备将Challenge,Challenged Password和用户名一起送到RADIUS服务器,由RADIUS服务器进行认证

(9)RADIUS服务器根据用户信息,做MD5算法,判断用户是否合法,然后回应认证成功/失败报文到接入设备。如果成功,携带协商参数,以及用户的相关业务属性给用户授权。如果认证失败,则流程到此结束;

(10) 如果认证通过,用户通过标准的DHCP协议 (可以是DHCP Relay) ,通过接入设备获取规划的IP地址;

(11) 如果认证通过,接入设备发起计费开始请求给RADIUS用户认证服务器;

(12)RADIUS用户认证服务器回应计费开始请求报文。用户上线完毕

你可能感兴趣的:(802.1X认证实验)