ACL
1.ACL访问控制列表
1.ACL规则的基本组成
ACL标识+规则
2.访问控制列表的类型
访问控制类别可以分为标准ACL,拓展ACL,标准命名ACL,拓展命名ACL;
- access-list 是用数字来定义 acl (标准ACL和扩展ACL)
- ip access-list 是用名字来定义 acl(标准命名ACL和扩展命名ACL)
1.标准ACL
配置要点:
1) ACL默认最后有一条deny any,故允许(permit)的ACL应该写在上面。若是禁止某网段访问,其他网段均放通,则应该在最后加一条permit any。
2)标准的ACL只匹配源IP地址(不写掩码只是匹配单个ip,可以写掩码);
3)标准的ACL号是从1-99和1300-1999;
4)如果是单个IP地址,可写为access-list 1 permit host 192.168.1.1
2.扩展ACL
配置要点
1)扩展ACL可匹配源地址、目的地址、IP协议,tcp、udp、icmp、igmp待协议; 如要允许所有目的端口是tcp80端口的流量:access-list 100 per tcp any any eq 80
2)扩展ACL号为100-199和2000-2699
3.标准命令ACL
配置要点和标准acl基本一致,就是多了可以删除特定规则;
4.扩展命名ACL
配置要点和标准acl基本一致,就是多了可以删除特定规则,配置起来更加灵活;
3.确定ACL的IN、OUT方向
IN和OUT方向是相对的,要根据数据流的方向判断,以路由器为中心,数据流进入的方向是IN方向,数据流经过路由器转发出去的方向是OUT方向。
4.自反控制列表
自反访问控制列表会根据一个方向的访问控制列表,自动创建出一个反方向的控制列表,和原来的控制列表-IP的源地址和目的地址颠倒,并且源端口号和目的端口号完全相反的一个列表。利用自反ACL可以只允许出去的流量,但是阻止从外部网络产生的向内部网络的流量,从而可以更好地保护内部网络;
2.配置命令解读
1.标准ACL
\\标准访问控制列表,允许192.168.2.2访问目标地址;用于IN方向
access-list 1 permit 192.168.2.2
interface Ethernet0/0
\\注意区分in还是out方向
ip access-group 1 in
\\允许192.168.2.0网段访问目标地址
access-list 1 permit 192.168.2.0 0.0.0.255
2.扩展ACL
\\扩展ACL支持指定源地址,目标地址,这条命令指定只有192.168.2.1才能访问5.5.5.5
access-list 100 permit ip host 192.168.2.1 host 5.5.5.5
interface Ethernet0/0
ip access-group 100 in
3.标准命名ACL(standard)
\\标准命名ACL其实就是把ACL的数字用字符来表示,优点就是可以随意删除指定的permit或者deny语句,但是还是只能对源地址做限制,不够灵活
\\允许192.168.2.1访问所有目标ip,配置在in方向
ip access-list standard standtest1
permit 192.168.2.1
interface Ethernet0/0
ip access-group standtest1 in
4.扩展命名ACL(extend)
\\随意删除permit或者deny下面的策略,也可以对ip或者其他协议做策略
ip access-list extended extendtest1
\\允许192.168.3.0/24ping4.4.4.4,除了ping其他服务都不通,ping的目标地址除4.4.4.4以外的也不通
\\允许192.168.2.0/24这个段对5.5.5.5这个地址进行任意访问
50 permit icmp 192.168.3.0 0.0.0.255 host 4.4.4.4
60 permit ip 192.168.2.0 0.0.0.255 host 5.5.5.5
interface Ethernet0/0
ip access-group extendtest1 in
5.自反控制列表(refiect)
Route-Switch(config)#ip access-list extended infilter//在优先级低往优先级高的方向上建立自反控制列表
Route-Switch(config-ext-nacl)#permit ip any 172.16.20.0 0.0.0.255 refiect jsq//当符合任何网络访问172.16.20.0/16网络的数据流通过的时候,refiect关键字用于建立自反控制列表jsp
Route-Switch(config-ext-nacl)#exit
Route-Switch(config)#ip access-list extended outfilter//在优先级高去往优先级低的方向上应用自反控制列表
Route-Switch(config-ext-nacl)#evaluate jsq//(19)用关键字evaluate来调用已经产生的自反列表
Route-Switch(config-ext-nacl)#exit
Route-Switch(config)#interface fastethernet 0/1
Route-Switch(config-if)#ip access-group infilter in
Route-Switch(config-if)#ip access-group outfilter out//在优先级高去往优先级低的方向上应用这个自反列表
3.拓展
(1)内外网用户均可访问Web服务器,特定主机200.120.100.1可以通过Telnet访问Web服务器。
(2)禁止外网用户访问财务服务器,禁止财务部门访问Internet,允许生产部门和行政部门访问Internet。
根据以上需求,请按照防火墙的最小特权原则补充完成上表
第一行:内外网用户均可访问Web服务器,注意目的端口设置为80(协议为http)
第二行:主机200.120.100.1可以通过Telnet访问Web服务器(使用telnet协议,端口为23)
第三行: 允许生产部门和行政部门访问Internet。
第四行:禁止所有数据包通行(禁止财务部门访问Internet、外网用户访问财务服务器)
若调换上面配置中的第3条和第4条规则的顺序,则内网用户将无法访问Intrnet
因为前三条配置了允许的访问行为,其余的访问行为都被禁止了,防火墙会根据ACl的规则进行匹配放行
访问控制列表就是用来在路由技术的网络中,决定这些数据流量是应该被转发还是被丢弃的技术。同时访问控制列表成为实现防火墙实现的重要手段。
- 设置ACL的一些规则:
1,按顺序进行比较,先比较第一行,再比较第二行,直到最后一行;
2,从第一行起,直到找到1个符号条件的行;符合之后,其余的行就可以不用继续比较下去;
3,默认在每个ACL中最后一行都隐藏有拒绝所有,如果之前没找到一条允许(permit)语句,意味着包将会被丢弃,所以每个ACL必须至少有一行Permit语句,除非用户想把所有的数据包丢弃。
内容部分引自站内用户:https://www.cnblogs.com/romin/p/15680566.html,如有侵权,冒犯删除 - 定义一个 acl2000,用于匹配需要放行和阻断的路由
[R1]acl 2000
[R1-acl-basic-2000]rule deny source 10.3.0.0 0。//定义acl
[R1l-acl-basic-2000] rule permit
[R1-acl-basic-2000lquit
[R1]route-policy rip-rp permit node 10 //在这个节点拒绝source为10.3.0.0的路由,注意后面的if-match,匹配到哪个acl,则按照哪个acl规则执行
[R1-route-policy]if-match acl 2000
[R1-route-policy] quit
[R1] rip
[R1-rip-1]version 2
[R1-rip-1]network1 92.168.12.0
[R1-rip-1]import-route diect route-policy tip rip-rp //导入直连路由