当前位置: 首页 > >

ACL(访问控制列表)的应用

发布时间:

ACL 的作用
ACL 可以限制网络流量、提高网络性能。例如,ACL 可以根据数据包的协议, 指定数据包的优先级。 ACL 提供对通信流量的控制手段。例如,ACL 可以限定或简化路由更新信息 的长度,从而限制通过路由器某一网段的通信流量。 ACL 是提供网络安全访问的基本手段。ACL 允许主机 A 访问人力资源网络, 而拒绝主机 B 访问。 ACL 可以在路由器端口处决定哪种类型的通信流量被转发或被阻塞。例如, 用户可以允许 E-mail 通信流量被路由,拒绝所有的 Telnet 通信流量。 例如: 某部门要求只能使用 WWW 这个功能, 就可以通过 ACL 实现; 又例如, 为了某部门的保密性,不允许其访问外网,也不允许外网访问它,就可以通过 ACL 实现。 ACL 应用在路由接口上(进方向、出方向),一个接口,一个方向,一个协 议只能应用一种 ACL,并且 ACL 不能过滤自己产生的数据。

ACL 的执行过程
一个端口执行哪条 ACL,这需要按照列表中的条件语句执行顺序来判断。如 果一个数据包的报头跟表中某个条件判断语句相匹配, 那么后面的语句就将被忽 略,不再进行检查。 数据包只有在跟第一个判断条件不匹配时, 它才被交给 ACL 中的下一个条件 判断语句进行比较。如果匹配(假设为允许发送) ,则不管是第一条还是最后一 条语句,数据都会立即发送到目的接口。如果所有的 ACL 判断语句都检测完毕, 仍没有匹配的语句出口,则该数据包将视为被拒绝而被丢弃。这里要注意,ACL 不能对本路由器产生的数据包进行控制。ACL 中应至少包含一条允许语句。

ACL 的分类
目前有两种主要的 ACL:标准 ACL 和扩展 ACL。 标准的 ACL 使用 1 ~ 99 以及 1300~1999 之间的数字作为表号;扩展的 ACL 使用 100 ~ 199 以及 2000~2699 之间的数字作为表号。 标准 ACL 可以阻止来自某一网络的所有通信流量, 或者允许来自某一特定网 络的所有通信流量,或者拒绝某一协议簇(比如 IP)的所有通信流量。 扩展 ACL 比标准 ACL 提供了更广泛的控制范围。例如,网络管理员如果希望 做到“允许外来的 Web 通信流量通过, 拒绝外来的 FTP 和 Telnet 等通信流量”, 那么,他可以使用扩展 ACL 来达到目的,标准 ACL 不能控制这么精确。 在标准与扩展访问控制列表中均要使用表号, 而在命名访问控制列表中使用 一个字母或数字组合的字符串来代替前面所使用的数字。 使用命名访问控制列表 可以用来删除某一条特定的控制条目, 这样可以让我们在使用过程中方便地进行 修改。 在使用命名访问控制列表时,要求路由器的 IOS 在 11.2 以上的版本,并 且不能以同一名字命名多个 ACL,不同类型的 ACL 也不能使用相同的名字。

随着网络的发展和用户要求的变化,从 IOS 12.0 开始,思科(CISCO)路由 器新增加了一种基于时间的访问列表。通过它,可以根据一天中的不同时间,或 者根据一星期中的不同日期,或二者相结合来控制网络数据包的转发。这种基于 时间的访问列表,就是在原来的标准访问列表和扩展访问列表中,加入有效的时 间范围来更合理有效地控制网络。首先定义一个时间范围,然后在原来的各种访 问列表的基础上应用它。 基于时间访问列表的设计中,用 time-range 命令来指定时间范围的名称, 然后用 absolute 命令,或者一个或多个 periodic 命令来具体定义时间范围。

