802.1X身份验证协议最初使用于无线网络,后来才在普通交换机和路由器等网络设备上使用。它可基于端口来对用户身份进行认证,即当用户的数据流量企图通过配置过802.1X协议的端口时,必须进行身份的验证,合法则允许其访问网络。这样的做的好处就是可以对内网的用户进行认证,并且简化配置,在一定的程度上可以取代Windows 的AD。
配置802.1X身份验证协议,首先得全局启用AAA认证,这个和在网络边界上使用AAA认证没有太多的区别,只不过认证的协议是802.1X;其次则需要在相应的接口上启用802.1X身份验证。(建议在所有的端口上启用802.1X身份验证,并且使用radius服务器来管理用户名和密码)
身份认证的几种状态:
force-authorized(开放端口,无需认证,默认状态)
force-unauthorized(忽略所有端口认证请求)
auto(自动,缺省不让数据流通过,除了EAPOL,认证通过后,授权其数据流可进行访问)。
配置命令:确认默认状态是哪种(Auto?)
定义认证方法列表:
Switch(config)#aaa authentication dot1x {default} method1 [method2...]
启用认证:
Switch(config)#dot1x system-auth-control
进入接口:
Switch(config)#interface type slot/port
应用到接口,设置状态:
Switch(config-if)#dot1x port-control auto
下面的配置AAA认证所使用的为本地的用户名和密码。
3550-1#conf t
3550-1(config)#aaa new-model /启用AAA认证。
3550-1(config)#aaa authentication dot1x default local /全局启用802.1X协议认证,并使用本地用户名与密码。
3550-1(config)#int range f0/1 -24
3550-1(config-if-range)#dot1x port-control auto /在所有的接口上启用802.1X身份验证
802.1x认证基本实验
实验拓扑及相关ip设置:
本实验要求PC机通过802.1x认证上网,通过认证后自动获取地址,并自动划分入vlan10中。
本实验模拟器用GNS3,虚拟机用Vmware。
在Vmware中安装windows xp 和windows Server 2003,在windows Server 2003中安装ACS服务器。
1.虚拟环境的搭建:
虚拟机安装完后会在物理机中添加Vmnet1 和Vmnet8两块网卡,Vmnet8是做NAT用的我们这里不用它,可以把它禁用掉,然后我们再添加一块网卡。
设置步骤:(我的Vmware是7.1版本的,勤劳的童鞋可以自己去下载汉化包。)
添加Vmnet2,这里我们把“Use local DHCP……”的勾去掉,等下我们用交换机做DHCP,
添加完后会在我们的电脑里多出一块Vmnet2的网卡,添加完后要重启电脑!
接下来为两台虚拟机选择网卡,xp选择vmnet1 ,win2003选择vmnet2。
选择VM—setting:
绑定好网卡后设置ip:
VMware xp 中的网卡设为自动获取ip,vmnet1 随便给它个ip吧。
VMware win 2003 和vmnet2 设置同一网段的ip
实验中我们真正要用到的地址是Vmware 虚拟主机中的地址,配置vmnet地址是为了桥接。配完ip后在Vmware 虚拟主机中去ping vmnet的地址能通就行了。
接下来在GNS3中搭建拓扑:
在GNS3中桥接网卡其实很简单,只要从左边的设备栏里面拉一个“Cloud”就行了,想要我图中的效果只要改变下云的图标就行了,
change symbol 改变图标,就是我图中那样了。
在PC上点右键,选择配置:
Radius_Server做法是一样。我在windows 7中做这个实验发现桥接后不能通信,所以建议用xp做此实验。
到这虚拟环境就搭好了,哈哈,至于虚拟机、在虚拟机中装系统、ACS的我就不说了。
2.配置
先来配置服务器端:
创建一个test用户:
创建密码:
将test用户划分进group3,之后点提交:
接下来设置group 3:
拉到最下面:
三个选项分别是对Group3的用户进行VLAN的设置、协议类型为802.1x、Group用户认证成功后将属于VLAN 10.
点击“ System Configurateion ”, 点击“ Global
Authentication Setup”,将LEAP 的“Allow LEAP (For Aironet only)的勾去掉。
配置客户端:
.
.
好了,服务器端就配好了。
配置交换机:
SW(config)#int f1/0
SW(config-if)#switchport mode access
SW(config-if)#spanning-tree portfast
SW(config)#int f1/1
SW(config-if)#switchport mode access
SW(config-if)#spanning-tree portfast
SW(config)#int vlan 1
SW(config-if)# ip address 192.168.2.3 255.255.255.0
SW(config-if)#no shutdown
SW(config)#int vlan 10
SW(config-if)# ip address 192.168.10.1 255.255.255.0
SW(config-if)#no shutdown
SW(config)#aaa new-model //启用AAA
SW(config)#radius-server host 192.168.2.2 key cisco //配置服务器地址和密码
SW(config)# aaa authentication login noacs line none //配置认证保护
SW(config)#aaa authentication dot1x default group radius //设置使用Radius 服务器进行配置DOT1X
SW(config)#aaa authorization network default group radius //设置使用Radius服务器进行授权
SW(config)#dot1x system-auth-control //启用DOT1X 的认证控制
SW(config-if)#int f1/0
SW(config-if)#dot1x port-control auto//在接口上启用认证
SW(config-if)#dot1x reauthentication// 认证不成功重新认证
在console 0下调用noacs列表,让console口不需去服务器上认证:
再配置个DHCP:
在交换机上测试下服务器:
测试成功。
接下来在Vmware XP 中设置:
本地连接-属性,选择验证:
禁用vmware xp的本地连接,再启用:
可以看到提提示输入用户名和密码:
输入我们创建的test用户和密码,认证成功后会获取一个地址:
在交换机上查看VLAN可以看到f1/0自动划入VLAN10:
实验到此结束!
=====================================================================================
由于某些网络环境的网络接入验证的要求,需要启用IEEE 802.1x这样的身份验证协议,这就需要本地连接中“属性”里“验证”或“身份验证”选项卡来设置。
然而,最近为了一个预测试,我惊奇的发现自己的本地连接“属性”里没有“验证”或“身份验证”选项卡。于是搜索了一下,这是网上一般的解决方法:
1.右键单击“我的电脑”,选择“管理”;
2.选择左侧列表中的“服务”;
3.在右边找到“Wireless Zero Configuration”服务,启动即可。
(前两步的目的就是找到“服务”,第3点才是关键。——Wilbert注)
其实这个方法是可以解决某些朋友的问题,但依然有一批朋友试用无效。就比如我,即使“Wireless Zero Configuration”服务开启,还是没有“验证”选项卡。
经过一番仔细研究,突破口就在“服务”里,请大家找找自己的服务里还有没有“Wired AutoConfig”服务,有的话那么开启它就可以解决问题了。