本文档提供有关如何通过缓存引擎配置RADIUS身份验证到Microsoft Windows NT的思科安全访问控制服务器(ACS)的说明。您应运行Web Cache通信协议第2版(WCCPv2),以正确执行此步骤。有关WCCP第2版的详细信息,请参阅在Cisco缓存引擎和路由器上配置Web缓存通信协议第2版。
在尝试此配置前,请保证您符合这些要求:
熟悉适用于Windows或UNIX的思科安全ACS。
熟悉路由器和缓存引擎上的WCCPv2配置。
本文档中的信息基于以下软件和硬件版本:
在实验室环境中的已清除配置的Cisco Cache Engine 505
Cisco 2600 路由器
思科缓存引擎软件版本2.31
思科IOS®软件版本12.1(3)T 3
适用于Microsoft Windows NT/2000服务器的思科安全ACS
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
本文档使用以下网络设置:
有关文件规则的更多信息请参见“ Cisco技术提示规则”。
使用以下步骤配置缓存引擎以进行RADIUS身份验证:
在Cisco Secure ACS for Windows NT中将缓存引擎配置为网络访问服务器(NAS)。
在用于Windows NT的思科安全ACS中配置用户信息。
为RADIUS配置缓存引擎,并指定主机和密钥信息。
radius-server host 172.18.124.106 radius-server key cisco123
为WCCP配置路由器。
缓存引擎的命令行应如下所示:
cepro#configure terminal !--- Enter configuration commands, one per line. !--- End with CNTL/Z. cepro(config)#radius-server host 172.18.124.106 cepro(config)#radius-server key cisco123 cepro#
以下是Cisco Secure ACS for Windows NT上的缓存引擎/NAS配置:
这是Cisco Secure ACS for Windows NT上的“用户设置”页:
本部分所提供的信息可用于确认您的配置是否正常工作。
命令输出解释程序工具(仅限注册用户)支持某些 show 命令,使用此工具可以查看对 show 命令输出的分析。
缓存引擎命令:
show version — 显示在缓存引擎上运行的软件版本。
show hardware — 显示缓存引擎上的软件版本和硬件类型。
show running-config — 显示缓存引擎上的实际运行配置。
show stat http usage — 显示使用统计信息。
show radius stat [all |主要 | secondary ] — 显示主RADIUS服务器和辅助RADIUS服务器的身份验证统计信息。
以下是show version命令的命令输出示例:
cepro#show version Cisco Cache Engine Copyright (c) 1986-2001 by Cisco Systems, Inc. Software Release: CE ver 2.31 (Build: FCS 02/16/01) Compiled: 11:20:14 Feb 22 2001 by bbalagot Image text-base 0x108000, data_base 0x437534 System restarted by Reload The system has been up for 3 hours, 52 minutes, 33 seconds. System booted from "flash"
以下是show hardware命令的命令输出示例:
cepro#show hardware Cisco Cache Engine Copyright (c) 1986-2001 by Cisco Systems, Inc. Software Release: CE ver 2.31 (Build: FCS 02/16/01) Compiled: 11:20:14 Feb 22 2001 by bbalagot Image text-base 0x108000, data_base 0x437534 System restarted by Reload The system has been up for 3 hours, 52 minutes, 54 seconds. System booted from "flash" Cisco Cache Engine CE505 with CPU AMD-K6 (model 8) (rev. 12) AuthenticAMD 2 Ethernet/IEEE 802.3 interfaces 1 Console interface. 134213632 bytes of Physical Memory 131072 bytes of ROM memory. 8388608 bytes of flash memory. List of disk drives: /c0t0d0 (scsi bus 0, unit 0, lun 0)
以下是show running-config命令的命令输出示例:
cepro#show running-config Building configuration... Current configuration: ! ! logging recycle 64000 logging trap information ! user add admin uid 0 password 1 "eeSdy9dcy" capability admin-access ! ! ! hostname cepro ! interface ethernet 0 ip address 10.27.2.2 255.255.255.0 ip broadcast-address 10.27.2.255 exit ! ! interface ethernet 1 exit ! ip default-gateway 10.27.2.1 ip name-server 161.44.11.21 ip name-server 161.44.11.206 ip domain-name cisco.com ip route 0.0.0.0 0.0.0.0 10.27.2.1 cron file /local/etc/crontab ! bypass timer 1 !--- Specify the router list for use with WCCPv2. wccp router-list 1 10.27.2.1 172.18.124.211 !--- Instruct the router to run web cache service with WCCPv2. wccp web-cache router-list-num 1 !--- WCCPv2 enabled. wccp version 2 ! !--- RADIUS Server host and port is defined. radius-server host 172.18.124.106 auth-port 1645 radius-server host 172.18.124.103 auth-port 1645 !--- RADIUS key defined. radius-server key **** authentication login local enable authentication configuration local enable transaction-logs enable rule no-cache url-regex .*cgi-bin.* rule no-cache url-regex .*aw-cgi.* ! ! end cepro#
路由器命令:
show running-config — 显示路由器上的实际运行配置。
show ip wccp — 显示所有注册服务。
show ip wccp <service-id> detail — 显示集群中每个缓存的WCCP桶分配。例如,show ip wccp web-cache detail。
以下是show running-config命令的命令输出示例:
33-ns-gateway#show running-config Building configuration... Current configuration: ! version 12.1 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname 33-Ns-gateway ! logging buffered 64000 debugging enable secret 5 $1$IWJr$nI.NcIr/b9DN7jEQQC17R/ ! ! ! ! ! ip subnet-zero !--- WCCP enabled. ip wccp web-cache ip cef no ip domain-lookup ip domain-name testdomain.com ip name-server 161.44.11.21 ip name-server 161.44.11.206 ! ! ! ! interface Ethernet0/0 ip address 10.1.3.50 255.255.255.0 no ip route-cache cef ! interface Ethernet1/0 description interface to the CE .5 bandwidth 100 ip address 10.27.2.1 255.255.255.0 full-duplex ! interface Ethernet1/1 description inter to DMZ ip address 172.18.124.211 255.255.255.0 !--- Configure the interface to enable the router !--- to verify that the appropriate !--- packets are redirected to the cache engine. ip wccp web-cache redirect out no ip route-cache cef no ip route-cache no ip mroute-cache ! interface Ethernet1/2 description Preconfigured for recreates 10.27.3.0/24 net ip address 10.27.3.1 255.255.255.0 no ip route-cache cef ! interface Ethernet1/3 no ip address shutdown ! ip classless ip route 0.0.0.0 0.0.0.0 172.18.124.1 no ip http server ! ! line con 0 exec-timeout 0 0 transport input none line aux 0 exec-timeout 0 0 line vty 0 4 exec-timeout 0 0 password ww login ! end 33-Ns-gateway#
本部分提供的信息可用于对配置进行故障排除。
命令输出解释程序工具(仅限注册用户)支持某些 show 命令,使用此工具可以查看对 show 命令输出的分析。
注意:在发出debug命令之前,请参阅有关Debug命令的重要信息。
缓存引擎命令:
debug authentication all — 调试身份验证。
debug radius all — 显示Web界面RADIUS模块调试。
type var/log/translog/working.log — 验证URL是否已缓存,以及用户是否访问了这些页。任何其他类型的消息应咨询思科技术支持以说明。此日志中最常见的错误消息类型是由于未知用户或服务器密钥不正确而导致身份验证失败。
以下是debug radius all和debug authentication all命令的命令输出示例:
RadiusCheck(): Begin RadiusCheck(): Begin RadiusCheck(): Begin RadiusBuildRequest(): Begin RadiusBuildRequest(): Begin RadiusBuildRequest(): Begin [82] User-Name = "chbanks" [82] User-Name = "chbanks" [82] User-Name = "chbanks" [82] NAS-IP-Address = 10.27.2.2 [82] NAS-IP-Address = 10.27.2.2 [82] NAS-IP-Address = 10.27.2.2 [82] NAS-Port = 80 [82] NAS-Port = 80 [82] NAS-Port = 80 RadiusAuthenticate(): Begin RadiusAuthenticate(): Begin RadiusAuthenticate(): Begin CfgGetRadiusInfo(): Begin CfgGetRadiusInfo(): Begin CfgGetRadiusInfo(): Begin UpdatePassword(): Begin UpdatePassword(): Begin UpdatePassword(): Begin [82] radsend: Request to 172.18.124.106 id=1, length=171 [82] radsend: Request to 172.18.124.106 id=1, length=171 [82] radsend: Request to 172.18.124.106 id=1, length=171 RadiusReplyValidate(): Begin RadiusReplyValidate(): Begin RadiusReplyValidate(): Begin RadiusReplyValidate(): [82] Received 26 byte message back RadiusReplyValidate(): [82] Received 26 byte message back RadiusReplyValidate(): [82] Received 26 byte message back RadiusReplyValidate(): Got a valid response from server 172.18.124.106. RadiusReplyValidate(): Got a valid response from server 172.18.124.106. RadiusReplyValidate(): Got a valid response from server 172.18.124.106. DecodeReply(): Begin DecodeReply(): Begin DecodeReply(): Begin DecodeReply: WEB_YES_BLOCKING default DecodeReply: WEB_YES_BLOCKING default DecodeReply: WEB_YES_BLOCKING default RadiusCheck(): WEB_YES_BLOCKING RadiusCheck(): WEB_YES_BLOCKING RadiusCheck(): WEB_YES_BLOCKING RemoteUserAdd(): Begin RemoteUserAdd(): Begin RemoteUserAdd(): Begin RemoteUserAdd(): Updated remote user chbanks RemoteUserAdd(): Updated remote user chbanks RemoteUserAdd(): Updated remote user chbanks RemoteUserAuthenticate(): Begin RemoteUserAuthenticate(): Begin RemoteUserAuthenticate(): Begin CfgGetRadiusInfo(): Begin CfgGetRadiusInfo(): Begin CfgGetRadiusInfo(): Begin CfgRadiusGetExcludeState(): Begin CfgRadiusGetExcludeState(): Begin CfgRadiusGetExcludeState(): Begin CfgRadiusGetExcludeState(): flag = 0 CfgRadiusGetExcludeState(): flag = 0 CfgRadiusGetExcludeState(): flag = 0 RemoteUserUpdate(): Begin RemoteUserUpdate(): Begin RemoteUserUpdate(): Begin CfgRadiusGetMultipleUserPromptState(): Begin CfgRadiusGetMultipleUserPromptState(): Begin CfgRadiusGetMultipleUserPromptState(): Begin CfgRadiusGetMultipleUserPromptState(): flag = 1 CfgRadiusGetMultipleUserPromptState(): flag = 1 CfgRadiusGetMultipleUserPromptState(): flag = 1 CfgRadiusGetMultipleUserPromptTimeout(): Begin CfgRadiusGetMultipleUserPromptTimeout(): Begin CfgRadiusGetMultipleUserPromptTimeout(): Begin CfgRadiusGetMultipleUserPromptTimeout(): lMultipleUserPromptTimeout = 25 CfgRadiusGetMultipleUserPromptTimeout(): lMultipleUserPromptTimeout = 25 CfgRadiusGetMultipleUserPromptTimeout(): lMultipleUserPromptTimeout = 25 fsgetUsrInfoforIpAddr_radius will be called fsgetUsrInfoforIpAddr_radius will be called fsgetUsrInfoforIpAddr_radius will be called RemoteUserUpdate() returned true RemoteUserUpdate() returned true RemoteUserUpdate() returned true
路由器命令:
show ip wccp — 显示全局WCCP统计信息。