ACL 实验

实验拓扑

图 1-1

注:如无特别说明,同一网段中,IP 地址的主机位为其设备编号,如 R3 的 g0/0 接口若在 192.168.1.0/24 网段,则其 IP 地址为 192.168.1.3/24,以此类推。此拓扑中 PC1,PC2,SERVER1 使用路由器来模拟


实验需求

  1. 按照图示配置 IP 地址
  2. 全网路由互通
  3. 在 SERVER1 上配置开启 TELNET 和 FTP 服务
  4. 配置 ACL 实现如下效果
    1. 192.168.1.0/24 网段不允许访问 192.168.2.0/24 网段,要求使用基本 ACL 实现
    2. PC1 可以访问 SERVER1 的 TELNET 服务,但不能访问 FTP 服务
    3. PC2 可以访问 SERVER1 的 FTP 服务,但不能访问 TELNET 服务
    4. 192.168.2.0/24 网段不允许访问 SERVER1,要求通过高级 ACL 实现

实验解法

  1. 配置 IP 地址部分略

  2. R1,R2,R3 上配置 RIP 使全网路由互通,步骤略

  3. 在 SERVER1 上配置开启 TELNET 和 FTP 服务部分略

  4. 配置 ACL 部分

    分析:需求 i,要求 192.168.1.0/24 网段不允许访问 192.168.2.0/24 网段,只能使用基本 ACL 实现。基本 ACL 只过滤源 IP 地址,只能在 R2 的 g0/2 接口上配置出方向包过滤来实现。如果配置在两个网段沿途的其他位置,将会影响到 192.168.1.0/24 网段和其他网段的正常通讯
      需求 ii,PC1 可以访问 SERVER1 的 TELNET 服务,但不能访问 FTP 服务。既然要过滤指定的服务,就只能使用高级 ACL,高级 ACL 不会造成误过滤,所以可以配置在离源地址最近的接口的入方向,也就是 R1 的 g0/1 接口的入方向。另外,由于 H3C 的 ACL 用于包过滤默认动作是允许,所以并不需要专门配置允许 PC1 访问 SERVER1 的 TELNET,只需要配置拒绝访问 FTP 的规则即可
      需求 iii,PC2 可以访问 SERVER1 的 FTP 服务,但不能访问 TELNET 服务。同理,只能使用高级 ACL,配置在 R1 的 g0/1 接口的入方向。而且也只需要配置拒绝访问 TELNET 的规则即可
      由于需求 i 和需求 ii 配置在同一个路由器同一个接口的同方向,所以把规则写入到同一个 ACL 即可
      需求 iv:192.168.2.0/24 网段不允许访问 SERVER1,要求通过高级 ACL 实现。高级 ACL 不会造成误过滤,所以可以配置在离源地址最近的接口的入方向,也就是 R2 的 g0/2 接口的入方向。另外,没有明确说明不允许访问什么服务,就是所有都不允许访问,所以高级 ACL 中的协议需要指定为 IP 协议

      
    步骤 1:创建基本 ACL,使 192.168.1.0/24 网段不能访问 192.168.2.0/24 网段,并在 R2 的 g0/2 接口的出方向配置包过滤

    [R2]acl basic 2000
    [R2-acl-ipv4-basic-2000]rule deny source 192.168.1.0 0.0.0.255
    [R2]interface g0/2
    [R2-GigabitEthernet0/2]packet-filter 2000 outbound 
    

    步骤 2:创建高级 ACL,使 PC1 可以访问 SERVER1 的 TELNET 服务,但不能访问 FTP 服务;PC2 可以访问 SERVER1 的 FTP 服务,但不能访问 TELNET 服务,并在 R1 的 g0/1 接口的入方向配置包过滤

    [R1]acl advanced 3000
    [R1-acl-ipv4-adv-3000]rule deny tcp source 192.168.1.1 0 destination 192.168.3.1 0 destination-port range 20 21
    [R1-acl-ipv4-adv-3000]rule deny tcp source 192.168.1.2 0 destination 192.168.3.1 0 destination-port eq 23
    [R1]interface g0/1
    [R1-GigabitEthernet0/1]packet-filter 3000 inbound
    

    步骤 3:创建高级 ACL,使PC3 不能访问 SERVER1,并在 R2 的 g0/2 接口的入方向配置包过滤

    [R2]acl advanced 3000
    [R2-acl-ipv4-adv-3000]rule deny ip source 192.168.2.0 0.0.0.255 destination 192.168.3.1 0
    [R2]interface g0/2
    [R2-GigabitEthernet0/2]packet-filter 3000 inbound 
    
  5. 效果测试

    步骤 1:PC1 和 PC2 都无法 Ping 通 PC3

    [PC1]ping 192.168.2.3
    Ping 192.168.2.3 (192.168.2.3): 56 data bytes, press CTRL_C to break
    Request time out
    Request time out
    Request time out
    Request time out
    Request time out
    

步骤 2:PC1 可以连接 SERVER1 的 TELNET,但不能连接 FTP

    <PC1>telnet 192.168.3.1
    Trying 192.168.3.1 ...
    Press CTRL+K to abort
    Connected to 192.168.3.1 ...

        ******************************************************************************
    * Copyright (c) 2004-2017 New H3C Technologies Co., Ltd. All rights reserved.*
    * Without the owner's prior written consent,                                 *
    * no decompiling or reverse-engineering shall be allowed.                    *
        ******************************************************************************

    login: 

    <PC1>ftp 192.168.3.1
    Press CTRL+C to abort.

步骤 3:PC2 可以连接 SERVER1 的 FTP,但不能连接 TELNET

    <PC2>ftp 192.168.3.1
    Press CTRL+C to abort.
    Connected to 192.168.3.1 (192.168.3.1).
    220 FTP service ready.
    User (192.168.3.1:(none)): 
    <PC2>telnet 192.168.3.1
    Trying 192.168.3.1 ...
    Press CTRL+K to abort
    Connected to 192.168.3.1 ...

步骤 4:PC3 不能 Ping 通 SERVER1

    [PC3]ping 192.168.3.1
    Ping 192.168.3.1 (192.168.2.3): 56 data bytes, press CTRL_C to break
    Request time out
    Request time out
    Request time out
    Request time out
    Request time out