本文档提供有关无线局域网控制器(WLC)上的访问控制列表(ACL)的信息。本文档说明当前限制和规则,并提供相关示例。本文档并非意在替代无线局域网控制器上的ACL配置示例,而是为了提供补充信息。
注意:对于第2层ACL或第3层ACL规则中的其他灵活性,思科建议您在连接到控制器的第一跳路由器上配置ACL。
当在ACL行中将协议字段设置为IP (protocol=4),意图是允许或拒绝IP数据包时,会发生最常见的错误。由于此字段实际选择封装在IP数据包中的内容,例如TCP、用户数据报协议(UDP)和互联网控制消息协议(ICMP),因此它转换为阻止或允许IP-in-IP数据包。除非要阻止移动IP数据包,否则不能在任何ACL行中选择IP。Cisco bug ID CSCsh22975(仅限于注册客户)将IP更改为IP-in-IP。
尝试进行此配置之前,请确保满足以下要求:
关于如何配置WLC和轻量级接入点(LAP)以满足基本运作的知识
基本了解轻量接入点协议 (LWAPP) 和无线安全方法
本文档不限于特定的软件和硬件版本。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
ACL由一条或多条ACL行组成,在ACL的末尾跟随一个隐式“deny any any”。每行都有以下字段:
序列号
方向
源IP地址和掩码
目的IP地址和掩码
协议
源端口
目的端口
DSCP
操作
本文档介绍了以下每个字段:
Sequence Number —指示ACL行对数据包的处理顺序。根据ACL处理数据包,直到它与第一个ACL行匹配。它还允许您在ACL中的任何位置插入ACL行,即使ACL已创建。例如,如果您的ACL行序列号为1,则可以通过在新的ACL行中输入序列号1来在行前面插入新的ACL行。这会自动将ACL中的当前行下移。
Direction -指示控制器在哪个方向上实施ACL行。有3个方向:入站、出站和任意。这些方向是从相对于WLC而不是无线客户端的位置获取的。
入站-检查来自无线客户端的IP数据包,看它们是否与ACL行匹配。
出站-检查发往无线客户端的IP数据包,看它们是否与ACL行匹配。
任何-检查从无线客户端发往无线客户端的IP数据包,看它们是否与ACL行匹配。ACL行同时应用于入站和出站方向。
注意:为方向选择“任意”(Any)时应使用的唯一地址和掩码是0.0.0.0/0.0.0.0 (任意)。您不能指定具有“任意”方向的特定主机或子网,因为需要换行地址或子网以允许返回流量。
Any方向只应在以下特定情况下使用:要阻止或允许两个方向的特定IP协议或端口、到无线客户端(出站)和来自无线客户端(入站)。
指定IP地址或子网时,必须将方向指定为Inbound或Outbound,并为相反方向的返回流量创建第二条新ACL行。如果将ACL应用于接口,并且不允许返回流量返回,则返回流量会被ACL列表末尾的隐式“deny any any”拒绝。
Source IP Address and Mask —定义从单个主机到多个子网的源IP地址,具体取决于掩码。掩码与IP地址一起使用,以确定当将IP地址与数据包中的IP地址进行比较时,应该忽略该IP地址中的哪些位。
注意:WLC ACL中的掩码与Cisco IOS® ACL中使用的通配符或反掩码不同。在控制器ACL中,255表示完全匹配IP地址中的二进制八位数,而0表示通配符。地址和掩码逐位组合。
掩码位1表示检查相应的位值。掩码中指定255表示所检测的数据包IP地址中的二进制八位数必须与ACL地址中相应的二进制八位数完全匹配。
掩码位0表示不检查(忽略)对应位值。掩码中指定0表示忽略所检查的数据包IP地址中的二进制八位数。
0.0.0.0/0.0.0.0等同于“任意”IP地址(0.0.0.0作为地址,0.0.0.0作为掩码)。
Destination IP Address and Mask —遵循与源IP地址和掩码相同的掩码规则。
Protocol -指定IP数据包报头中的协议字段。为了方便客户,某些协议编号进行了转换,并在下拉菜单中进行了定义。不同的值为:
任意(所有协议号均匹配)
TCP(IP协议6)
UDP(IP协议17)
ICMP(IP协议1)
ESP(IP协议50)
AH(IP协议51)
GRE(IP协议47)
IP(IP协议4 IP-in-IP [CSCsh22975])
Eth Over IP(IP协议97)
OSPF(IP协议89)
其他(请说明)
Any值匹配数据包IP报头中的任何协议。这用于完全阻止或允许传入/来自特定子网的IP数据包。选择IP以匹配IP-in-IP数据包。常用的选择是UDP和TCP,用于设置特定源和目标端口。如果选择其他,则可以指定IANA 定义的任何IP数据包协议编号。
Src Port -只能为TCP和UDP协议指定。0-65535等同于“任意端口”。
Dest Port —只能为TCP和UDP协议指定。0-65535等同于“任意端口”。
Differentiated Services Code Point (DSCP) -允许您指定要在IP数据包报头中匹配的特定DSCP值。下拉菜单中的选项是特定或Any。如果配置特定值,则在DSCP字段中指明该值。例如,可以使用0到63之间的值。
Action -这2个操作是deny或permit。Deny会阻止指定的数据包。允许转发数据包。
以下是基于WLC的ACL的限制:
您无法看到数据包与哪个ACL行匹配(请参阅Cisco Bug ID CSCse36574(仅限注册客户))。
您无法记录与特定ACL行匹配的数据包(请参阅Cisco Bug ID CSCse36574(仅限注册客户))。
IP数据包(以太网协议字段等于IP [0x0800]的任何数据包)是唯一由ACL检查的数据包。其他类型的以太网数据包无法被ACL阻止。例如,ACL无法阻止或允许ARP数据包(以太网协议0x0806)。
一个控制器最多可以配置64个ACL;每个ACL最多可以有64行。
ACL不会影响从接入点(AP)和无线客户端转发或发往这些接入点(AP)和无线客户端的组播和广播流量(请参阅Cisco Bug ID CSCse65613(仅限注册客户))。
在WLC版本4.0之前,ACL绕过管理接口,因此您无法影响发往管理接口的流量。在WLC版本4.0之后,您可以创建CPU ACL。有关如何配置此类ACL的详细信息,请参阅配置CPU ACL。
注意:应用于管理接口和AP管理器接口的ACL会被忽略。WLC上的ACL用于阻止无线和有线网络之间的流量,而不是有线网络和WLC之间的流量。因此,如果要完全阻止特定子网中的AP与WLC通信,需要在间歇性交换机或路由器上应用访问列表。这将阻止从这些AP (VLAN)到WLC的LWAPP流量。
ACL与处理器有关,可能会在负载较重的情况下影响控制器的性能。
ACL无法阻止对虚拟IP地址(1.1.1.1)的访问。因此,无法阻止无线客户端的DHCP。
ACL不会影响WLC的服务端口。
以下是基于WLC的ACL的规则:
您只能在ACL行中的IP报头(UDP、TCP、ICMP等)中指定协议号,因为ACL仅限于IP数据包。如果选择IP,则表明您希望允许或拒绝IP-in-IP数据包。如果选择Any,则表明您希望允许或拒绝使用任何IP协议的数据包。
如果方向选择Any,则源和目标应为Any (0.0.0.0/0.0.0.0)。
如果源IP地址或目标IP地址不是Any,则必须指定过滤器的方向。此外,必须为返回流量创建相反方向的逆向语句(交换源IP地址/端口和目标IP地址/端口)。
ACL的末尾有一个隐式“deny any any”。如果数据包与ACL中的任何行都不匹配,则由控制器丢弃该数据包。
在此配置示例中,客户端只能:
接收DHCP地址(ACL无法阻止DHCP)
Ping并被ping(任何ICMP消息类型-不能仅限于ping)
建立HTTP连接(出站)
域名系统(DNS)解析(出站)
要配置这些安全要求,ACL必须允许以下行:
任何方向上的任何ICMP消息(不能限制为仅使用ping)
任何UDP端口到DNS入站
DNS到任意UDP端口的出站(返回流量)
到HTTP入站方向的任何TCP端口
HTTP到任何TCP端口的出站(返回流量)
这是show acl detailed“MY ACL 1”命令输出中的ACL示例(仅当ACL名称大于1个单词时才会使用引号):
Seq Direction Source IP/Mask Dest IP/Mask Protocol Src Port Dest Port DSCP Action --- --------- --------------- --------------- -------- -------- --------- ---- ------ 1 Any 0.0.0.0/0.0.0.0 0.0.0.0/0.0.0.0 1 0-65535 0-65535 Any Permit 2 In 0.0.0.0/0.0.0.0 0.0.0.0/0.0.0.0 17 0-65535 53-53 Any Permit 3 Out 0.0.0.0/0.0.0.0 0.0.0.0/0.0.0.0 17 53-53 0-65535 Any Permit
如果您在DNS和HTTP ACL行中指定无线客户端所在的子网而不是“任何IP地址”,则ACL可能更受限制。
注意:DHCP ACL行不能进行子网限制,因为客户端最初使用0.0.0.0接收其IP地址,然后通过子网地址更新其IP地址。
下面是相同ACL在GUI中的外观:
在此配置示例中,7920 IP电话只能:
接收DHCP地址(无法被ACL阻止)
Ping并被ping(任何ICMP消息类型-不能仅限于ping)
允许DNS解析(入站)
与CallManager的IP电话连接,反之亦然(任意方向)
IP电话连接到TFTP服务器(CallManager在与UDP端口69建立初始TFTP连接后使用动态端口)(出站)
允许7920 IP电话与IP电话通信(任意方向)
禁用IP电话Web或电话目录(出站)。这通过ACL末尾的隐式“deny any any”ACL行完成。
这将允许IP电话之间的语音通信以及IP电话和CallManager之间的正常启动操作。
要配置这些安全要求,ACL必须允许以下行:
任何ICMP消息(不能限于ping)(任意方向)
IP电话到DNS服务器(UDP端口53)(入站)
DNS服务器到IP电话(UDP端口53)(出站)
IP电话TCP端口到CallManager TCP端口2000(默认端口)(入站)
从CallManager到IP电话的TCP端口2000(出站)
从IP电话到TFTP服务器的UDP端口。这不能限制为标准TFTP端口(69),因为CallManager在数据传输的初始连接请求之后使用动态端口。
用于音频流量的UDP端口IP电话之间的RTP (UDP端口16384-32767)(任意方向)
在本示例中,7920 IP电话子网为10.2.2.0/24,CallManager子网为10.1.1.0/24。DNS 服务器为 172.21.58.8。以下是show acl detail Voice命令的输出:
Seq Direction Source IP/Mask Dest IP/Mask Protocol Src Port Dest Port DSCP Action --- --------- --------------- --------------- -------- -------- --------- ---- ------ 1 Any 0.0.0.0/0.0.0.0 0.0.0.0/0.0.0.0 1 0-65535 0-65535 Any Permit 2 In 10.2.2.0/255.255.255.0 172.21.58.8/255.255.255.255 17 0-65535 53-53 Any Permit 3 Out 172.21.58.8/255.255.255.255 10.2.2.0/255.255.255.0 17 53-53 0-65535 Any Permit 4 In 10.2.2.0/255.255.255.0 10.1.1.0/255.255.255.0 6 0-65535 2000-2000 Any Permit 5 Out 10.1.1.0/255.255.255.0 10.2.2.0/255.255.255.0 6 2000-2000 0-65535 Any Permit 6 In 10.2.2.0/255.255.255.0 10.1.1.0/255.255.255.0 17 0-65535 0-65535 Any Permit 7 Out 10.1.1.0/255.255.255.0 10.2.2.0/255.255.255.0 17 0-65535 0-65535 Any Permit 8 In 10.2.2.0/255.255.255.0 0.0.0.0/0.0.0.0 17 16384-32767 16384-32767 Any Permit 9 Out 0.0.0.0/0.0.0.0 10.2.2.0/255.255.255.0 17 16384-32767 16384-32767 Any Permit
下面是GUI中的显示内容:
以下是7920 IP电话与Cisco CallManager (CCM)和其他IP电话通信所用端口的摘要说明:
Phone to CCM [TFTP](UDP端口69最初更改为动态端口[临时]用于数据传输)-用于下载固件和配置文件的简单文件传输协议(TFTP)。
Phone to CCM [Web Services, Directory] (TCP端口80) - XML应用、身份验证、目录、服务等的电话URL。这些端口可根据每个服务进行配置。
Phone to CCM [语音信令] (TCP端口2000) - Skinny客户端控制协议(SCCP)。此端口是可配置的。
Phone to CCM [Secure Voice Signaling] (TCP端口2443) -安全瘦客户端控制协议(SCCP)
Phone to CAPF [Certificates] (TCP端口3804) -用于向IP电话颁发本地重要证书(LSC)的证书颁发机构代理功能(CAPF)侦听端口。
Voice Bearer to/from Phone [Phone Calls] (UDP ports 16384 - 32768) -实时协议(RTP)、安全实时协议(SRTP)。
注意:CCM仅使用UDP端口24576-32768,但其他设备可以使用完整范围。
IP Phone to DNS Server [DNS] (UDP port 53) -当系统配置为使用名称而不是IP地址时,电话使用DNS解析TFTP服务器的主机名、CallManager和Web服务器主机名。
IP电话到DHCP服务器[DHCP] (UDP端口67 [客户端]和68 [服务器])-电话使用DHCP检索IP地址(如果未静态配置)。
5.0 CallManager用于通信的端口可以在Cisco Unified CallManager 5.0 TCP和UDP端口使用情况中找到。它还具有用于与7920 IP电话通信的特定端口。
4.1 CallManager用于通信的端口可以在Cisco Unified CallManager 4.1 TCP和UDP端口使用情况中找到。它还具有用于与7920 IP电话通信的特定端口。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
05-Mar-2008 |
初始版本 |