2.5.2 相关知识:访问控制列表

2.5.2 相关知识:访问控制列表

1.访问控制列表ACL概述

访问控制列表ACL(access control list)最直接的功能便是包过滤。通过接入控制列表,可以在路由器、三层交换机上进行网络安全属性配置,可以实现对进入到路由器、三层交换机的输入数据流进行过滤。

(1)ACL命令中的反掩码:反掩码与子网掩码算法相似,但写法不同,反掩码中,0表示需要比较,1表示不需要比较。

(2)入栈(in)应用和出栈(out)应用:这两个应用是相对于设备的某一端口而言,当要对设备外的数据经端口流入设备时做访问控制,就是入栈(in)应用;当要对设备内的数据经端口流出设备时做访问控制,就是出栈(out)应用。

2.ACL的类型

ACL的类型主要分为标准IP访问控制列表(standard IP ACL)和扩展IP访问控制列表(extended IP ACL);主要的动作为允许(permit)和禁止(deny);主要的应用方法是入栈(in)应用和出栈(out)应用。

(1)编号的访问控制列表:在路由器上可以配置编号的访问控制列表,具体见以下介绍。

1)标准IP访问控制列表:所有的访问控制列表都是在全局配置模式下生成的。标准IP访问控制列表的格式如下。

access-list listnumber {permit|deny} address[wildcard–mask]

其中,listnumber是规则序号,标准IP访问控制列表的规则序号范围是1~99;permit和deny表示允许或禁止满足该规则的数据包通过;address是源地址IP;wildcard-mask是源地址IP的通配比较位,也称反掩码。

例如,(config)#access-list 1 permit 172.16.0.0 0.0.255.255

(config)#access-list 1 deny 0.0.0.0 255.255.255.255

2)扩展IP访问控制列表:扩展IP访问控制列表也是在全局配置模式下生成的。扩展IP访问控制列表的格式如下。

access-list listnumber{permit|deny}protocol source source-wildcard-mask destination destination-wildcard-mask[operator operand]

其中,扩展访问控制列表的规则序号范围是101~199;protocol是指定的协议,如TCP、UDP等;destination是目的地址;destination-wildcard-mask是目的地址的反掩码;operator和operand用于指定端口范围,默认为全部端口号0~65535,只有TCP和UDP协议需要指定端口范围。

扩展IP访问控制列表支持的操作符及其语法如表2-1所示。

表2-1 扩展IP访问控制列表支持的操作符

(2)命名的访问控制列表:在三层交换机上配置命名的ACL。可以采用创建ACL、接口上应用ACL、查看ACL这三个步骤进行。

1)创建standard IP ACLs:在特权配置模式,可以通过表2-2所示步骤来创建一条standard IP ACL。

表2-2 创建standard IP ACLs

下例显示如何创建一条standard IP access-list,该ACL名叫deny-host192.168.12.x。有两条ACE,第一条ACE拒绝来自192.168.12.0网段的任一主机,第二条ACE允许其他任意主机:switch(config)# ip access-list standard deny-host192.168.12.x

switch(config-std-nacl)# deny 192.168.12.0 0.0.0.255

switch(config-std-nacl)# end

switch # show access-list

2)创建extended IP ACLs:在特权配置模式,可以通过表2-3所示的步骤来创建一条extended IP ACL。

表2-3 创建extended IP ACLs

下例显示如何创建一条extended IP ACL,该ACL有一条ACE,用于允许指定网络(192.168.x.x)的所有主机以HTTP访问服务器172.168.12.3,但拒绝其他所有主机使用网络。

switch(config)# ip access-list extended allow_0xc0a800_to_172.168.12.3

switch(config-std-nacl)#permit tcp 192.168.0.0 0.0.255.255 host 172.168.12.3 eq www

switch(config-std-nacl)#end

switch # show access-list

3)将standard IP ACL及extended IP ACL应用到指定接口上:在特权模式,通过表2-4所示的步骤将IP ACLs应用到指定接口上。

表2-4 将IP ACLs应用到指定接口上

下例显示如何将access-list deny_unknown_device应用于VLAN接口2上。

switch(config)# interface vlan 2

switch(config-if)# ip access-group deny_unknown_device in

4)显示ACLs配置:可以通过表2-5所示的命令来显示ACLs配置。

表2-5 显示ACLs配置

下例显示名为ip_acl的standard IP access-lists的内容。

router # show ip access-lists ip_acl

standard ip access list ip_acl

permit host 192.168.12.1

permit host 192.168.9.1

下例显示名为ip_ext_acl的extended IP access-lists的内容。

router # show ip access-lists ip_ext_acl

extended ip access list ip_ext_acl

permit tcp 192.168.0.0 255.255.0.0 host 192.168.1.1 eq www

permit tcp 192.167.0.0 255.255.0.0 host 192.168.1.1 eq www

下例显示所有IP access-lists的内容。

switch # show ip access-lists

standard ip access list ip_acl

permit host 192.168.12.1

permit host 192.168.9.1

extended ip access list ip_ext_acl

permit tcp 192.168.0.0 0.0.255.255 host 192.168.1.1 eq www

permit tcp 192.167.0.0 0.0.255.255 host 192.168.1.1 eq www

下例显示所有access-lists的内容。

router # show access-lists

standard ip access list ip_acl

permit host 192.168.12.1

permit host 192.168.9.1

extended ip access list ip_ext_acl

permit tcp 192.168.0.0 0.0.255.255 host 192.168.1.1 eq www

permit tcp 192.167.0.0 0.0.255.255 host 192.168.1.1 eq www

extended MAC access list macext deny host 0x00d0f8000000 any aarp permit any any