目标

  NPS是Windows服务器操作系统自带的一款Radius服务器,可以提供类似Cisco ISE \ Aruba
Clearpass之类的AAA服务,在Windows 2008之前的Radius服务叫IAS,Windows
2008之后的就是NPS,两者只是名字不同,功能上NPS比IAS更丰富一些,但做的事情都一样。

  一般很少有人会使用NPS来作为AAA服务器,因为使用AAA服务的一般都是企业,而企业一般会购买厂商打包好的AAA解决方案,比如Cisco的ISE或Aruba的ClearPass,这样出了问题也能够有售后维护,而且部署配置更加简单,NPS是Windows
服务器自带的Radius服务,在与其他系统结合时需要一些额外的调试,本文就着重介绍如何与Cisco Catalyst交换机配合执行有线准入。

Cisco交换机准入配置

  以下是Cisco交换机的全局准入配置

aaa new-model
aaa authentication dot1x default group radius
aaa authorization network default group radius
dot1x system-auth-control
ip radius source-interface vlan 10
radius-server host 192.168.20.119 auth-port 1812 acc-port 1813 key cisco

  以下是交换机接口上的准入配置

switchport access vlan 10
switchport mode access
authentication control-direction in
authentication host-mode single
authentication port-control auto
authentication violation protect
mab eap
dot1x pae authenticator
spanning-tree portfast
spanning-tree bpduguard enable

Note:配置使用的IOS版本是c3560-ipservicesk9-mz.122-55.SE12
Note:1X认证一定要配合portfast使用,否则会严重影响认证速度

NPS配置1X用户名密码认证

  用户名密码的认证方式属于PEAP-MSCHAPv2,首先在NPS中添加Radius客户端
  
注意:共享密钥一定要与交换机上的配置一致,否则NPS服务器不会回复Access-Request报文
  接着添加连接请求策略

  最后配置网络策略


  到这里NPS就配置完成了,接下来配置win 7客户端,首先需要打开Wired Autoconfig服务
  

  开启此服务并置为自动启动,这时客户端的有线网卡上就会出现身份认证选项

  这里建议取消“验证服务器证书”,如果是域环境的话,可以勾上”自动使用Windows登录名和密码”,因为我的测试PC机不是域环境,所以这里不做勾选
  

  在其他设置中,可以显式指定身份验证模式为“用户身份验证”,这样配置完成后,插上网线,按照提示输入用户名密码(加域的PC会自动进行单点登陆,无需人工干预自动登陆),应该就可以通过1X认证了,不过这里可能会遇到一个NPS上的问题,在所有内容配置完成后,接上网线发现认证被NPS拒绝了,导致认证失败,查看NPS日志,可以看到如下图所示的信息
  
  这个问题的原因通常是因为无效的PEAP证书,要解决这个问题,需要为PEAP认证重新颁发一张证书即可,并在网络策略的PEAP配置中调用颁发的证书即可
  
  认证成功后,交换机上1X接口显式如下

  认证成功后,交换机上认证会话显式如下
  

NPS配置MAC认证


  对于PC终端,我们可以使用用户名密码的认证方式,但对于类似打印机之类的终端,只能使用MAC认证,因为它们不支持1X认证,在上面Cisco交换机的端口配置中,我们已经开启了MAB功能(mac
address
bypass),如果1X认证失败,交换机会自动failover到mac认证,自动将MAC地址作为凭据信息提交给NPS,交换机默认发送3次1X认证请求,每次间隔30秒,90秒后failover到mac认证

  为了实现MAC认证,Windows服务器上需要有这个用户,该用户的用户名和密码必须都是mac地址,而且格式必须是Cisco交换机提交的格式,即全部小写并且没有分隔符
  这里还有一个小坑,Cisco交换机使用EAP-MD5协议提交MAC地址,但NPS不支持这种协议,需要改注册表让其支持,注册表键值修改内容如下图:
  

  注册表修改完成并重启服务器后,在网络策略的身份验证协议方法里就能看到MD5-Challenage选项,按照下图所示设置MAC认证网络策略,并将其优先级摆到第一
  
  这时就可以为打印机插上网线了,但可能会被NPS拒绝掉,这里是又一个小坑,在NPS的安全日志内会看到如下信息:
  
  我们需要将MAC地址的用户名中的账户选项勾选上“使用可逆加密存储密码”,然后再重置一次密码
  
  这样打印机连上来后经过90秒就能成功认证通过,认证通过后,交换机接口1X认证信息如下:
  
  认证通过后,交换机认证会话信息如下:
  
  可以看到Method下是mab,表明是mac认证

总结


  从上面的步骤可以看到,使用NPS作为有线准入控制,配置上比较麻烦,我在配置过程中查阅了很多Cisco和微软的官方资料,花费了不少时间,不过一旦配置成功,使用起来也很方便,和其他收费的AAA套件也没什么差别