标准访问控制列表: 标准访问控制列表: 检查源地址,允许、拒绝的是完整的协议。
命令 Router(config)#access-list access-list-number {permit|deny} source wildcard- mask Router(config-if)#ip access-group access-list-number { in | out } Router(config)#access-list 编号 策略 源地址 编号: 标准访问控制列表范围. 策略: permit 允许 | deny 拒绝 源地址:要严格检查的地址(源地址很关键) IP+通配符掩码 通配符掩码-----是用来限定特定的地址范围 用 0 表示严格匹配 用 1 表示不检查 (为了确定一个具体的主机地址是否匹配条件。路由器必须检查 IP 地址的每一 位 32 比特。路由器是怎么知道要检查比特位是多少------通配符掩码)定义了 我们要检查 IP 地址的位数。 例如:对于主机 172.16.1.1 通配符掩码 0.0.0.0 32 位都要检查 检查 16 位 24 位要检查 不检查 通配符掩码

对于主网 172.16.0.0/16 通配符掩码 0.0.255.255 对于子网 172.16.1.0/24 通配符掩码 0.0.0.255 任意的 0.0.0.0 通配符掩码 255.255.255.255 主机----host 任意----any 表示

提问:192.168.1.64/28 提问:

子网掩码是多少? 255.255.255.240

网络号是多少?

192.168.1.64/28 (借了 4 位.网络号是 16 的倍数) 网络号:192.168.1.160 (借用了 5 位.网络号是 32 的倍

[ (192.168.1.64/29 数)?)]

广播地址是多少? 192.168.1.79 通配符掩码 0.0.0.15

(下一个网络号-1) (比较前 28 位) 也称为反掩码

通配符掩码 = 255.255.255.255 - 子网掩码

与接口关联访问控制列表
Router(config-line)#ip access- group 编号 {in|out} 编号: 与该接口关联的访问控制列表号码 {in|out} 表明在哪个方向上的数据进行控制

扩展的访问控制列表
标准访问控制列表只能根据源地址来检查,数据包,它允许/拒绝的是整个 TCP/IP 协议集的数据.功能有限. 扩展的访问控制列表可以根据 源和目的地址,协议, 源和目的端口等来检查数 据包.更加灵活,条件细化. 扩展的访问控制列表格式 Router(config )#access-list access-list-number { permit | deny } protocol source wildcard-mask destination destination-wildcard [operator] [ operand ] Router(config-if)# ip access-group access-list-number { in | out }

Router(config)# access-list 编号 策略 协议 源地址 目的地址 操作 端口 编号:扩展的访问控制列表范围 策略:permit 允许 | deny 拒绝 协议:检查特定协议的数据包 如 TCP UDP ICMP 操作:有 lt(小于)、gt(大于)、eq(等于)、neq(不等于) 端口:协议的端口号

正确放置 ACL
标准 ACL 要尽量靠*目的端,扩展 ACL 要尽量靠*源端。

标准 ACL 配置

*巳缟贤妓 IP 地址: Router0-Router1 172.0.0.0/24 Router0-Router2 10.0.0.0/24 PC0 192.168.1.7 Laptop0 192.168.0.7 Server 169.0.0.4 命令 Router(config)#access-list access-list-number {permit|deny} source [mask] Router(config-if)#ip access-group access-list-number { in | out } 其中 mask 为反掩码 例如在 Router2 上限制 PC0 任何数据包通过 Router2(config)#access-list 1 deny 192.168.1.0 0.0.0.255 Router2(config)#access-list 1 permit any 若不加此句,则不能满足上一条的 数据包全部被隐含否决语句阻止 Router2(config)#interface serial 0/0/0 Router2(config-if)#ip access-group 1 in 应用在 serial 0/0/0 的出接口上

扩展 ACL 配置
*送 命令 Router(config )#access-list access-list-number { permit | deny } protocol source source-wildcard [operator port] destination destination-wildcard [ operator port ] [ established ] [log] Router(config-if)# ip access-group access-list-number { in | out }

在 Router1 上限制 Laptop0 访问 Server 的 HTTP 服务 Router1(config)#access-list 101 deny tcp 192.168.0.0 0.0.0.255 169.0.0.0 0.0.0.255 eq 80 Router1(config)#access-list 101 permit ip any any Router1(config)#interface serial 0/0/0 Router1(config-if)#ip access-group 101 out




友情链接: