其实标准ACL,扩展ACL,基本ACL,高级ACL是同一个概念的不同名称,区别在于:
思科路由器支持标准ACL和扩展ACL两种类型的访问控制列表,没有”基本ACL“和”高级ACL“的概念,而华为路由器都支持
编号范围:
标准ACL:1-99和1300-1999
扩展ACL:100-199和2000-2999
基本ACL:2000~2999
高级ACL:3000~3999
其他概念是一样的:
基本ACL(标准ACL):只能匹配IP地址
高级ACL(扩展ACL):可匹配源IP地址,目的IP地址,源端口,目的端口,第三、四层字段协议
配置的顺序:
系统按照ACL规则编号从小到大顺序进行报文匹配,规则编号越小越容易被匹配。如果有两个或多个ACL规则的匹配条件相互重叠,且规则编号不同,系统将优先匹配规则编号小的ACL规则,而忽略规则编号大的ACL规则。
ACL的应用位置
入接口要先进行ACL的匹配,然后再路由,出接口先进行路由,再进行ACL的匹配
配置的方法:
标准ACL
列表编号为1,拒绝/允许源IP地址为192.168.1.0/24的包
access-list 1 deny/permit 192.168.1.0 0.0.0.255
进入某接口配置模式
int s0
在接口的出去/进来方向,调用编号为1的ACL
ip access-group 1 in/out
扩展ACL
列表编号为100,拒绝/允许源IP地址为192.168.1.0/24,目的IP地址为192.168.2.0/24,使用80端口(HTTP服务)的数据包
access-list 100 deny/permit 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 eq 80
进入某接口配置模式
int s0
在接口的出去/进来方向,调用编号为1的ACL
ip access-group 100 in/out
命名规则:
命名标准ACL:其命令格式如下:
ip access-list standard 名字
10 permit IP地址
20 deny IP地址
命名扩展ACL:其命令格式如下:
ip access-list extended 名字
10 permit tcp 源IP地址 目的IP地址 eq telnet
20 deny udp 源IP地址 目的IP地址 eq 520
基本ACL
acl 2000
rule 10 permit source 1.1.1.1 0 time-range 8:00-10:00
注:time-range可选
int g0/0/1
traffic-filter outbound/inbound acl 2000
高级ACL
acl 3000
rule 10 deny ip source 192.168.2.0 0.0.0.255 destination 192.168.4.4 0 time-range 8:00-10:00
int g0/0/1
traffic-filter outbound/inbound acl 3000
案例:
在Router上部署基本ACL后,ACL将试图穿越Router的源地址为192.168.1.0/24网段的数据包过滤掉,并放行其他流量,从而禁止192.168.1.0/24网段的用户访问Router右侧的服务器网络
1、Router已完成IP地址和路由的相关配置
2、在Router上创建基本ACL,禁止192.168.1.0/24网段访问服务器网络:
[Router] acl 2000
[Router-acl-basic-2000] rule deny source 192.168.1.0 0.0.0.255
[Router-acl-basic-2000] rule permit source any
3、由于从接口GE0/0/1进入Router,所以在接口GE0/0/1的入方向配置流量过滤
[Router] interface GigabitEthernet 0/0/1
[Router-GigabitEthernet0/0/1] traffic-filter inbound acl 2000
[Router-GigabitEthernet0/0/1] quit
总结:
1.ACL无法删除特定的条目,只能删除整个ACL;
2.ACL只过滤通过路由器的流量,不能过滤自己产生的流量;
3.ACL最后都有一条隐藏语句:deny any/deny ip any any。因此如果ACL都是拒绝语句,一般在最后会加上permit any/permit ip any any,用于放行其余流量;
4.标准ACL要放在靠近目的IP地址的地方,扩展ACL要放在靠近源IP地址的地方;
5.ACL可以同时用在接口的出和入方向上,但在一个接口的一个方向上只能有一个访问列表;
6.ACL对流量从上到下匹配,找到匹配条目马上执行,剩下的条目不再匹配;如果没有匹配则丢弃。因此精细匹配项应该放在前面。