目录

简介

先决条件

要求

使用的组件

规则

配置

网络图

配置TACACS+服务器以进行登录身份验证 — 使用ACS 4.1

配置TACACS+服务器以进行登录身份验证 — 使用ACS 5.2

配置Aironet AP以进行TACACS+身份验证

验证

ACS 5.2验证

故障排除

相关信息

简介

本文档说明如何在Cisco Aironet接入点(AP)上启用TACACS Plus(TACACS+)服务，以便使用TACACS+服务器执行登录身份验证。

先决条件

要求

尝试进行此配置之前，请确保满足以下要求：

- 了解如何在Aironet AP上配置基本参数

- 了解如何配置TACACS+服务器(如思科安全访问控制服务器(ACS))

- TACACS+概念知识

有关TACACS+如何工作的信息，请参阅配置RADIUS和TACACS+服务器的了解TACACS+部分。

使用的组件

本文档中的信息基于以下软件和硬件版本：

- Aironet Cisco Aironet 1240/1140系列接入点

- 运行软件版本4.1的ACS

- 运行软件版本5.2的ACS

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息，请参阅 Cisco 技术提示规则。

配置

本节介绍如何为基于TACACS+的登录身份验证配置Aironet AP和TACACS+服务器(ACS)。

此配置示例使用以下参数：

- ACS的IP地址 — 172.16.1.1/255.255.0.0

- AP的IP地址 — 172.16.1.30/255.255.0.0

- 在AP和TACACS+服务器上使用的共享密钥 — 示例

以下是本示例在ACS上配置的用户凭证：

- 用户名 — 用户1

- 密码 — Cisco

- 组 — 管理员

您需要配置TACACS+功能，以验证尝试通过Web界面或命令行界面(CLI)连接到AP的用户。 要完成此配置，必须执行以下任务：

1. 配置TACACS+服务器以进行登录身份验证。

2. 配置Aironet AP以进行TACACS+身份验证。

注意：使用命令查找工具(仅限注册客户)可查找有关本文档中使用的命令的详细信息。

网络图

本文档使用以下网络设置：

配置TACACS+服务器以进行登录身份验证 — 使用ACS 4.1

第一步是设置TACACS+守护程序，以验证尝试访问AP的用户。您必须为TACACS+身份验证设置ACS并创建用户数据库。您可以使用任何TACACS+服务器。本示例将ACS用作TACACS+服务器。请完成以下步骤：

1. 要将AP添加为身份验证、授权和记帐(AAA)客户端，请完成以下步骤：

1. 在ACS GUI中，单击“Network Configuration(网络配置)”选项卡。

2. 在 AAA Clients 下，单击 Add Entry。

3. 在Add AAA Client（添加AAA客户端）窗口中，输入AP主机名、AP的IP地址和共享密钥。

此共享密钥必须与您在AP上配置的共享密钥相同。

4. 从Authenticate Using下拉菜单中，选择TACACS+(Cisco IOS)。

5. 单击Submit + Restart以保存配置。

示例如下：

本示例使用：

- AAA客户端主机名接入点

- 地址172.16.1.30/16作为AAA客户端IP地址

- 共享密钥示例

2. 要创建包含所有管理（管理员）用户的组，请完成以下步骤：

1. 单击左侧菜单中的“Group Setup”。

系统将显示新窗口。

2. 在“组设置”窗口中，从下拉菜单中选择要配置的组，然后单击“重命名组”。

此示例从下拉菜单中选择组6并重命名组AdminUsers。

3. 单击“Submit”。

示例如下：

3. 要将用户添加到TACACS+数据库，请完成以下步骤：

1. 单击“User Setup(用户设置)”选项卡。

2. 要创建新用户，请在“用户”字段中输入用户名，然后单击“添加/编辑”。

以下是创建User1的示例:

点击Add/Edit后，系统将显示此用户的Add/Edit窗口。

4. 输入特定于此用户的凭据，然后单击Submit以保存配置。

您可以输入的凭据包括：

- 补充用户信息

- 用户设置

- 用户分配到的组

示例如下：

您可以看到此示例将用户User1添加到组AdminUsers。

注意：如果不创建特定组，则用户将分配到默认组。

5. 要定义权限级别，请完成以下步骤：

1. 单击“Group Setup（组设置）”选项卡。

2. 选择之前分配给此用户的组，然后单击“编辑设置”。

本示例使用组AdminUsers。

