zoukankan      html  css  js  c++  java
  • 网络技术:配置扩展 ACL

    ACL 数据包过滤

    使用标准 ACL 就可以实现流量过滤功能,但是标准 ACL 的功能是有限的。首先标准 ACL 会将符合过滤规则的源 IP 地址的所有流量都筛出来,但是有时候并不希望过滤掉所有的流量,例如我们只是想限制某网络对 HTTP 服务的访问时,标准 ACL 会将一切流量都过滤而非只过滤 HTTP。其次标准 ACL 只能在网络层进行过夜,也就是只能对于数据包的源 IP 地址进行过滤,这就导致了最好将标准 ACL 配置在尽可能靠近目的地的接口。在实际的情况下往往目的是由目的地的管理员才有权限配置,这就导致标准 ACL 的功能效果有限。

    扩展 ACL 可以在传输层和网络层进行过滤,也就是说使用扩展 ACL 可以对某种协议的流量进行过滤,这就使得安全策略可以配置得非常灵活。第二是扩展 ACL 可以对流量的目的地址进行过滤,这样不仅可以在数据包被路由之前就进行过滤减轻网络的负担,也能使过滤的功能更为强大。更重要的是,基于目的地址的过滤可以尽可能在靠近源的地方进行配置,就方便了网络管理员自行规划 ACL 策略。扩展 ACL 会对流量进行解包,根据数据包的协议类型(TCP、UDP 等协议)和端口号进行匹配。

    ACL 的放置

    对于接口来说,无论是扩展 ACL 还是标准 ACL,配置的规则是一样的——可以在每种协议、每个方向、每个接口上配置一个 ACL。

    • 每种协议一个 ACL:控制接口的流量,必须为接口上启用的每种协议定义一个 ACL。
    • 每个方向一个 ACL:一个 ACL 一次只能在一个接口上控制一个方向的流量,若要同时控制入站和出站流量,则必须分别创建两个 ACL。
    • 每个接口一个 ACL:ACL 为一个接口控制流量,例如GigabitEthernet O/0。


    对于整个网络来说,将扩展 ACL 放置在尽可能靠近需要过滤的流量源的位置上。这样不需要的流量会在靠近源网络的位置遭到拒绝,而无需通过网络基础设施。由于标准 ACL 不指定目的地址,所以其位置应该尽可能靠近目的地。除了 ACL 本身的功能决定了配置的方式,还有一些因素需要考虑:

    1. 网络管理员的控制范围:ACL 的放置位置取决于网络管理员是否能够同时控制源网络和目的网络。
    2. 相关网络的带宽:在源上过滤不需要的流量,可以在流量消耗通往目的地的路径上的带宽之前阻止流量传输。
    3. 配置的难易程度:扩展 ACL 可以在每台发出流量的路由器上使用,这通过在源上过滤流量而节省了带宽,但需要在多台路由器上创建扩展ACL。

    配置标准 ACL 还是扩展 ACL,需要放置在什么地方,需要具体问题具体分析。

    扩展 ACL 创建语法

    扩展 ACL 根据多种属性过滤 IP 数据包:

    • 协议类型;
    • 源 IPv4 地址;
    • 目的 IPv4 地址;
    • 源 TCP 或 UDP 端口;
    • 目的 TCP 或 UDP 端口;
    • 用于进行精确控制的可选协议类型信息。

    扩展 ACL 创建语法如下,命令涉及到了很多的参数。

    Router(config)# access-list access-list-number {deny | permit | remark description protocol {source source-wildcard) [operator port [port-number|acl-name]]{destination destination-wildcard) [operator port [port-number | acl-name]]
    
    参数 说明
    access-list-number 使用 100~199 和 2000~2699 之间的编号标识访问列表
    deny 匹配条件时拒绝访问
    permit 匹配条件时允许访问
    remark description 用于输入注释,便于理解
    protocol Internet 协议的名称或编号,常用关键字包括 icmp、ip、tcp 或 udp,要匹配所有 Internet 协议可以使用 ip 关键字
    source 指定了发送数据包的网络号或主机号
    source-wildcard 指定了用于源地址的通配符比特
    destination 指定了接收数据包的网络号或主机号
    destination-wildcard 指定了用于目的地址的通配符比特
    operator (可选)比较源或目的端口,运算符包括 lt(小于)、gt(大于)、ea(等于)、neq(不等于)、range(包括的范围)
    port (可选)指定 TCP 或 UDP 端口的编号或名称
    established (可选)仅用于 TCP 协议,指示已建立的连接

    配置扩展 ACL

    实验拓扑

    设备 接口 IP 地址 子网掩码 默认网关
    R1 G0/1 192.168.10.1 255.255.255.0 不适用
    Lo0 192.168.20.1 255.255.255.0 不适用
    S0/0/0 (DCE) 10.1.1.1 255.255.255.252 不适用
    ISP S0/0/0 10.1.1.2 255.255.255.252 不适用
    S0/0/1 (DCE) 10.2.2.2 255.255.255.252 不适用
    G0/0 209.165.200.226 255.255.255.224 不适用
    G0/1 209.165.201.2 255.255.255.224 不适用
    R3 G0/1 192.168.30.1 255.255.255.0 不适用
    Lo0 192.168.40.1 255.255.255.0 不适用
    S0/0/1 10.2.2.1 255.255.255.252 不适用
    S1 VLAN 1 192.168.10.11 255.255.255.0 192.168.10.1
    S3 VLAN 1 192.168.30.11 255.255.255.0 192.168.30.1
    PC-A NIC 192.168.10.3 255.255.255.0 192.168.10.1
    PC-C NIC 192.168.30.3 255.255.255.0 192.168.30.1
    Server0 NIC 209.165.200.225 255.255.255.224 不适用
    Server1 NIC 209.165.201.1 255.255.255.224 不适用

    在实验开始之前,需要先正确配置 PC、路由器和 WEB 服务器,并配置路由使得设备之间可以互通。

    配置并验证扩展编号 ACL

    对于该网络配置的安全策略如下:

    1. 允许来自 192.168.10.0/24 网络的 Web 流量访问任何网络。
    2. 允许 PC-A 通过 SSH 连接到 R3 串行接口。
    3. 允许 192.168.10.0/24 网络上的用户访问 192.168.20.0/24 网络。
    4. 允许来自 192.168.30.0/24 网络的 Web 流量通过 Web 界面访问 R1 及 ISP 上的 209.165.200.224/27 网络。192.168.30.0/24 网络不能通过 Web 访问其他任何网络。

    扩展编号 ACL 的编号范围是 100-199 和 2000-2699,在 R1 上配置 ACL,ACL 编号使用 100。

    R1(config)# access-list 100 remark Allow Web & SSH Access
    R1(config)# access-list 100 permit tcp any any eq 80
    

    HTTP 协议是 80 端口,所以应该把目的端口设为 80。如果将其置于 G0/1 上可能会阻止网络
    192.168.10.0/24 上的用户访问连接到 R1 的任何其他 LAN,如 192.168.20.0/24 网络。因此,您将把它放在 S0/0/0 的 out 方向上。

    R1(config)# interface s0/0/0
    R1(config-if)# ip access-group 100 out
    

    接下来查看 ACL 100 的配置情况,使用如下 2 个命令。

    R1# show access-lists
    R1# show ip interface s0/0/0
    



    验证 ACL 100,在 PC-A 上打开 Web 浏览器访问 http://209.165.200.225,此操作应该会成功。

    在 PC-A 的命令提示符下对 10.2.2.1 执行 ping 操作,由于 192.168.10.0/24 网络只允许
    web 流量退出,所以 ping 操作会失败。

    配置并验证扩展命名 ACL

    在 R3 上配置策略,将该 ACL 命名为“WEB-POLICY”。

    R3(config)# ip access-list extended WEB-POLICY
    R3(config-ext-nacl)# permit tcp 192.168.30.0 0.0.0.255 209.165.200.224 0.0.0.31 eq 80
    

    将 ACL “WEB-POLICY” 应用到 S0/0/1 接口。

    R3(config-ext-nacl)# interface S0/0/1
    R3(config-if)# ip access-group WEB-POLICY out
    

    接下来查看 ACL “WEB-POLICY” 的配置情况,使用如下 2 个命令。

    R3# show access-lists
    R3# show ip interface s0/0/1
    



    验证 ACL “WEB-POLICY”,在 PC-C 上打开 Web 浏览器访问 http://209.165.200.225 (ISP 路由器),此操作应该会成功。

    在 PC-C 上打开到 http://209.165.201.1 的 Web 会话,此操作应该会失败。

    在 PC-C 命令提示符下对 PC-A 执行 ping 操作,因为 192.168.30.0/24网络只允许 web 流量退出,所以 Ping 操作失败。

    修改并验证扩展 ACL

    由于 R1 和 R3 都应用了 ACL,因此 R1 和 R3 上的 LAN 网络之间不允许 ping 或其他流量类型。为了允许 192.168.10.0/24 和 192.168.30.0/24 网络之间的所有流量,需要修改 R1 和 R3 上的 ACL。
    在 R1 上进入全局配置模式并修改 ACL。

    R1(config)# ip access-list extended 100
    R1(config-ext-nacl)# 20 permit ip 192.168.10.0 0.0.0.255 192.168.30.0 0.0.0.255
    R1(config-ext-nacl)# end
    

    使用 show access-lists 命令查看 ACL 100。

    R1# show access-lists
    


    在 R3 上进入全局配置模式并修改 ACL。

    R3(config)# ip access-list extended WEB-POLICY
    R3(config-ext-nacl)# 20 permit ip 192.168.30.0 0.0.0.255 192.168.10.0 0.0.0.255
    R3(config-ext-nacl)# end
    

    使用 show access-lists 命令查看 ACL WEB-POLICY。

    R3# show access-lists
    


    在 PC-A 上对 PC-C 的 IP 地址执行 ping 操作,或者在 PC-C 上对 PC-A 的 IP 地址执行 ping 操作,现在都可以成功。

    参考资料

    《思科网络技术学院教程(第6版):扩展网络》,[加] Bob Vachon,[美] Allan Johnson 著,思科系统公司 译,人民邮电出版社
    《CCNA 学习指南(第 7 版)》,[美] Todd Lammle 著,袁国忠 徐宏 译,人民邮电出版社

  • 相关阅读:
    真情感动看上海新闻娱乐频道“百家心”
    Treeview Navigation Web Part for SharePoint with SmartPart v1.0
    轻松玩转Typed DataSet, Part III
    微软Avalon和WinForms的发展蓝图
    Proxy Pattern using C#
    System.Threading.Timer类的TimerCallback 委托
    SmartPart v1.0 for SharePoint [Free Web Part]
    分布式应用架构中的数据传输对象(DTO)
    定制SharePoint Portal Server 2003站点的向导
    Bridge Pattern using C#
  • 原文地址:https://www.cnblogs.com/linfangnan/p/14855107.html
Copyright © 2011-2022 走看看