第12章 ACL的基本配置.docx
《第12章 ACL的基本配置.docx》由会员分享,可在线阅读,更多相关《第12章 ACL的基本配置.docx(19页珍藏版)》请在冰豆网上搜索。
第12章ACL的基本配置
第12章ACL
12.1ACL理论指导
ACL是一种对网络通信流量的控制手段。
可以限制网络流量、提高网络性能。
在路由器端口处决定哪种类型的通信流量被转发或被阻塞。
ACL使用包过滤技术,在路由器上读取第三层及第四层包头中的信息如源地址、目的地址、源端口、目的端口等,根据预先定义好的规则对包进行过滤,从而达到访问控制的目的。
ACL是一系列permit或deny语句组成的顺序列表,应用于IP地址或上层协议。
ACL可以从数据提取以下信息,根据规则进行测试,然后决定是“允许”还是“拒绝”:
●源IP地址
●目的IP地址
●ICMP消息类型
●TCP/UDP源端口
●TCP/UDP目的端口
当每个数据包经过接口时,都会与该接口上的ACL中的语句从上到下一行一行进行比对,如果数据包报头与某条ACL语句匹配,由匹配的语句决定是允许还是拒绝该数据包。
如果数据包报头与ACL语句不匹配,那么将使用列表中的下一条语句测试数据包。
直到抵达列表末尾。
最后一条隐含的语句适用于不满足之前任何条件的所有数据包。
并会发出“拒绝”指令。
直接丢弃它们。
最后这条语句通常称为“隐式denyany语句”或“拒绝所有流量”语句。
由于该语句的存在,所以ACL中应该至少包含一条permit语句,否则ACL将阻止所有流量。
3P原则:
每种协议(perprotocol)、每个方向(perdirection)、每个接口(perinterface)配置一个ACL。
在适当的位置放置ACL可以过滤掉不必要的流量,使网络更加高效。
一般原则:
尽可能把扩展acl放置在距离要被拒绝的通信流量近的地方。
标准ACL由于不能指定目的地址,所以它们应该尽可能放置在距离目的地最近的地方。
当要删除ACL时,首先在接口上输入noipaccess-group命令,然后输入全局命令noaccess-list删除整个ACL。
通配符掩码
通配符掩码是一串二进制数字,它告诉路由器应该查看子网号的哪个部分。
尽管通配符掩码与子网掩码没有任何功能上的联系,但它们确实具有相似的作用。
此掩码用于确定应该为地址匹配应用多少位IP源或目的地址。
掩码中的数字1和0标识如何处理相应的IP地址位。
●通配符掩码位0—匹配地址中对应位的值
●通配符掩码位1—忽略地址中对应位的值
标准IPACL
标准IPACL的序列号的范围是1到99或1300到1999之间.标准IPACL仅仅根据源IP地址允许或拒绝流量,其中反掩码用于控制网段范围.另外如果使用关键字host,反掩码即为0.0.0.0,可省略不写.并且要一记住IPACL末尾默认隐含的全部拒绝.
标准IPACL的格式为:
Router(config)#access-list{access-list-number}{permit|deny}[host]{source-ip-address}[inverse-mask]
接口配置模式下应用IPACL:
Router(config-if)#ipaccess-group{access-list-number}{in|out}
参数说明:
access-list-number:
ACL的编号。
deny:
匹配条件时拒绝访问。
Permit:
匹配条件时准许访问。
Remark:
在IP访问列表中添加备注,增强列表的可读性。
source-ip-address:
源IP。
inverse-mask:
通配符掩码。
In:
在数据进入路由器前检测数据。
Out:
在数据出路由器前检测数据。
例如:
在图4-1中禁止PC1访问路由器ASUQA:
图4-1
路由器ASUQA配置如下:
ASUQA#configureterminal
Enterconfigurationcommands,oneperline.EndwithCNTL/Z.
ASUQA(config)#access-list1deny192.168.0.00.0.0.255
ASUQA(config)#access-list1permitany
ASUQA(config)#interfaceserial0
ASUQA(config-if)#ipaccess-group1in
ASUQA(config-if)#end
ASUQA#
测试:
AIKO#ping
Protocol[ip]:
TargetIPaddress:
172.16.0.2
Repeatcount[5]:
Datagramsize[100]:
Timeoutinseconds[2]:
Extendedcommands[n]:
y
Sourceaddressorinterface:
192.168.0.1
Typeofservice[0]:
SetDFbitinIPheader?
[no]:
Validatereplydata?
[no]:
Datapattern[0xABCD]:
Loose,Strict,Record,Timestamp,Verbose[none]:
Sweeprangeofsizes[n]:
Typeescapesequencetoabort.
Sending5,100-byteICMPEchosto172.16.0.2,timeoutis2seconds:
Packetsentwithasourceaddressof192.168.0.1
.....
Successrateis0percent(0/5)
AIKO#
扩展IPACL
扩展IPACL的序列号的范围是100到199.扩展ACL根据多种属性(例如,协议类型、源和IP地址、目的IP地址、源TCP或UDP端口、目的TCP或UDP端口)过滤IP数据包,并可依据协议类型信息(可选)进行更为精确的控制。
扩展IPACL的格式为:
Router(config)#access-list{access-list-number}{permit|deny}protocolsource[inverse-mask][operatorport-number]destination[inverse-mask][operatorport-number][established]
接口配置模式下应用IPACL:
Router(config-if)#ipaccess-group{access-list-number}{in|out}
参数说明:
protocol:
用来指定协议类型,如IP、TCP、UDP、ICMP以及IGRP等
inverse-mask:
源和目的的通配符掩码
operator:
operand包括It,gt,eq,neq(分别是小于、大于、等于、不等于)和一个端口号
port-number:
端口号。
例如:
在图4-1中对禁止PC1Telnet路由器ASUQA,拒绝来自子网192.168.0.0的FTP流量进入子网172.16.0.0,但允许所有其它流量
路由器ASUQA配置如下:
ASUQA#configureterminal
Enterconfigurationcommands,oneperline.EndwithCNTL/Z.
ASUQA(config)#access-list101denytcp192.168.0.00.0.0.255host172.16.0.2eq23
ASUQA(config)#access-list101denytcp192.168.0.00.0.0.255host202.100.199.1eq23
ASUQA(config)#access-list101permitipanyany
ASUQA(config)#interfaceserial0
ASUQA(config-if)#ipaccess-group101in
ASUQA(config-if)#end
路由器AIKO配置如下:
ASUQA#configureterminal
Enterconfigurationcommands,oneperline.EndwithCNTL/Z.
AIKO(config)#access-list102denytcp192.168.0.00.0.0.255172.16.0.00.0.0.3eq21
AIKO(config)#access-list102denytcp192.168.0.00.0.0.255172.16.0.00.0.0.3eq20
AIKO(config)#access-list102permitipanyany
AIKO(config)#interfacee0
AIKO(config-if)#ipaccess-group102in
AIKO(config-if)#end
命名IPACL
命名ACL允许在标准ACL和扩展ACL中,使用字符串代替前面所使用的数字来表示ACL。
命名ACL让人更容易理解其作用。
命名IPACL允许您删除指定ACL中的具体条目。
您可以使用序列号将语句插入命名ACL中的任何位置。
配置模式和命令语法与普通ACL略有不同。
标准命名ACL格式为:
Router(config)#ipaccess-liststandardname
Router(config-std-nacl)#{permit|deny}[host]{source-ip-address}[inverse-mask]
接口配置模式下应用命名ACL:
Router(config-if)#ipaccess-group{name}{in|out}
扩展命名ACL格式为:
Router(config)#ipaccess-listextendedname
Router(config-ext-nacl)#{permit|deny}protocolsource[inverse-mask][operatorport-number]destination[inverse-mask][operatorport-number][established]
接口配置模式下应用命名ACL:
Router(config-if)#ipaccess-group{name}{in|out}
参数说明:
extended:
用来指定该ACL为命名的扩展ACL。
standard:
用来指定该ACL为命名的扩展ACL
例如:
在图4-1中禁止PC1访问路由器ASUQA:
路由器ASUQA配置如下:
ASUQA#configureterminal
Enterconfigurationcommands,oneperline.EndwithCNTL/Z.
ASUQA(config)#ipaccess-listjinzhipc1
ASUQA(config-std-nacl)#deny192.168.0.00.0.0.255
ASUQA(config-std-nacl)#permitany
ASUQA(config)#interfaceserial0
ASUQA(config-if)#ipaccess-groupjinzhipc1in
ASUQA(config-if)#end
ASUQA#
例如:
在图4-1中对禁止PC1Telnet路由器ASUQA,.
路由器ASUQA配置如下:
ASUQA#configureterminal
Enterconfigurationcommands,oneperline.EndwithCNTL/Z.
ASUQA(config)#ipaccess-listextendeddpc1t
ASUQA(config-ext-nacl)#denytcp192.168.0.00.0.0.255host172.16.0.2eq23
ASUQA(config-ext-nacl)#denytcp192.168.0.00.0.0.255host202.100.199.1eq23
ASUQA(config-ext-nacl)#permitipanyany
ASUQA(config)#interfaceserial0
ASUQA(config-if)#ipaccess-groupdpc1tin
ASUQA(config-if)#end
在接口上应用ACL
使用ipaccess-group命令将其关联到接口:
语法格式:
Router(config-if)#ipaccess-group{access-list-number|access-list-name}{in|out}
参数说明:
access-list-number:
ACl的编号。
access-list-name:
ACL的名字。
in:
把ACl放在入口。
Out:
把ACl放在出口。
例如:
Router(config)#interfaceserial0/0
Router(config-if)#ipaccess-groupdpc1tin
在VTY上应用ACL
在vty线路上使用ACL,过滤流量,使vty更加安全。
只有编号访问列表可以应用到VTY。
语法格式:
Router(config-line)#access-classaccess-list-number{in[vrf-also]|out}
参数说明:
in:
限制特定Cisco设备与访问列表中地址之间的传入连接。
Out:
限制特定Cisco设备与访问列表中地址之间的传出连接。
例如:
router(config)#linevty04
router(config-line)#passcisco
router(config-line)#login
router(config-line)#access-class11in
12.2实验1:
标准ACL
1、实验目的
通过本实验掌握标准ACL的配置。
2、虚拟场景
假设某公司有三个部门财务部,销售部,人事部,禁止销售部,人事部访问财务部的。
禁止财务部上外网。
3、实验拓扑
图4-2实验1,实验2,实验3和实验4拓扑图
4、实验步骤
步骤1:
在各路由器上配置IP地址,串口时钟和路由协议,保证直连链路的连通
在财务部路由器R2上按图4-2进行设置如下:
ROUTER>enable
ROUTER#configterminal
Enterconfigurationcommands,oneperline.EndwithCNTL/Z.
ROUTER(config)#hostnamecw
CW(config)#interf0/0
CW(config-if)#ipaddress192.168.30.1255.255.255.0
CW(config-if)#noshutdown
CW(config)#interf0/1
CW(config-if)#ipaddress192.168.40.1255.255.255.0
CW(config-if)#noshutdown
CW(config-if)#inters0/0
CW(config-if)#ipaddress172.16.0.6255.255.255.30
CW(config-if)#clockrate64000
CW(config-if)#noshutdown
CW(config-if)#inters0/1
CW(config-if)#ipaddress172.16.0.9255.255.255.30
CW(config-if)#clockrate64000
CW(config-if)#noshutdown
CW(config)#routerospf1
CW(config-router)#network192.168.30.00.0.0.255area0
CW(config-router)#network192.168.40.00.0.0.255area0
CW(config-router)#network172.16.0.40.0.0.3area0
CW(config-router)#network172.16.0.80.0.0.3area0
在人事部路由器上按图4-2进行设置如下:
ROUTER(config)#hostnamersh
RSH(config)#interf0/0
RSH(config-if)#ipaddress192.168.50.1255.255.255.0
RSH(config-if)#noshutdown
RSH(config)#interf0/1
RSH(config-if)#ipaddress192.168.60.1255.255.255.0
RSH(config-if)#noshutdown
RSH(config-if)#inters0/0
RSH(config-if)#ipaddress172.16.0.10255.255.255.30
RSH(config-if)#clockrate64000
RSH(config-if)#noshutdown
RSH(config-if)#inters0/1
RSH(config-if)#ipaddress172.16.0.2255.255.255.30
RSH(config-if)#noshutdown
RSH(config)#routerospf1
RSH(config-router)#network192.168.60.00.0.0.255area0
RSH(config-router)#network192.168.50.00.0.0.255area0
RSH(config-router)#network172.16.0.00.0.0.3area0
RSH(config-router)#network172.16.0.80.0.0.3area0
在销售部路由器上按图4-2进行设置如下
ROUTER(config)#hostnamexsh
XSH(config)#interf0/0
XSH(config-if)#ipaddress192.168.10.1255.255.255.0
XSH(config-if)#noshutdown
XSH(config)#interf0/1
XSH(config-if)#ipaddress192.168.20.1255.255.255.0
XSH(config-if)#noshutdown
XSH(config-if)#inters0/0
XSH(config-if)#ipaddress172.16.0.1255.255.255.30
XSH(config-if)#noshutdown
XSH(config-if)#inters0/1
XSH(config-if)#ipaddress172.16.0.5255.255.255.30
XSH(config-if)#noshutdown
XSH(config-if)#inters0/2
XSH(config-if)#ipaddress172.1.1.1255.255.255.30
XSH(config-if)#noshutdown
XSH(config)#routerospf1
XSH(config-router)#network192.168.10.00.0.0.255area0
XSH(config-router)#network192.168.20.00.0.0.255area0
XSH(config-router)#network172.16.0.00.0.0.3area0
XSH(config-router)#network172.16.0.40.0.0.3area0
XSH(config-router)#network172.1.1.00.0.0.3area0
步骤2:
在各个路由器上放置标准ACL
CW(config)#access-list2deny192.168.50.00.0.0.255
CW(config)#access-list2deny192.168.60.00.0.0.255
CW(config)#access-list2permitany
CW(config)#access-list1deny192.168.10.00.0.0.255
CW(config)#access-list1deny192.168.60.00.0.0.255
CW(config)#access-list1permitany
CW(config-if)#inters0/0
CW(config-if)#ipaccess-group1in
CW(config-if)#inters0/2
CW(config-if)#ipaccess-group2in
XSH(config)#access-list1deny192.168.30.00.0.0.255
XSH(config)#access-list1deny192.168.40.00.0.0.255
XSH(config)#access-list1permitany
XSH(config-if)#inters0/2
XSH(config-if)#ipaccess-group1out
5、实验调试及注意事项
在没有应用ACL前测试连通性:
人事部,销售部的主机ping财务部的主机都会出现:
PC>ping192.168.40.2
Pinging192.168.40.2with32bytesofdata:
Replyfrom192.168.40.2:
bytes=32time=125msTTL=126
Replyfrom192.168.40.2:
bytes=32time=79msTTL=126
Replyfrom192.168.40.2:
bytes=32time=94msTTL=126
Replyfrom192.168.40.2:
bytes=32time=93msTTL=126
Pingstatist