设为首页收藏本站language 语言切换
查看: 2241|回复: 6
收起左侧

ACL讲课笔记!!!

[复制链接]
发表于 2009-10-29 21:28:14 | 显示全部楼层 |阅读模式
ACl的定义:一系列对包分类的条件

ACL的两种控制:转发层面的控制;对路由层面的控制

转发层面:对用户的数据包进行控制

路由层面:控制路由的通告内容

这里我想说一下的是数据链路其实可以看成分为两层

一层用来路由器学习路由时传递路由信息用 当路由器学到路由后用户就可以路由数据包了

转发和路由传递是一个相反的方向

ACL如何工作:1.按顺序比较acl的每一行,从第一行开始然后第二行,第三行
               2.比较acl的每一行时找到匹配则执行相应的动作,没发现匹配则比较下一行
3每个acl最后一行隐含的一条deny所有的语句
特别注意3 这是新手最容易忽视的
Acl的分类:
两大类:标准的acl;扩展的acl
还有一些如命名的acl,反射acl;动态acl;时间acl;CBAC
上面介绍了一些acl预备知识
正式介绍acl前两个概念大家要明白
两个概念:in bound 和 out bound
In bound:一般表示数据包从公网到内网
Out bound: 一般表示数据包从内网到公网
Acl能控制数据包的这两个方向
如果是inbound的流量在接口就接受acl的检查,完毕后再进入路由器就行路由
进行路由,。字打错了
如果是outbound的流量先进行路由再送到接口进行acl的检查
为什么要用acl?
我们可以控制上网流量,可以控制上网时间,更重要的是能防御一些攻击:DOS攻击 过滤ICMP信息
但是acl也有一些不足:控制的细粒度并不是很好,容易被欺骗
然后我再说说Acl的一些固有的规则:
这些很重要大家在做配置的时候一定会遇到这些问题
1 每个acl只能应用到一个接口,一个协议,一个方向,一个acl只能有一个入口acl和一个出口acl
2 写acl的时候要将严格匹配的放在前面
3 写完acl后一定要应用
4 acl只能过滤穿过路由器的流量,不能过滤其产生的流量
5标准的acl要放在靠近目的的地方
6扩展的acl要放在靠近源的地方
上面这些大家先看看做个了解,等听完整个讲座大家再回头研究
标准的acl:
特点:只检查源地址,允许或拒绝整个ip协议,只工作在3层

标准的acl可以用数字来写
例:access-list 10 deny host 172.16.30.2

1-99和1000-1999可用来表示标准的acl

Deny 和permit 表示动作  

大家都应该知道两个e文的意思吧:拒绝 允许

Host 172.16.30.2表示你要匹配的源地址

大家看到了那个host 吧

那叫做通配符  那我接下来讲下通配符

刚才看到有个host 表示host后面跟的地址是一个具体的主机地址而不是一个网段

主机地址大家都应该知道什么意思吧 就是一个掩码为32位的ip地址

同样host 172.16.30.2=172.16.30.2 0.0.0.0
注意ip地址后面跟的是反掩码,反掩码用来表示精确匹配
另外还有个any 举例
Access-list 10 permit any
表示允许任何源地址
Any= 0.0.0.0 255.255.255.255
我下面来扩展讲下一个问题 这个问题实际中用的并不多 大家做个了解
一个问题:如果想拒绝一个地址段acl应该怎么写?
这时要用到块大小的通配符
比如:access-list 10 deny 172.16.16.0 0.0.3.255
表示拒绝从172.16.16.0-172.16.19.0的网段  块大小是4
注意:用块大小就必选从块大小的倍数开始也可以用0开始,一些有效的块大小是4,8,16,32,64,这些应记住
可能大家对这个有点模糊 等下答疑的时候可以提出来讨论
扩展的acl;
特点:检查源目标地址和允许或拒绝特定的协议 能控制到第四层
同样先说下用数字表示的扩展acl
100-199和2000-2699 表示扩展acl
举例:
Access-list 110 deny tcp any eq 1000 172.16.48.0 0.0.25.255 eq 23
大家看到了这个acl拒绝了任何的源地址用1000做源端口到172.16.48.0这个网段的telnet连接
同样动作可以为permit,协议还可以是ospf,eigrp,udp,icmp 等等
最后你可以定义过滤哪个端口 eq 21 ,eq 80 等等
基本的关于两个acl的知识 我已经列出来  很简单大家回去了可以自己多做实验熟练一下
命名acl
其实它包含在上面两大类中
只是acl的另外一种写法而已,大家可以自己自由选择写法
举例:
access-list 10 deny host 172.16.30.2
ip access-list standard ACL
  deny host 172.16.30.2