3. 在TACACS+ Settings（TACACS+设置）下，选中Shell(exec)复选框，并选中Privilege level 复选框，其值为15。

4. 单击 Submit+ Restart。

注：必须为GUI和Telnet定义权限级别15才能作为级别15访问。否则，默认情况下，用户只能作为级别1访问。如果未定义权限级别，并且用户尝试在CLI上进入启用模式（使用Telnet），则AP显示以下错误消息：

AccessPoint>enable

% Error in authentication

如果要向TACACS+数据库添加更多用户，请重复此步骤的步骤2至4。完成这些步骤后，TACACS+服务器即可验证尝试登录AP的用户。现在，您必须配置AP以进行TACACS+身份验证。

配置TACACS+服务器以进行登录身份验证 — 使用ACS 5.2

第一步是在ACS中将AP添加为AAA客户端，并为登录创建TACACS策略。

1. 要将AP添加为AAA客户端，请完成以下步骤：

1. 在ACS GUI中，单击“Network Resources(网络资源)” ，然后单击“Network Devices and AAA Clients（网络设备和AAA客户端）”。

2. 在“Network Devices（网络设备）”下，单击“Create（创建）”。

3. 在Name中输入AP的主机名，并提供有关AP的说明。

4. 如果定义了这些类别，请选择位置和设备类型。

5. 因为只配置了一个AP，所以单击Single IP Address。您可以通过单击IP范围来添加多个AP的IP地址范围。 然后，输入AP的IP地址。

6. 在“Authentication Options”下，选中TACACS+框并输入“Shared Secret”。

示例如下：

2. 下一步是创建登录用户名和密码：

1. 单击“Users and Identity Stores(用户和身份库)” ，然后单击“Users(用户)”。

2. Click Create.

3. 在Name下提供用户名并提供说明。

4. 选择身份组(如果有)。

5. 在“密码”文本框下输入密码，然后在“确认密码”下重新输入。

6. 可以通过在“启用密码”下输入密码来修改启用密码。重新输入以确认。

示例如下：

3. 要定义权限级别，请完成以下步骤：

1. 单击Policy Elements > Authorizations and Permissions > Device Administration > Shell Profiles。

2. 选中“允许访问”复选框，然后单击“复制”。

3. 输入名称和说明。

4. 选择Common Tasks（常见任务）选项卡，然后为Maximum Privilege(最大权限)选择15。

5. 单击“Submit”。

4. 要创建授权策略，请完成以下步骤：

1. 单击Access Policies > Access Services > Default Device Admin > Authorization。

2. 单击Create以创建新授权策略。

系统将显示一个新弹出窗口，以创建授权策略的规则。

3. 为特定用户名和AAA客户端(AP)选择身份组、位置等（如果有）。

4. 单击Select（为Shell配置文件选择）以选择创建的配置文件Autonomous AP。

5. 完成此操作后，单击“保存更改”。

6. 单击“Default Device Admin(默认设备管理)” ，然后单击“Allowed Protocols(允许的协议)”。

7. 选中允许PAP/ASCII，然后单击提交。

8. 单击Service Selection Rules，确保存在与TACACS匹配并指向Default Device Admin的规则。

配置Aironet AP以进行TACACS+身份验证

您可以使用CLI或GUI在Aironet AP上启用TACACS+功能。本节介绍如何使用GUI配置AP以进行TACACS+登录身份验证。

要使用GUI在AP上配置TACACS+，请完成以下步骤：

1. 要定义TACACS+服务器参数，请完成以下步骤：

1. 从AP GUI中，选择Security > Server Manager。

安全性：系统将显示“服务器管理器”窗口。

2. 在Corporate Servers区域，从Current Server List下拉菜单中选择TACACS+。

3. 在此区域中，输入TACACS+服务器的IP地址、共享密钥和身份验证端口号。

4. 单击 Apply。

示例如下：

注意：默认情况下，TACACS+使用TCP端口49。

注意：在ACS和AP上配置的共享密钥必须匹配。

2. 选择Default Server Priorities > Admin Authentication(TACACS+)，从Priority 1下拉菜单中选择您配置的TACACS+服务器IP地址，然后单击Apply。

示例如下：

3. 选择Security > Admin Access，对于Administrator Authenticated by:，选择Authentication Server Only，然后单击Apply。

此选择可确保尝试登录AP的用户通过身份验证服务器进行身份验证。

示例如下：

以下是配置示例的CLI配置：

接入点

AccessPoint#show running-config

Current configuration : 2535 bytes

!

version 12.3

no service pad

service timestamps debug datetime msec

service timestamps log datetime msec

service password-encryption

!

hostname AccessPoint

!

!

ip subnet-zero

!

!

aaa new-model

!--- Enable AAA.

!

!

aaa group server radius rad_eap

!

aaa group server radius rad_mac

!

aaa group server radius rad_acct

!

aaa group server radius rad_admin

cache expiry 1

cache authorization profile admin_cache

cache authentication profile admin_cache

!

aaa group server tacacs+ tac_admin

!--- Configure the server group tac_admin.

server 172.16.1.1

!--- Add the TACACS+ server 172.16.1.1 to the server group.

cache expiry 1

!--- Set the expiration time for the local cache as 24 hours.

cache authorization profile admin_cache

cache authentication profile admin_cache

!

aaa group server radius rad_pmip

!

aaa group server radius dummy

!

aaa authentication login default group tac_admin

!--- Define the AAA login authentication method list to use the TACACS+ server.

aaa authentication login eap_methods group rad_eap

aaa authentication login mac_methods local

aaa authorization exec default group tac_admin

!--- Use TACACS+ for privileged EXEC access authorization !--- if authentication was performed with use of TACACS+.

aaa accounting network acct_methods start-stop group rad_acct

aaa cache profile admin_cache

all

!

aaa session-id common

!

!

username Cisco password 7 00271A150754

!

bridge irb

!

!

interface Dot11Radio0

no ip address

no ip route-cache

shutdown

speed basic-1.0 basic-2.0 basic-5.5 basic-11.0

station-role root

bridge-group 1

bridge-group 1 subscriber-loop-control

bridge-group 1 block-unknown-source

no bridge-group 1 source-learning

no bridge-group 1 unicast-flooding

bridge-group 1 spanning-disabled

!

interface Dot11Radio1

no ip address

no ip route-cache

shutdown

speed

station-role root

bridge-group 1

bridge-group 1 subscriber-loop-control

bridge-group 1 block-unknown-source

no bridge-group 1 source-learning

no bridge-group 1 unicast-flooding

bridge-group 1 spanning-disabled

!

interface FastEthernet0

no ip address

no ip route-cache

duplex auto

speed auto

bridge-group 1

no bridge-group 1 source-learning

bridge-group 1 spanning-disabled

!

interface BVI1

ip address 172.16.1.30 255.255.0.0

no ip route-cache

!

ip http server

ip http authentication aaa

!--- Specify the authentication method of HTTP users as AAA.

no ip http secure-server

ip http help-path http://www.cisco.com/warp/public/779/smbiz/prodconfig/help/ea

ip radius source-interface BVI1

!

tacacs-server host 172.16.1.1 port 49 key 7 13200F13061C082F

tacacs-server directed-request

radius-server attribute 32 include-in-access-req format %h

radius-server vsa send accounting

!

control-plane

!

bridge 1 route ip

!

!

!

line con 0

transport preferred all

transport output all

line vty 0 4

transport preferred all

transport input all

transport output all

line vty 5 15

transport preferred all

transport input all

transport output all

!

end

注意：您必须拥有Cisco IOS软件版本12.3(7)JA或更高版本，才能使此配置中的所有命令正常工作。早期的Cisco IOS软件版本可能没有所有这些命令可用。

验证

使用本部分可确认配置能否正常运行。

命令输出解释程序（仅限注册用户）(OIT) 支持某些 show 命令。使用 OIT 可查看对 show 命令输出的分析。

要验证配置，请尝试使用GUI或CLI登录AP。当您尝试访问AP时，AP会提示您输入用户名和密码。

当您提供用户凭证时，AP会将凭证转发到TACACS+服务器。TACACS+服务器根据其数据库中可用的信息验证凭证，并在身份验证成功时提供对AP的访问。您可以在ACS上选择Reports and Activity > Passed Authentication，并使用Passed Authentication报告来检查此用户是否成功进行了身份验证。示例如下：

您还可以使用show tacacs命令来验证TACACS+服务器的配置是否正确。示例如下：

AccessPoint#show tacacs

Tacacs+ Server            : 172.16.1.1/49

Socket opens:        348

Socket closes:        348

Socket aborts:          0

Socket errors:          0

