外部 Web 认证服务器 与无线局域网无线控制器配置举例 简介... 2 先决条件... 2 要求... 2 组件使用... 2 背景资料... 2 外部 WEB 认证过程... 3 网络设置... 4 配置... 5 为访客用户创建一个动态接口... 5 创建一个预认证的 ACL... 7 在无线控制器上的本地数据库创建访客用户... 9 在无线控制器上配置外部 WEB 认证... 10 为访客用户配置 WLAN... 12 验证... 14 故障排查... 16 重定向到外部 WEB 认证服务器的客户端收到一个证书警告... 16 错误 : 无法显示网页 (ERROR: "PAGE CANNOT BE DISPLAYED")... 16
简介 本文档说明了如何配置无线网无线控制器使用一个外部的 Web 服务器进行 Web 认证 先决条件 要求 确保你满足下列要求, 然后再尝试配置 : * 轻量级无线接入点和思科无线控制器的配置知识 * 轻量级接入点协议 (LWAPP)/ 控制和配置无线接入点协议 (CAPWAP) 的知识 * 关于如何设置和配置外部 Web 服务器的知识 * 关于如何设置和配置 DHCP 和 DNS 服务器的知识 组件使用 本文档中的信息是基于这些软件和硬件版本 : * 运行 7.0.116.0 版本的 4400 系列无线控制器 * 思科 Aironet 1131AG 系列轻量接入点 * 思科 Aironet 802.11a/b/g CardBus 无线适配器, 运行 3.6 版软件 * 外部 Web 服务器上承载的 Web 认证登录页面 * DNS 服务器负责地址解析和 DHCP 服务器分配给无线客户端 IP 地址 本文档中的资料是从一个特定实验室环境中的设备上生成的 本文档中使用的所有设备以缺 省 ( 默认 ) 配置开始配置 如果您的网络是正在使用的生产系统, 请确保您了解所有命令带 来的潜在影响 背景资料 Web 认证是一个 3 层的安全功能, 使无线控制器不允许转发一个特定的客户端的 IP 流量 (DHCP 和 DNS 相关的数据包除外 ), 直到该客户端已正确地提供了一个有效的用户名和密
码 这是一个简单的验证方法, 对于客户端无需安装请求或实用工具 Web 认证可以使用 : * 在无线控制器上的默认登录窗口 * 无线控制器上修改后的的登录窗口 * 配置外部 Web 服务器的定制的登录窗口 ( 外部 Web 认证 ) * 下载到无线控制器中的自定义的登录窗口 在本文档中, 无线局域网无线控制器配置了使用登录脚本从外部 Web 服务器认证 外部 Web 认证过程 外部 Web 认证的认证登录页面存储在外部 Web 服务器上 当无线客户端尝试访问具有启用 外部 Web 认证的 WLAN 网络时, 事件发生的顺序如下 : 1. 用户打开一个网页浏览器并输入一个 URL, 例如 http://www.cisco.com 2. 客户端发送这个 URL 的 DNS 请求以便获得目的 IP 地址 3. 无线控制器传送 DNS 请求到 DNS 服务器,DNS 服务器通过 DNS 答复响应,DNS 答复中包含目的地 www.cisco.com 的 IP 地址 该答复被转发到无线客户端 4. 客户端然后尝试以目的 IP 地址打开一个 TCP 连接 向 www.cisco.com 的 IP 地址发送一个 TCP SYN 包 5. 无线控制器配置了客户端的规则, 因此可以作为 www.cisco.com 的代理 它向客户端发送回一个以 www.cisco.com 的 IP 地址作为源地址的 TCP SYN-ACK 包 客户端回送一个 TCP ACK 数据包以完成 TCP 三次握手并完全建立 TCP 连接 6. 客户端发送一个 HTTP GET 包到 www.cisco.com 无线控制器拦截这个数据包并发送重定向处理 HTTP 应用网关准备 HTML 正文发送回客户端, 把它作为客户端请求的 HTTP GET 的答复 这个 HTML 正文使得客户端访问无线控制器的默认网页网址, 例如 http://<virtual-server-ip>/ login.html 7. 然后, 客户端启动 HTTPS 连接发送重定向到 1.1.1.1 的 URL 这是无线控制器的虚拟 IP 地址 客户端验证服务器证书或忽略它以便启用 SSL 隧道 8. 由于启用了外部 Web 身份验证, 无线控制器将客户端重定向到外部 Web 服务器 9. 外部 Web 认证登录网址附加了参数, 如 AP_Mac_Address, client_url(www.cisco.com) 和 action_url 注 :action_url 告诉 Web 服务器, 存储在无线控制器上的用户名和密码 用户凭据必须送回无线控制器以便得到验证 10. 外部 Web 服务器的网址引导用户到登录页面 11. 登录页面需要输入用户凭据, 并发送请求回 action_url, 例如 http://1.1.1.1/login.html 12. 无线控制器的 Web 服务器提交用户名和密码进行身份验证 13. 无线控制器发起 RADIUS 服务器请求或在无线控制器上使用本地数据库对用户进行验证 14. 如果验证成功, 无线控制器 Web 服务器或者转发客户端到配置好的重定向 URL 或用户开始使用的 URL, 如 www.cisco.com 15. 如果验证失败, 那么无线控制器 Web 服务器重定向用户到客户登录网址
注 : 为了外部配置 web 认证使用 HTTP 和 HTTPS 以外的端口, 使用下面命令 : (Cisco Controller) > config network web-auth-port 网络设置 配置示例使用如下设置 无线接入点注册到无线控制器 你需要配置访客 WLAN 并启用用户 的 Web 身份验证 你还需要确保该无线控制器将用户重定向到外部 Web 服务器的 URL( 进 行外部 Web 认证 ) 外部 Web 服务器承载 Web 登录页面用于验证 用户凭据必须与无线控制器上的本地数据库进行验证 验证成功后, 用户应被允许访问访客 WLAN 无线控制器和其他设备需要配置 注 : 您可以使用定制版本的登录脚本进行 Web 认证 你可以从思科软件下载页面下载一个示例的 Web 认证脚本 例如, 对于 4400 无线控制器, 导航至产品 > 无线 > 无线控制器 > 独立无线控制器 > 思科 4400 系列无线控制器 > 思科 4404 无线控制器 > 机箱 > 无线控制器 Web 认证软件 1.0.1, 下载 webauth_bundle.zip 文件 注 : 定制的 Web 认证包文件名最多为 30 个字符 请确保在文件包内没有文件名大于 30 个 字符的文件 注 : 本文档假定 DHCP,DNS 和外部 Web 服务器已经配置完成 对于如何配置 DHCP,DNS 和外部 Web 服务器的信息, 请参阅适当的第三方文件
配置 在无线控制器上配置外部 Web 认证之前, 您必须配置无线控制器的基本操作, 并将无线接 入点注册到无线控制器 本文档假定无线控制器的基本操作已经配置完成且无线接入点已经 注册 完成下列步骤配置无线接入点和无线控制器 : 1. 为访客用户创建一个动态接口 2. 创建一个预认证的 ACL 3. 在无线控制器上的本地数据库创建访客用户 4. 在无线控制器上配置外部 Web 认证 5. 为访客用户配置 WLAN 为访客用户创建一个动态接口 完成下列步骤以创建访客用户的动态接口 : 1. 从无线控制器 GUI 界面选择 Controllers > Interfaces 接口窗口出现 此窗口列出了无线控 制器上的配置接口 这包括了默认接口, 如管理接口 AP-manager 接口 虚拟接口和服务 接口, 以及用户定义的动态接口 2. 单击新建以创建一个新的动态接口 3. 在 Interfaces > New 窗口输入接口名称和 VLAN ID 然后, 单击 应用 在这个例子中动 态接口被命名为 guest 且 VLAN ID 分配 10
4. 在 Interfaces> Edit 窗口输入动态接口的 IP 地址, 子网掩码和默认网关 将其分配到无线 控制器的物理端口, 并输入 DHCP 服务器的 IP 地址 然后, 单击 应用
创建一个预认证的 ACL 当使用外部 Web 服务器进行 Web 认证, 一些无线控制器平台需要定义外部 Web 服务器预认证 ACL( 如思科 5500 系列无线控制器, 思科 2100 系列无线控制器, 思科 2000 系列无线控制器和路由器上的无线控制器网络模块 ) 对于其他无线控制器平台, 预认证 ACL 不是强制性的 然而, 使用外部 Web 认证时为外部 Web 服务器配置预认证 ACL 是最佳实践 完成下列步骤, 为 WLAN 配置预认证 ACL: 1. 从无线控制器 GUI 界面选择 Security > Access Control Lists 此窗口允许您查看当前 ACL, 与标准防火墙的 ACL 相似 2. 单击新建以创建一个新的 ACL 3. 输入的 ACL 的名称, 并单击应用 在这个例子中, 预认证 ACL 被命名为 Pre-Auth-for-External-Web-Server 4. 对于新的 ACL 创建, 单击编辑 ACL > Edit 窗口出现 此窗口允许用户对 ACL 定义新的规 则或修改已有规则 5. 单击添加新规则 6. 定义 ACL 规则, 它允许客户端访问外部 Web 服务器 在这个例子中,172.16.1.92 是外部
Web 服务器的 IP 地址 7. 点击 Apply, 以提交更改
在无线控制器上的本地数据库创建访客用户 访客用户的用户数据库既可以为无线控制器的本地数据库, 也可以使用外部数据库 本文档 中无线控制器使用本地数据库对用户进行身份验证 你必须创建一个本地网用户, 并客户端 Web 认证登录定义密码 完成下列步骤以创建无线控制器的用户数据库 : 1. 从无线控制器 GUI 中, 选择 Security 2. 从左侧的 AAA 菜单点击 Local Net Users 3. 单击新建以创建一个新用户 一个新的窗口显示, 要求输入用户名和密码信息
4. 输入用户名和密码以创建一个新用户, 然后确认您要使用的密码 这个例子创建一个名 为 User1 的用户 5. 添加说明, 如果你需要 这个例子使用 Guest User1 作为说明 6. 单击 Apply 以保存新的用户配置 7. 重复步骤 3-6, 添加更多的用户到数据库 在无线控制器上配置外部 Web 认证 下一步是配置无线控制器外部 Web 认证 完成下列步骤 :
1. 从无线控制器的图形用户界面, 选择 Security > Web Auth > Web Login Page 以访问 Web 登 录页面 2. 从 Web 身份验证类型下拉框中, 选择外部 ( 重定向到外部服务器 ) 3. 在外部 Web 服务器部分添加新的外部 Web 服务器 4. 在登录后重定向 URL 输入验证成功后最终用户将被重定向到的页面的 URL 在外部 Web 验证 URL 字段中, 输入外部 Web 服务器上存储的登录页面 URL
注 : 在无线控制器 5.0 版本后,Web 认证的注销页面也可以定制 参考无线控制器 5.2 版本 配置指南分配登录, 登录失败和注销 WLAN 页面章节获取如何配置的详细信息 为访客用户配置 WLAN 最后一步是创建访客用户的 WLAN 完成下列步骤 : 1. 点击无线控制器 GUI 的 WLANs 菜单以便创建一个 WLAN WLAN 配置窗口出现 此窗口 列出了无线控制器上配置的 WLAN 2. 单击 新建 以配置一个新的 WLAN. 在这个例子中,WLAN 被命名为 Guest 且 WLAN 的 ID 是 1 3. 点击 Apply 按钮 4. 在 WLAN> Edit 窗口定义 WLAN 的具体参数 a. 对于 Guest WLAN, 在 常规 选项卡上从接口名称字段中选择适当的接口 这个例 子中 Guest WLAN 映射到以前创建的动态接口 guest
b. 转到 安全 选项卡 点击 Layer 2 标签并设置安全为 None 这意味着当您使用 Web 认证时, 你不能选择第 2 层安全的参数为 802.1x 或 802.1x 与 WPA/WPA2 Web 认证与所有其他的 2 层安全参数兼容
c. 选择 Web Policy 检查框, 选择身份验证选项为 Authentication d. 从下拉菜单中选择适当的预认证 ACL 在这个例子中, 使用以前创建的预认证 ACL e. 点击 Apply 按钮 验证 无线客户端启用且用户在网页浏览器输入网址, 如 www.cisco.com 因为用户尚未经过身份 验证, 无线控制器将用户重定向到外部 Web 登录网址 用户被提示输入用户凭据 一旦用户提交用户名和密码, 登录页面拿到输入的用户凭据并提 交发送请求回 action_url 例如,http://1.1.1.1/login.html 这是作为输入参数提供给客户端 重定向 URL, 其中 1.1.1.1 是交换机上的虚拟接口地址 无线控制器使用本地数据库的用户进行身份验证 验证成功后, 无线控制器 Web 服务器发 送给用户配置好的重定向 URL 或客户端之前输入的 URL, 如 www.cisco.com
故障排查 使用下列调试命令可以对您的配置进行故障排查 * debug mac addr <client-mac-address xx:xx:xx:xx:xx:xx> * debug aaa all enable * debug pem state enable * debug pem events enable * debug dhcp message enable * debug dhcp packet enable * debug pm ssh-appgw enable * debug pm ssh-tcp enable 重定向到外部 Web 认证服务器的客户端收到一个证书警告 问题 : 当客户端被重定向到思科公司的外部 Web 认证服务器, 客户端收到一个证书警告 在服务器上有一个有效的证书, 如果你直接连接到外部 Web 认证服务器将不会收到证书警告 这是因为在无线控制器虚拟 IP 地址 (1.1.1.1) 被提交给客户端, 而不是与证书关联的外部 Web 认证服务器的实际 IP 地址? 解决方案 : 是的 无论你是否执行本地或外部 Web 认证, 你始终都需要和无线控制器上的内部 Web 服务器交互 当你重定向到外部 Web 服务器, 你还会收到来自无线控制器的证书警告, 除非你已经具有有一个无线控制器本身的有效证书 如果发送重定向到 HTTPS, 您会收到无线控制器和外部 Web 服务器证书警告, 除非双方都有一个有效的证书 为了消除证书警告, 你需要有一个根级别颁发的证书并下载到您的无线控制器 颁发证书的 主机名和你的无线控制器上的虚拟接口应对应 你还需要添加到主机名到您的本地 DNS 服 务器, 并将它指向到无线控制器虚拟 IP 地址 (1.1.1.1) 请参阅在无线控制器上通过证书签名请求 (CSR) 生成一个第三方证书以获得更多信息, 错误 : 无法显示网页 (Error: "page cannot be displayed") 问题 : 无线控制器升级到 4.2.61.0 后, 当您使用 Web 认证自定义下载的网页时出现 页面
无法显示 错误消息 但是升级之前页面是有效的 且默认的内部 Web 页面加载没有任何 问题 解决方案 : 从无线控制器 4.2 版本和以后, 一个新的功能引入其中, 你可以有多个定制化 Web 认证登录页面 为了正确的网页加载, 仅仅在 Security > Web Auth > Web login page 设置的 Web 身份验证类 型为定制是不够的 它也必须在特定的 WLAN 配置 为了做到这一点, 请完成以下步骤 : 1. 登录到无线控制器 GUI 2. 点击 WLANs 选项卡访问配置为 Web 认证的 WLAN 配置文件 3. 在 WLAN> Edit 页面, 点击 安全 选项卡 然后, 选择第 3 层 4. 此页面上, 选择 None 作为 3 层安全设置 5. 选中 Web Policy 检查框, 选择 Authentication 选项 6. 选择 Over-ride Global Config Enable 检查框, 选择 Web 认证类型 Customized (Downloaded), 并从登录页面下拉菜单选择所需的登录页面 点击 Apply 按钮 原文链接 :http://www.cisco.com/en/us/tech/tk722/tk809/technologies_configuration_example09186a008076f974.shtml 翻译人 : 谢清 译于 2012 年 8 月