我上面那个是刚才讲标准的acl举得一个例子 下面是用命名的acl表示这个acl
其实命名的acl就是用数字的acl的另外一种写法而已
大家自己做实验的时候 写完acl后用命令show ip access-list查看你配置的acl
看看两个写法有什么区别
我接个图先给大家看看
大家看到前面有个数字没?
都看到图了吧 前面有个10 20 的数字
命名的acl和数字acl一个区别就是命名的acl可以删除一条特定的语句
先敲入ip access-list standard ACL
然后 no XX(表示你要删除的那个语句前的数字)
数字的acl不能删除特定的一条,你一删就都删了
扩展命名的acl:
例子:
Access-list 110 deny tcp any eq 1000 172.16.48.0 0.0.25.255 eq 23
ip access-list extended ACL2=
  deny tcp any eq 1000 172.16.48.0 0.0.0.255 eq 23
上面那个也是我刚才讲扩展acl举得一个例子 大家看看命名的是怎么写的
我上面讲了很多这些acl都是要调用在接口下的
假设你选一个接口 :interface e0/0
ip access-group 10 in
就把10这个acl调用到接口的inbound方向了
当然你也可以调用在outbound方向 只要你把in 改为out就行
扩展的acl调用方法一样
另外 vty下也可调用acl
例如:
我先telnet一下---如图
昨天有个朋友说了telnet不上去
原因可能就是这样一个问题  我发个图
看到了吧系统提示你需要登录密码
然后我在r3上写一个acl
r3(config)#access-list 10 deny any
r3(config)#line vty 0 4
r3(config-line)#access-class 10 in
被拒绝了
这个命令表示的是 表示r3拒绝任何人telnet
NA中重点考察的acl我都讲完了 有几点大家要注意的是:
写完了acl一定要调用!在接口下调用 如果做得是vty在vty下调用
任何acl的结尾都隐含一个deny any大家一定要注意
还有一些acl 像交换机上的acl; acl的高级配置;是NP中的内容。反射acl;动态acl;时间acl;CBAC是CCSP中的内容
Acl 控制http
Ip http server : 打开http服务
ip http access-class 10 调用acl到http下
access-list 10 deny any
验证:telnet xx 80
access-list 10 deny any log :表示匹配这个acl后向控制台发送日志
但如果加了log 就在路由器上关闭了 cef
access-list 110 permit tcp any any range 80 1000 :range可以接一系列端口
表示允许80到1000的这个范围的端口
access-list 110 permit tcp any any gt 80:表示大于80端口
access-list 110 permit tcp any any lt 80 表示小于80
access-list 110 permit tcp any any neq 80 :表示不是80 的所有端口
在讲一下Acl对tcp的控制扩展:tcp标志旗
Syn:三次握手(连接请求)
Ack:回复
Fin:请求断开连接
Psh:类似ack
Rst:直接断开连接
为什么我要讲tcp标志旗?
从内网出去的syn我们认为都是安全的但是从公网来到我们内网的syn就不安全,我们通常deny掉,但是从内部发出去的tcp的syn外部要恢复ack这时我们要明确放行
access-list 110 permit tcp any any established ack 表示当内部发起的一个到外部的syn时路由器会为这个syn维持一个状态回程的ack会被放行,但是这只能检查到四层无法检查到会话层所以如果出去的会话遭到劫持acl同样会被黑客攻破
现实中很多会话流量都不是单向的,他们从内网出去后还要回程tcp三次握手就是例子
对此,标准的acl不能控制,扩展的acl可以控制但不是很好,只能检查标志旗
而对无状态的udp和icmp从内部发起的回程流量必须明确的用acl指明,有多少指多少
这显然不是很好 不现实
对于这个问题有另外的新技术解决
解决的技术有动态acl,反射acl,CBAC这些技术会在以后的CCSP课程中详细讲解  
然后还有一些acl的小feature我想提一下
clear ip access-list counter
表示清空acl的计数器
这个计数器我上面有张图显示了就是括号内的那个15match
你敲了这个命令那个数字就被清空了
show ip accounting access-violet
最后说下acl过滤分片 acl可以过滤但分片分多少并不知道  这点做的一点都不好  只能说有这个技术
IPS可以解决这个问题
好 今天的讲座完毕 谢谢大家大家可以去yy答疑
发表于 2009-10-29 22:25:22 | 显示全部楼层
一边讲的时候我已经做好了记录~!O(∩_∩)O哈哈~
沙发 2009-10-29 22:25:22 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2009-11-12 20:58:48 | 显示全部楼层
  
板凳 2009-11-12 20:58:48 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2009-11-26 14:03:55 | 显示全部楼层
很详细的讲解~~    如果在弄个视屏链接就好了
地板 2009-11-26 14:03:55 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2009-11-28 18:26:09 | 显示全部楼层
谢谢了啊!!!!
5# 2009-11-28 18:26:09 回复 收起回复
回复 支持 反对

使用道具 举报

匿名  发表于 2009-12-2 20:51:30
感谢,很详细的笔记。
6# 2009-12-2 20:51:30 回复 收起回复
回复 支持 反对

使用道具

发表于 2013-3-25 10:45:25 | 显示全部楼层
老师,能讲一下如何用扩展ACL控制telnet接入吗
7# 2013-3-25 10:45:25 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-5-26 02:30 , Processed in 0.062760 second(s), 24 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表