Socket Timeouts:          0

Failed Connect Attempts:          0

Total Packets Sent:        525

Total Packets Recv:        525

ACS 5.2验证

您可以从ACS 5.2验证登录凭证的失败/传递尝试：

1. 单击“监控和报告”>“启动监控和报告查看器”。

系统随即会打开一个新的弹出窗口，其中显示控制面板。

2. 单击Authentications-TACACS-Today。这显示失败/通过尝试的详细信息。

故障排除

您可以在AP上使用以下debug命令来排除配置故障：

注意：在使用debug命令之前，请参阅有关Debug命令的重要信息。

- debug tacacs events — 此命令显示TACACS身份验证期间发生的事件的顺序。以下是此命令的输出示例：

*Mar  1 00:51:21.113: TPLUS: Queuing AAA Authentication request 0 for

processing

*Mar  1 00:51:21.113: TPLUS: processing authentication start request id 0

*Mar  1 00:51:21.113: TPLUS: Authentication start packet created for 0(User1)

*Mar  1 00:51:21.114: TPLUS: Using server 172.16.1.1

*Mar  1 00:51:21.115: TPLUS(00000000)/0/NB_WAIT/C6DC40: Started 5 sec timeout

*Mar  1 00:51:21.116: TPLUS(00000000)/0/NB_WAIT: socket event 2

*Mar  1 00:51:21.116: TPLUS(00000000)/0/NB_WAIT: wrote entire 25 bytes request

*Mar  1 00:51:21.116: TPLUS(00000000)/0/READ: socket event 1

*Mar  1 00:51:21.117: TPLUS(00000000)/0/READ: Would block while reading

*Mar  1 00:51:21.120: TPLUS(00000000)/0/READ: socket event 1

*Mar  1 00:51:21.120: TPLUS(00000000)/0/READ: read entire 12 header bytes (expect

16 bytes data)

*Mar  1 00:51:21.120: TPLUS(00000000)/0/READ: socket event 1

*Mar  1 00:51:21.120: TPLUS(00000000)/0/READ: read entire 28 bytes response

*Mar  1 00:51:21.121: TPLUS(00000000)/0/C6DC40: Processing the reply packet

*Mar  1 00:51:21.121: TPLUS: Received authen response status GET_PASSWORD (8)

*Mar  1 00:51:21.121: TPLUS: Queuing AAA Authentication request 0 for processing

*Mar  1 00:51:21.121: TPLUS: processing authentication continue request id 0

*Mar  1 00:51:21.122: TPLUS: Authentication continue packet generated for 0

*Mar  1 00:51:21.122: TPLUS(00000000)/0/WRITE/C6DC40: Started 5 sec timeout

*Mar  1 00:51:21.122: TPLUS(00000000)/0/WRITE: wrote entire 22 bytes request

*Mar  1 00:51:21.178: TPLUS(00000000)/0/READ: socket event 1

*Mar  1 00:51:21.178: TPLUS(00000000)/0/READ: read entire 12 header bytes (expect

6 bytes data)

*Mar  1 00:51:21.178: TPLUS(00000000)/0/READ: socket event 1

*Mar  1 00:51:21.178: TPLUS(00000000)/0/READ: read entire 18 bytes response

*Mar  1 00:51:21.179: TPLUS(00000000)/0/C6DC40: Processing the reply packet

*Mar  1 00:51:21.179: TPLUS: Received authen response status PASS (2)

- debug ip http authentication — 使用此命令排除HTTP身份验证问题。命令显示路由器尝试的身份验证方法和特定于身份验证的状态消息。

- debug aaa authentication — 此命令显示有关AAA TACACS+身份验证的信息。

如果用户输入TACACS+服务器上不存在的用户名，则身份验证失败。以下是debug tacacs authentication命令输出，用于失败的身份验证：

*Mar  1 00:07:26.624: TPLUS: Queuing AAA Authentication request 0 for processing

*Mar  1 00:07:26.624: TPLUS: processing authentication start request id 0

*Mar  1 00:07:26.624: TPLUS: Authentication start packet created for 0(User3)

*Mar  1 00:07:26.624: TPLUS: Using server 172.16.1.1

*Mar  1 00:07:26.625: TPLUS(00000000)/0/NB_WAIT/A88784: Started 5 sec timeout

*Mar  1 00:07:26.626: TPLUS(00000000)/0/NB_WAIT: socket event 2

