ACL基本知识点:
1.ACL(Access Control List),访问控制列表。基本原理:配置了ACL的网络设备根据事先设定好的报文匹配规则对经过该设备的报文进行匹配,然后对匹配上的报文执行事先设定好的处理动作。
2.ACL常常与防火墙(Firewall)、路由策略、QoS(Quality of Service)、流量过滤(Traffic Filtering)等技术结合使用。
3.ACL的类型:
基本ACL(2000-2999)
高级ACL(3000-3999)
二层ACL(4000-4999)
用户自定义ACL(5000-5999)
4.一个ACL通常由若干条“deny|permit”语句组成。permit,允许;deny,拒绝。一个ACL中的每一条规则都有相应的编号,称规则编号。规则编号的缺省值为5,若将规则编号的步长设定为10,则规则编号将按照10、20、30...这样的规律进行自动分配。步长大小反映相邻规则编号之间的间隔大小。
5.基本ACL:
(1)只能基于IP报文的源IP地址、报文分片标记和时间段信息来定义规则。
(2)基本结构:
rule [rule-id] {permit|deny} [source {source-address source-wildcard | any}] | fragment | logging | time-range time-name]
解释:
source:表示源IP地址信息。
source-address:表示具体的源IP地址
source-wildcard:表示与source-address相对应的通配符。
any:表示源地址可以是任何地址。
fragment:表示该规则只对非首片分片报文有效。
logging:表示需要将匹配上该规则的IP报文进行日志报录。
time-range:表示该规则的生效时间段为time-name.
(3)实例:
如图所示,某公司网络包含了研发部区域,人力资源部区域和财务部区域。在研发部区域中,有一台专供实习人员使用的PC,该PC的IP地址为172.16.10.100/24。处于网络安全方面的考虑,需要禁止财务部区域接收到实习人员发送的IP报文。我们可以在路由器R上配置基本ACL,根据源IP地址信息识别实习人员发出的IP报文,然后在GE1/0/3接口的出方向(Outbound方向)上拒绝放行源IP地址为172.16.10.100的IP报文。
命令:
a.在系统视图下创建一个编号为2000的ACL。
[R1]acl 2000
[R1-acl-basic-2000]
b.在ACL 2000的视图下创建规则。
[R1-acl-basic-2000]rule deny source 172.16.1.100 0.0.0.0
(拒绝源IP地址为172.16.1.100的IP报文)
c.使用报文过滤技术中的traffic-filter命令将ACL 2000应用在R的GE1/0/3接口的出方向上。
[R1-acl-basic-2000]quit
[R1]interface GigabitEthernet1/0/3
[R1-GigabitEthernet1/0/3]traffic-filter outbound acl 2000
6.高级ACL:
(1)可根据IP报文的源IP地址、IP报文的目的IP地址、IP报文的协议字段的值、IP报文的优先级的值、IP报文的长度值、TCP报文的源端口号、TCP报文的目的端口号、UDP报文的源端口号、UDP报文的目的端口号等来定义规则。
(2)简化的配置命令格式:
rule [rule-id] {permit|deny} ip [destination {destination-address destination-wildcard | any}] [source {source-address source-wildcard | any}]
(3)实例:
如图所示,某公司网络包含了研发部区域,人力资源部区域和财务部区域。在研发部区域中,有一台专供实习人员使用的PC,该PC的IP地址为172.16.10.100/24。要求实习人员无法接收到来自财务部区域的IP报文。在这种情况下可以在路由器R上配置高级ACL。高级ACL可以根据目的IP地址信息识别出去往实现人员的IP报文,然后在GE1/0/3接口的入方向(Inbound方向)上拒绝放行这样的IP报文。
命令:
a.在R的系统视图下创建一个编号为3000的ACL。
[R1]acl 3000
[R1-acl-adv-3000]
b.在ACL视图下创建规则。
[R1-acl-adv-3000]rule deny destination 172.16.10.100 0.0.0.0
[R1-acl-adv-3000]
拒绝目的IP地址为172.16.10.100的IP报文。
c.使用报文过滤技术中的traffic-filter命令将ACL 3000应用在R的GE1/0/3接口的入方向上。
[R1-acl-adv-3000]quit
[R1]interface GigabitEthernet1/0/3
[R1-GigabitEthernet1/0/3]traffic-filter inbound acl 3000
[R1-GigabitEthernet1/0/3]
通过以上配置,目的IP地址为172.16.10.100的IP报文便无法在入方向通过R的GE1/0/3接口。
7.基本ACL配置实例
如图所示,出于网络安全方面的考虑,我们希望只有网络管理员的PC才能通过Telnet方式登录到路由器Router上,其他PC都不能通过Telnet方式登录到路由器。
- 配置思路:
(1) 在路由器R1上创建基本ACL。
(2) 在基本ACL中制定规则,区分网管人员的PC发出的IP报文和其他PC发出的IP报文。
(3) 在VTY(Virtual Type Terminal)上应用所配置的基本ACL。
**
user-interface vty 0 4参数说明:
user-interface 是指用户界面。
vty ,全称为Virtual Teletype Terminal,指虚拟终端。不带vty的,就是实实在在的端口。
0 4 :0是初始值,4是结束值。表示可同时打开5个会话,进入交换机去配置命令,并且使用的配置都是一样的。
2.配置步骤:
(1)在路由器上创建ACL。对于基本ACL,acl-number的值必须在2000-2999的范围内,这里设为2000。另外假设网管人员的PC(IP地址为172.16.10.2)已经使用Telnet方式登录上路由器R1。
#配置路由器R1
[R1]acl 2000
[R1-acl-basic-2000]
(2) 在ACL 2000视图下制定规则,其含义是允许(permit)源IP地址为172.16.10.2的IP报文。
#配置路由器R1
[R1-acl-basic-2000]rule peimit source 172.16.10.2 0
再制定一条规则,其含义是拒绝(deny)源IP地址为任意地址的IP报文。
#配置路由器R1
[R1-acl-basic-2000]rule deny source any
制定完规则后,可使用命令来查看ACL 2000的配置信息。
[R1-acl-basic-2000]quit
[R1]quit
<R1>display acl 2000
(3) 在VTY上应用ACL 2000。
#配置路由器R1
[R1]user-interface vty 0 4
[R1-ui-vty0-4]
[R1-ui-vty0-4]acl 2000 inbound
为了确认配置是否生效,先退出本次网管人员的Telnet登录,然后重新使用Telnet登录路由器,可以发现正常登录。
<PC>telnet 172.16.0.1
在路由器上重新查看ACL 2000的配置信息。
<R1>display acl 2000
在其他PC上使用Telnet方式登录路由器,发现无法正常登录。
<PC>telnet 172.16.0.1