510 likes | 644 Views
使用访问控制列表过滤流量. 介绍企业中的路由和交换 – 第 8 章. 章节目标. 描述传输过滤并解释访问控制列表 ( ACL ) 是如何在路由器接口上过滤传输的 . 分析通配符掩码的使用 . 配置并实施 ACL . 创建并应用 ACL 控制特定类型的流量 . 使用日志记录 ACL 行为,并结合 ACL 最佳作法. 章节索引. 8.1 使用访问控制列表 8.2 使用通配符掩码 8.3 配置访问控制列表 8.4 允许和拒绝指定类型的流量 8.5 使用访问控制列表控制流量. 8.1 使用访问控制列表. 介绍企业中的路由和交换 – 第 8 章.
E N D
使用访问控制列表过滤流量 介绍企业中的路由和交换 – 第8章
章节目标 • 描述传输过滤并解释访问控制列表 (ACL) 是如何在路由器接口上过滤传输的. • 分析通配符掩码的使用. • 配置并实施ACL. • 创建并应用ACL控制特定类型的流量. • 使用日志记录ACL行为,并结合ACL最佳作法.
章节索引 • 8.1 使用访问控制列表 • 8.2 使用通配符掩码 • 8.3 配置访问控制列表 • 8.4 允许和拒绝指定类型的流量 • 8.5 使用访问控制列表控制流量
8.1使用访问控制列表 介绍企业中的路由和交换 – 第8章
8.1.1 流量过滤 • 分析数据包内容 • 允许或拒绝数据包 • 基于源IP,目的IP,MAC地址,协议和应用类型
8.1.1 流量过滤 常用流量过滤设备: • 集成路由器内置的防火墙 • 专用的安全设备 • 服务器
8.1.2 访问控制列表 ACL的用途: • 指定用于执行 NAT 的内部主机 • 分类流量以便实现 QoS 功能 • 限制路由更新的内容 • 控制调试输出 • 控制虚拟终端对路由器的访问
8.1.2 访问控制列表 使用 ACL 可能会带来一些问题: • 路由器上产生额外开销 • 可能导致网络终端 • 放置位置不当可能会引起未知后果
8.1.3 ACL的类型与用法 标准ACL • 标准 ACL 是三种类型中最简单的一类。创建标准的 IP ACL 时,ACL 根据数据包的源 IP 地址过滤数据包。标准 ACL 对流量的允许或拒绝是基于整个协议(例如 IP)的。因此,如果某台主机设备被标准 ACL 拒绝访问,则该主机提供的所有服务也会被拒绝访问。. • 对于允许或拒绝 IP 流量的访问列表,标识号的范围是 1 到 99和 1300 到 1999.
8.1.3 ACL的类型与用法 扩展ACL • 扩展 ACL 不仅可以根据源 IP 地址过滤,也可根据目的 IP 地址、协议和端口号过滤流量. • 扩展 ACL 的编号范围是 100 到 199 和 2000 到 2699.
8.1.3 ACL的类型与用法 命名 ACL • 命名 ACL (NACL) 是通过描述性名称(而非数字)引用的访问列表,命名 ACL 既可以是标准格式,也可以是扩展格式。配置命名 ACL 时,路由器的 IOS 会使用 NACL 子命令模式.
8.1.4 ACL处理方法 • 访问控制列表由一条或多条语句组成 • 至少有一条允许语句 • ACL 的最后一条语句都是隐式拒绝语句 • 在创建访问控制列表之后,必须将其应用到某个接口才可开始生效
8.1.4 ACL处理方法 • ACL可以应用为入站或出战 • 方向是相对路由器来说的 • 应用到接口出站方向的ACL不会影响该接口的入站流量. • 路由器的每个接口的每个协议在每个方向(入站和出站)上都可设置一个 ACL
8.2 使用通配符掩码 介绍企业中的路由和交换 – 第8章
8.2.1 ACL通配符掩码的用途和结构 • 通配符掩码可以通过一条语句阻止某个范围内的地址乃至整个网络 • 通配符掩码使用 0表示 IP 地址中必须完全匹配的部分 • 用1表示 IP 地址中不必与指定数字匹配的部分
8.2.1 ACL通配符掩码的用途和结构 • 使用参数host代替通配符掩码0.0.0.0 • 使用参数 any 代替通配符掩码255.255.255.255
8.2.1 ACL通配符掩码的用途和结构 • 所有其它数据包均被 ACL 隐含的deny any 语句拒绝。.
8.2.2 分析通配符掩码的作用 • 在创建 ACL 时,可以使用两个特殊参数代替通配符掩码,这两个参数分别是:host和 any. • Host 参数 要过滤某个特定的主机,请在 IP 地址后面使用通配符掩码 0.0.0.0或者在 IP 地址前面使用 host 参数. • Any 参数 要过滤所有主机,可将参数的所有位都设为 1,即将通配符掩码配置为 255.255.255.255。使用通配符掩码 255.255.255.255 时,所有比特位均视为匹配,因此,其 IP 地址通常表示为 0.0.0.0。另一种过滤所有主机的方法是使用 any 参数.
8.2.2 分析通配符掩码的作用 • R1(config)#access-list 9 deny 192.168.15.99 0.0.0.0 Is the same as: R1(config)#access-list 9 deny host 192.168.15.99 • R1(config)#access-list 9 permit 0.0.0.0 255.255.255.255 Is the same as: R1(config)#access-list 9 permit any
8.3 配置访问控制列表 介绍企业中的路由和交换 – 第8章
8.3.1 标准和扩展ACL的放置 • 步骤 1:确定流量过滤需求 • 步骤 2:确定使用哪种类型ACL 标准 ACL 只能根据源地址过滤流量,不能根据流量的类型或目的地址过滤流量。在多网络环境中,如果标准 ACL 离源地址太近,则可能会意外地阻止本应允许的流量。因此,务必将标准 ACL 尽量靠近目的地址.
8.3.1 标准和扩展ACL的放置 • 扩展 ACL 能够提供更强大的控制功能。扩展 ACL 可以根据源地址和目的地址过滤流量。如有必要,它们还可根据网络层协议、传输层协议和端口号过滤.扩展 ACL 应靠近源地址放置。
8.3.1 标准和扩展ACL的放置 • 步骤 3:确定要应用 ACL 的路由器和接口 • 步骤 4:确定要过滤的流量方向 入站流量是指从外部进入路由器接口的流量。路由器会在路由表中查询目的网络之前先将传入数据包与 ACL 进行比较。此时丢弃数据包可以节约路由查询的开销。因此,对路由器来说,入站访问控制列表的效率比出站访问列表更高。 . 出站流量系指路由器内部通过某个接口离开路由器的流量。对于出站数据包,路由器已经完成路由表查询并且已将数据包转发到正确的接口中。因此,只需在数据包离开路由器之前将其与 ACL 进行比较。
8.3.2 基本的ACL配置过程 • 每个 ACL 都需要有一个唯一的标识符。该标识符可以是一个数字,也可以是一个描述性名称. • 在用数字标识的访问控制列表中,数字标识所建 ACL 的类型: 标准 IP ACL: 1-99,1300-1999. 扩展 IP ACL :100-199,2000-2699.
8.3.2 基本的ACL配置过程 • 访问控制列表的配置分两步:创建和应用. • ACL 的创建 • 标准 ACL 语句的语法如下: access-list [access-list-number] [deny|permit] [source address] [source-wildcard][log] • 使用 remark 命令记录 ACL 中每段或每条语句的功能: access-list [list number] remark [text] • 要删除 ACL,请使用以下命令: no access-list [list number]
8.3.3 配置采用数字编号的标准ACL • ACL 的应用 • 将 ACL 指派到一个或多个接口,指定是入站流量还是出站流量。尽可能靠近目的地址应用标准 ACL. R2(config-if)#ip access-group access list number [in | out] • ACL 应用到接口上的默认方向是出站. • 要从接口中删除 ACL 而不破坏 ACL,请使用 no ip access-group interface 命令.
8.3.3 配置采用数字编号的标准ACL • show ip interface
8.3.3 配置采用数字编号的标准ACL • show access-list [access list number] • show running-config
8.3.4 配置采用数字编号的扩展ACL • 使用access-list命令键入语句 • 所有语句使用同一个数字 • 数字范围: 100-199, 2000-2699 • 确定要允许或拒绝的协议 • 尽可能靠近源放置
8.3.5 配置命名ACL • 用描述性的名字代替数字范围 • 使用ip access-list {standard | extended} name命令键入初始语句 • 以允许或拒绝起始接下来的语句 • 将命名 ACL 应用到接口的方法与应用标准 ACL 或扩展 ACL 的方法相同ACL
8.3.5 配置命名ACL • ACL 显示的行号为 10、20、30,依此类推。要查看行号,可使用命令: show access-lists • 要编辑现有的行,请执行以下操作: -使用 no line number命令删除该行 -使用其行号重新添加该行. -要将新行插入到已有的行 20 和行 30 之间,请执行以下操作: -使用 new ACL语句,以介于两个现有行号之间的数字(例如 25)开头
8.3.5 配置命名ACL • Delete/Change • Insert
8.3.6 配置路由器VTY访问 • 在线路配置模式中创建ACL • 使用access-class命令初始化 • 采用数字编号的 ACL • 对所有 VTY 线路应用相同的限制
8.4 允许和拒绝指定类型的流量 介绍企业中的路由和交换 – 第8章
8.4.1 配置ACL以便提供应用程序和端口过滤功能 • 在基于端口号过滤时,使用特定条件: eq –等于, gt - 大于, lt – 小于 • 对于像FTP这样的多端口应用程序拒绝所有相应端口 • 使用range操作符过滤一组端口号
8.4.2 配置ACL以便支持已建立的流量 • 阻止外部有害流量的同时允许内部用户自由通行 • Ping: 允许 echo replies 的同时拒绝来自外部网络的 echo requests • 根据条件检查包
8.4.3 NAT 和 PAT 对ACL位置的影响 • 在对NAT接口创建和应用ACL时应该考虑对NAT的影响 • 在NAT出向接口上过滤公有地址 • 在NAT入向接口上过滤私有地址
8.4.4 分析网络ACL及其位置 • 依次逐行检查每一个ACL,以避免未预知的结果
8.4.4 分析网络ACL及其位置 • 管理员需要逐行检查 ACL 并回答以下问题: -该语句拒绝什么服务? -源地址是什么,目的地址是什么? -拒绝哪些端口号? -如果将 ACL 移到其它接口,将会怎样? -如果让该 ACL 过滤相反方向的流量,将会怎样? -NAT 是否会带来问题? 在评估扩展 ACL 时,务必牢记以下几点: • 关键字 tcp 允许或拒绝 FTP、HTTP、Telnet 之类的协议. • 关键短语 permit ip 用于允许所有 IP 协议,包括任何 TCP、UDP 和 ICMP 协议.
8.4.5 在启用VLAN网间路由的情形下配置ACL • 当网络中启用 VLAN 网间路由时,有时需要使用 ACL 控制各个 VLAN 之间的流量. • 就像对物理接口应用 ACL 那样直接对 VLAN 接口或路由器上的子接口应用 ACL
8.5 使用访问控制列表过滤流量 介绍企业中的路由和交换 – 第8章
8.5.1 使用日志记录检验ACL功能 • 日志为拒绝或允许的数据包提供更多细节 • 在需要跟踪的每条ACL语句末尾添加log选项
8.5.1 使用日志记录检验ACL功能 • 事件记录到控制台会占用路由器的内存,而路由器的内存资源非常有限。因此,应将路由器配置为向外部服务器发送日志记录消息。这些消息称为 syslog消息,用户可以实时查看或以后查看这些消息.
8.5.1 使用日志记录检验ACL功能 • 先为第一个匹配的数据包生成消息,然后每 5 分钟生成一条消息. • 要关闭日志记录功能,请使用: no logging console • 要关闭所有调试功能,请使用: undebug all • 要关闭某项调试功能(例如 ip packet),请使用: no debug ip packet
8.5.2 分析路由器日志 系统日志信息包括: • 路由器接口状态Status of router interfaces • ACL 消息 • 带宽,正在使用的协议,配置事件
8.5.2 分析路由器日志 • 指定安装 syslog 服务器的主机 IP 地址的命令示例如下: logging 192.168.3.11 • 在故障排除时,应设置服务时间戳以便记录日志。务必正确设置路由器的日期和时间,以便日志文件能够正确地显示时间戳. • 使用 show clock 命令检查日期和时间设置. R1>show clock *00:03:45.213 UTC Mon Mar 1 2007 • 要设置时区,请输入以下命令: R1(config)#clock timezone CST -6 • 要设置时钟,请输入以下命令: R1#clock set 10:25:00 Sep 10 2007
8.5.3 ACL 最佳做法 • 在应用 ACL 之前务必测试基本的连通性。 • 在记录日志时,在 ACL 的末尾添加 deny ip any 语句 • 在使用远程路由器并测试 ACL 的功能时,请使用 reload in 30命令
章节总结 • ACL启用流量管理功能并保护进出网络的流量及其资源 • 应用 ACL 过滤入站或出战流量 • ACL可以是标准的,扩展的或是命名 • 借助通配符掩码可以增加灵活性 • 每个ACL末尾都有一个隐含的deny语句 • 创建和应用ACL时应考虑NAT • 日志为过滤流量提供了更多详细信息