*Mar  1 00:07:26.626: TPLUS(00000000)/0/NB_WAIT: wrote entire 25 bytes request

*Mar  1 00:07:26.627: TPLUS(00000000)/0/READ: socket event 1

*Mar  1 00:07:26.627: TPLUS(00000000)/0/READ: Would block while reading

*Mar  1 00:07:26.631: TPLUS(00000000)/0/READ: socket event 1

*Mar  1 00:07:26.632: TPLUS(00000000)/0/READ: read entire 12 header bytes (expect 16

bytes data)

*Mar  1 00:07:26.632: TPLUS(00000000)/0/READ: socket event 1

*Mar  1 00:07:26.632: TPLUS(00000000)/0/READ: read entire 28 bytes response

*Mar  1 00:07:26.632: TPLUS(00000000)/0/A88784: Processing the reply packet

*Mar  1 00:07:26.632: TPLUS: Received authen response status GET_PASSWORD (8)

*Mar  1 00:07:26.632: TPLUS: Queuing AAA Authentication request 0 for processing

*Mar  1 00:07:26.633: TPLUS: processing authentication continue request id 0

*Mar  1 00:07:26.633: TPLUS: Authentication continue packet generated for 0

*Mar  1 00:07:26.634: TPLUS(00000000)/0/WRITE/A88784: Started 5 sec timeout

*Mar  1 00:07:26.634: TPLUS(00000000)/0/WRITE: wrote entire 22 bytes request

*Mar  1 00:07:26.688: TPLUS(00000000)/0/READ: socket event 1

*Mar  1 00:07:26.688: TPLUS(00000000)/0/READ: read entire 12 header bytes (expect 6

bytes data)

*Mar  1 00:07:26.689: TPLUS(00000000)/0/READ: socket event 1

*Mar  1 00:07:26.689: TPLUS(00000000)/0/READ: read entire 18 bytes response

*Mar  1 00:07:26.689: TPLUS(00000000)/0/A88784: Processing the reply packet

*Mar  1 00:07:26.689: TPLUS: Received authen response status FAIL (3)

您可以选择Reports and Activity > Failed Authentication，以查看ACS上的身份验证尝试失败。示例如下：

如果在AP上使用早于Cisco IOS软件版本12.3(7)JA的Cisco IOS软件版本，则每次尝试使用HTTP登录AP时都可能会遇到Bug。Cisco Bug ID为CSCeb52431(仅限注册客户)。

Cisco IOS软件HTTP/AAA实施要求对每个单独的HTTP连接进行独立身份验证。无线Cisco IOS软件GUI涉及在单个网页（例如Javascript和GIF）中引用数十个单独的文件。 因此，如果在无线Cisco IOS软件GUI中加载一个页面，则会有数十个和几十个单独的身份验证/授权请求命中AAA服务器。

对于HTTP身份验证，请使用RADIUS或本地身份验证。RADIUS服务器仍要接受多个身份验证请求。但RADIUS比TACACS+更具扩展性，因此它对性能的影响可能不那么恶劣。

如果必须使用TACACS+，并且您有Cisco ACS，请将single-connection关键字与tacacs-server命令一起使用。将此关键字与命令一起使用可节省ACS的大部分TCP连接设置/拆卸开销，并可能在一定程度上降低服务器的负载。

对于AP上的Cisco IOS软件版本12.3(7)JA及更高版本，软件包括修复。本节的其余部分将介绍修复方法。

使用AAA身份验证缓存功能以缓存TACACS+服务器返回的信息。身份验证缓存和配置文件功能允许AP缓存用户的身份验证/授权响应，以便后续的身份验证/授权请求无需发送到AAA服务器。要通过CLI启用此功能，请使用以下命令：

cache expiry

cache authorization profile

cache authentication profile

aaa cache profile

有关此功能和命令的详细信息，请参阅管理接入点的配置身份验证缓存和配置文件部分。

要在GUI上启用此功能，请选择Security > Admin Access，然后选中Enable Authentication Server Caching复选框。由于本文档使用Cisco IOS软件版本12.3(7)JA，因此本文档使用修复，如配置所示。

相关信息

- 配置 RADIUS 和 TACACS+ 服务器

- Field Notice：IOS接入点用请求轰炸TACACS+服务器

- 使用 RADIUS 服务器执行 EAP 身份验证

- 无线产品支持

- 技术支持和文档 - Cisco Systems