实验环境:
1、 服务器一台运行VMWare :
a) Windows 2003 Server EnterpriseEdition做DC
b) Windows 2003 Server EnterpriseEdition做ACS和CA
2、 PC客户端Windows XP (802.1x Client)
3、 Switch 3560 POE 一台(c3560-ipbase-mz.122-25.SEB4.bin)
4、 Cisco Secure Access ControlServer 4.1 (90天测试版)
实验拓扑: 
实验部分:
1、 DC的安装与配置
2、 ACS的安装与配置
3、 CA的安装与配置
4、 Switch的配置
5、 客户端的配置
6、 测试效果
第一部分:DC的安装与配置过程:1、安装DC,在运行下输入dcpromo,会弹出AD的安装向导:
具体的安装过程,我在微软的安装教程下截的屏:DNS全名中我输入的是NAC.com.所以以后出现的contoso.com将以nac.com代替

我在安装的过程中没有出现IP地址,所以不用理他了。

2、安装完DC后,运行à管理工具àActive Directory用户和计算机,将会出现以下界面
把aaa的隶属关系增加多一个Domain Admins域管理员,并设置主要组。方便以后的实验

3、将另外一台服务器即ACS&CA加入到NAC这个域当中(必要条件),此时需要输入域管理员帐户aaa
ACS的安装与配置过程:
感谢ZhaNKO提供的ACS安装过程,省了我很多功夫,呵呵!ACS4.1的安装过程与ACS3.3的过程完全相同。
点击完成安装.
2、配置部分安装完后会自动运行ACS,在桌面会也会自动生成一个ACS Admin的图标,在下面的描述过程中,着重于后面与AD集成的配置,对于ACS的使用介绍在这里就不多说了,如果需要,可参考ZhaNKO那份详细的ACS使用手册哈哈,写得非常好!

安装完后,点击NetworkConfiguration页面,按照拓扑的结构指定交换机(AAA Client)、ACS(AAA Server),ACS与交换机的共享密码为cisco、然后选择RADIUS(IETF)认证、log Update/Watchdog Packets fromthis AAA Client

ACS的地址、密码cisco、服务类型RADUS
Proxy中把ACS从AAA ServeràForward To中
在建立完后会提示需要重新启动ACS服务,在System Configuration页面第一个Service Control

下方有个Restart服务,重起即可.(以后在配置中会多次提示重起服务,按照此方式重起即可)

重起完服务后,Proxy缺省设置,最后建立好后如下图显示:
3、 与AD集成进入ExternalUser Databases页面,在这页面下有3个选项:a) Unknown User Policyb) Database Group Mappingsc) Database Configuration
第1步:Unknown User Policy这里的作用是当ACS检测到非本地用户的时候,可以去找外部的数据库,所以这也是为什么ACS要加入域的原因,把Windows Database移动到右边然后提交
第2步:Database Configuration,选择Windows Database。
选择配置
如下图设置:
最后提交。
第3步:Group Mapping,把AD里面的组与ACS里面的组做一个映射,作用是通过AD里面的用户做认证,ACS的组策略做授权。
选择新建
选择NAC这个域后提交
选择NAC配置这个域
选择add mapping
按实际需要把域的成员添加进来,这里我选择的Users、Domain Admins、Domain Users。然后ACS group中选择ACS的对应组(整个实验过程我只用了缺省的组),然后提交!
到此为止,ACS已经可以和AD集成起来了。
第三部分:CA的安装与配置过程:1、CA的安装在添加/删除windows组件中选中证书服务,然后下一步开始安装。安装的过程这里就不详细说了,全部选用缺省的配置,有提示筐出来就选择是就可以了。
安装完成后,在管理工具中打开证书颁发机构。
2、ACS申请证书这里也是很重要的一个环节,因为后面802.1x客户端需要使用
PEAP来实现做验证类型。文档上说在ACS的验证中如果使用MD5 就不能实现与AD集成,使用PEAP认证的话,需要通过证书服务来完成,所以在ACS上需要申请一个证书。这也是为什么ACS在与域集成的时候,需要CA的原因了。
选择创建并向此CA提交一个申请:

然后的信息就随便填了
密钥选项中需要注意的地方是需要把标记密钥为可导出和将证书保存在本地计算机储存中这两个选项勾上!

提交,选择是
点安装此证书
选择是
证书安装成功
这时在证书服务器à颁发的证书页面中可以看到刚刚ACS申请的证书
3、ACS上配置证书回到ACS上,在System Configuration页面中选择ACS Certificate Setup

然后选择InstallACS Certificate
选择Usecertificate from storage,然后输入刚刚申请的证书名TSGNET
最后提交,可以看到已经成功安装的证书及状态。这里需要重起ACS服务使其生效

4、配置PEAP认证在System Configuration中选择Global Authentication Setup
在PEAP中选择Allow EAP-MSCHAPv2,其他都不选

最下面的MS-CHAP Configuration中选择Allow MS-CHAP Version 2Authentication
第四部分:Switch的配置:
- enable secret 5 $1$yUpo$/O8vCSe57oTveItVZEQqW0
- !
- username cisco password 0 cisco \\创建本地用户名数据库
- aaa new-model \\启用AAA
- aaa authentication login default group radius local \\登陆时使用radius认证,radius失效时使用本地数据库
- aaa authentication dot1x default group radius \\使用802.1x,通过radius认证
- aaa authorization network default group radius \\用户的权限通过Radius进行授权
- !
- ip routing \\为后面两个网络开启VLAN间路由
- !
- dot1x system-auth-control \\开启dot1x系统认证控制
- !
- interface FastEthernet0/4 \\ F0/4为普通端口
- switchport access vlan 10
- switchport mode access
- !
- interface FastEthernet0/5 \\ F0/5为802.1x认证端口
- switchport access vlan 20 \\认证后的正常VLAN
- switchport mode access
- dot1x port-control auto \\端口控制模式为自动
- dot1x guest-vlan 10 \\认证失败或者无802.1x客户端时,会分配到的VLAN
- !
- interface FastEthernet0/24 \\连接ACS服务器端口
- switchport mode access
- !
- interface Vlan1 \\交换机管理IP
- ip address 172.16.167.200 255.255.255.0
- ip helper-address 172.16.167.172
- !
- interface Vlan10 \\ Guest_Vlan管理IP
- ip address 172.16.100.253 255.255.255.0
- ip helper-address 172.16.167.172 \\ DHCP中继,指向DHCP服务器地址
- !
- interface Vlan20
- ip address 172.16.200.253 255.255.255.0 \\ Normal_Vlan管理IP
- ip helper-address 172.16.167.172
- !
- radius-server host 172.16.167.172 auth-port 1645 acct-port 1646 key cisco
- \\指定ACS服务器地址和交换机的协商时用的密码,使用Radius协议
- radius-server source-ports 1645-1646 \\系统自动生成
复制代码

第五部分:客户端配置
打开本地连接,右键属性,验证,把启用此网络的IEEE 802.1x验证勾上,然后EAP类型:受保护的EAP(PEAP)
如果client已加入了域,可把自动使用Windows登陆名和密码勾上,实现单点登陆
第六部分:测试效果
为了测试的效果,我在CA上起用了DHCP服务,分为Guest_Vlan:172.16.100.0/24, GW:172.16.100.253; Normal_Vlan:172.16.200.0/24, GW: 172.16.200.253;然后PC可以通过服务器上的DHCP分配到地址,这个步骤相信大家都会了,很简单。
1、无802.1x客户端情况先把PC接在启用了802.1x的端口上,如果这时候PC没有使用802.1x验证,将会被分配到了Guest_Vlan中(172.16.100.0/24),得到的地址为172.16.100.1
2、启用802.1x客户端情况选择PEAP验证以后,这时会在桌面右下脚弹出一个提示,要求输入
点击这个提示,输入之前域里面定义好的用户aaa,密码aaa
输入完后会通过ACS把用户名密码发到DC上去验证,这时可以在交换机上debug radiux看到认证过程的信息。最后验证成功以后,会分配到Normal_Vlan的地址172.16.200.1
这时候去ACS上面的Reports And Activity可以看到aaa用户的登陆情况
在User Setup里面,可以看到aaa与ACS本地默认组的一个映射。bbb是ACS的本地用户