• 用访问控制列表(ACL)实现包过滤


                                                     用访问控制列表(ACL)实现包过滤

     

    一.ACL概述

    1.ACL(Access Control List,访问控制列表)是用来实现数据包识别功能的

    2.ACL可以应用于诸多方面

      a>.b包过滤防火墙功能;

      b>.NAT(Network Address Translation,网络地址转换);

      c>.QoS(Quality of Service,服务质量)的数据分类;

      d>.路由策略和过滤

      e>.按需拨号

    二.ACL包过滤原理

    1.基于ACL的包过滤技术

      a>.对进入的数据包逐个过滤,丢弃或允许通过;

      b>.ACL应用于接口上,每个接口的出入双向分别过滤;

      c>.仅当数据包过滤经过一个接口是时,才会被此接口的此方向的ACL过滤;

    2.入站包过滤工作流程

    3.出站包过滤工作流程

    4.通配符掩码

      a>.通配符掩码和IP地址结合使用以描述一个地址范围;

      b>.通配符和子网掩码相思,但含义不同:0表示对应位需要比较,1表示对应为不需要比较。

     

    5. 通配符掩码的应用示例

    三.ACL分类

    1.ACL的标识

    a>.利用数字需要标识访问控制列表;

    详细介绍:

        1>.标准2000-2999:检查数据包的源,根据数据包的源IP指定规则,允许或拒绝的是整个数据包的IP;(属于基本ACL)

        2>.扩展3000-3999:根据报文的源IP地址信息,目的IP地址信息,IP承载的协议类型,协议的特性等三,四层信息指定规则;(属于高级ACL)

        3>.二层ACL 4000-4999:根据报文的源MAC地址,目的MAC地址,VLAN优先级,二层协议类型等二层信息指定规则。

        4>.用户自定义ACL 5000-5999:可以以报文头,IP头等位基准,指定从第几个字节开始于掩码进行“与”操作,将报文提取出来的字符串和用户定义的字符串进行比较,找到匹配的报文。

    b>.可以给访问控制列表指定名称,便于维护;

    四.配置ACL包过滤

    在做实验之前,需要将以下拓扑图两个机房配置通:

      

    准备环境:要求亦庄机房的PC可以ping同高碑店的pc,我们可以用OSPF来做,配置过程如下:

     1 "亦庄出口路由"配置如下:
     2 [Huawei]sysname yizhuang
     3 [yizhuang]interface Ethernet 0/0/0
     4 [yizhuang-Ethernet0/0/1]ip address 172.30.1.254 24
     5 [yizhuang-Ethernet0/0/1]undo shutdown 
     6 [yizhuang-Ethernet0/0/1]quit 
     7 [yizhuang]interface Ethernet 0/0/1
     8 [yizhuang-Ethernet0/0/1]ip address 10.10.10.1 24
     9 [yizhuang-Ethernet0/0/1]undo shutdown
    10 [yizhuang-Ethernet0/0/1]quit 
    11 [yizhuang]ospf 200
    12 [yizhuang-ospf-200]area 0
    13 [yizhuang-ospf-200-area-0.0.0.0]network 10.10.10.1 0.0.0.0
    14 [yizhuang-ospf-200-area-0.0.0.0]network 172.30.1.0 0.0.0.255
    15 [yizhuang-ospf-200-area-0.0.0.0]quit 
    16 [yizhuang-ospf-200]quit 
    17 
    18 "高碑店出口路由"配置如下:
    19 [Huawei]sysname gaobeidian
    20 [gaobeidian]interface Ethernet 0/0/0
    21 [gaobeidian-Ethernet0/0/0]ip address 192.168.1.254 24
    22 [gaobeidian-Ethernet0/0/0]undo shutdown
    23 [gaobeidian]interface Ethernet 0/0/1
    24 [gaobeidian-Ethernet0/0/1]ip address 10.10.10.2 24
    25 [gaobeidian-Ethernet0/0/1]undo shutdown 
    26 [gaobeidian-Ethernet0/0/1]quit 
    27 [gaobeidian]ospf 100
    28 [gaobeidian-ospf-100]area 0
    29 [gaobeidian-ospf-100-area-0.0.0.0]network 10.10.10.2 0.0.0.0
    30 [gaobeidian-ospf-100-area-0.0.0.0]network 192.168.1.0 0.0.0.255
    31 [gaobeidian-ospf-100-area-0.0.0.0]quit 
    2个路由器的配置过程
     1 PC>ipconfig
     2 
     3 Link local IPv6 address...........: fe80::5689:98ff:fe15:18c0
     4 IPv6 address......................: :: / 128
     5 IPv6 gateway......................: ::
     6 IPv4 address......................: 172.30.1.1
     7 Subnet mask.......................: 255.255.255.0
     8 Gateway...........................: 172.30.1.254
     9 Physical address..................: 54-89-98-15-18-C0
    10 DNS server........................:
    11 
    12 PC>
    13 PC>ping 192.168.1.1
    14 
    15 Ping 192.168.1.1: 32 data bytes, Press Ctrl_C to break
    16 From 192.168.1.1: bytes=32 seq=1 ttl=126 time=62 ms
    17 From 192.168.1.1: bytes=32 seq=2 ttl=126 time=62 ms
    18 From 192.168.1.1: bytes=32 seq=3 ttl=126 time=32 ms
    19 From 192.168.1.1: bytes=32 seq=4 ttl=126 time=62 ms
    20 From 192.168.1.1: bytes=32 seq=5 ttl=126 time=31 ms
    21 
    22 --- 192.168.1.1 ping statistics ---
    23   5 packet(s) transmitted
    24   5 packet(s) received
    25   0.00% packet loss
    26   round-trip min/avg/max = 31/49/62 ms
    27 
    28 PC>
    测试结果

    需求一:要求亦庄机房pc无法ping通高碑店机房pc.

    我们在离高碑店机房pc的上联路由或者交换机上做配置即可:

    华为机器配置如下:

     1 [gaobeidian]acl 2000 #定义基本策略
     2 [gaobeidian-acl-basic-2000]rule 0 deny source 172.30.1.1 0.0.0.0  #写一条拒绝的规则
     3 [gaobeidian-acl-basic-2000]quit 
     4 [gaobeidian]traffic classifier deny_icmp #创建策略
     5 [gaobeidian-classifier-deny_icmp]if-match acl 2000   #和条件绑定
     6 [gaobeidian-classifier-deny_icmp]quit 
     7 [gaobeidian]traffic behavior deny #创建一个策略的动作,
     8 [gaobeidian-behavior-deny]quit 
     9 [gaobeidian]traffic policy xianzhi  #创建一个策略组
    10 [gaobeidian-trafficpolicy-xianzhi]classifier deny_icmp behavior deny #关联策略和动作
    11 [gaobeidian-trafficpolicy-xianzhi]quit 
    12 [gaobeidian]interface Ethernet 0/0/1
    13 [gaobeidian-Ethernet0/0/1]traffic-policy xianzhi inbound #在相应的如接口调用策略组

     H3C配置如下:(你会发现这2个差距并不是很大,原理都是一样的)

    1 firewall enable #启用防火墙
    2 firewall default permit  #设置默认规则为允许
    3 acl number 2000 
    4 rule 0 deny source 172.30.1.1 0.0.0.0
    5 quit
    6 interface Ethenet 0/0/1
    7 firewall packer-filter 2000 inbound #绑定策略
    H3C用到的命令如下 

     实验测试结果如下:

     1 PC>ping 192.168.1.1
     2 
     3 Ping 192.168.1.1: 32 data bytes, Press Ctrl_C to break
     4 From 192.168.1.1: bytes=32 seq=1 ttl=126 time=93 ms
     5 From 192.168.1.1: bytes=32 seq=2 ttl=126 time=109 ms
     6 From 192.168.1.1: bytes=32 seq=3 ttl=126 time=93 ms
     7 From 192.168.1.1: bytes=32 seq=4 ttl=126 time=62 ms
     8 From 192.168.1.1: bytes=32 seq=5 ttl=126 time=78 ms
     9 
    10 --- 192.168.1.1 ping statistics ---
    11   5 packet(s) transmitted
    12   5 packet(s) received
    13   0.00% packet loss
    14   round-trip min/avg/max = 62/87/109 ms
    15 
    16 PC>ping 192.168.1.1
    17 
    18 Ping 192.168.1.1: 32 data bytes, Press Ctrl_C to break
    19 Request timeout!
    20 Request timeout!
    21 Request timeout!
    22 Request timeout!
    23 Request timeout!
    24 
    25 --- 192.168.1.1 ping statistics ---
    26   5 packet(s) transmitted
    27   0 packet(s) received
    28   100.00% packet loss
    29 
    30 PC>ipconfig
    31 
    32 Link local IPv6 address...........: fe80::5689:98ff:fe80:32ad
    33 IPv6 address......................: :: / 128
    34 IPv6 gateway......................: ::
    35 IPv4 address......................: 172.30.1.1
    36 Subnet mask.......................: 255.255.255.0
    37 Gateway...........................: 172.30.1.254
    38 Physical address..................: 54-89-98-80-32-AD
    39 DNS server........................:
    40 
    41 PC>

     注意:

      可能ENSP模拟的路由器在写ACL上存在BUG,我这里建议更换交换机测试,或者在路由器和电脑之前加个交换机,在交换机上做策略也好使,已经实测。

    需求二.使得亦庄路由器无法telnet高碑店路由器.

     拓扑图如下:

    配置过程如下:

     1 #高碑店路由器配置:
     2 [gaobeidain]telnet server enable 
     3 [gaobeidain]user-interface vty 0 4
     4 [gaobeidain-ui-vty0-4]authentication-mode none 
     5 [gaobeidain-ui-vty0-4]user privilege level 3
     6 
     7 
     8 #亦庄路由器测试:
     9 <Huawei>telnet 10.10.10.2
    10 Trying 10.10.10.2 ...
    11 Press CTRL+K to abort
    12 Connected to 10.10.10.2 ...
    13 
    14 Info: The max number of VTY users is 10, and the number
    15       of current VTY users on line is 1.
    16       The current login time is 2017-04-19 00:15:06.
    17 <gaobeidain>
    18 
    19 “三层交换机”配置如下:
    20 [Huawei]acl number 3000
    21 [Huawei-acl-adv-3000]rule 0 deny tcp source 10.10.10.1 0 destination 10.10.10.2 0 destination-port eq 
    22 telnet  #拒绝访问10.10.10.2的路由器的telnet功能
    23 [Huawei-acl-adv-3000]quit 
    24 [Huawei]traffic classifier deny_telnet
    25 [Huawei-classifier-deny_telnet]if-match acl 3000
    26 [Huawei-classifier-deny_telnet]quit 
    27 [Huawei]traffic behavior deny #定义一个动作
    28 [Huawei-behavior-deny]quit  #动作内容为空,直接退出即可
    29 [Huawei]traffic policy xianzhi
    30 [Huawei-trafficpolicy-xianzhi]classifier deny_telnet behavior deny
    31 [Huawei-trafficpolicy-xianzhi]quit 

     拓扑图如下:

    准备环境:

     1 “鲁谷机房”配置如下:
     2 [Huawei]sysname lugu
     3 [lugu]interface Ethernet 0/0/1
     4 [lugu-Ethernet0/0/1]ip address 10.10.10.2 24
     5 [lugu-Ethernet0/0/1]quit 
     6 [lugu]interface LoopBack 1
     7 [lugu-LoopBack1]ip address 192.168.1.1 24
     8 [lugu-LoopBack1]quit 
     9 [lugu]ip route-static 0.0.0.0 0.0.0.0 10.10.10.1
    10 [lugu]user-interface vty 0 4
    11 [lugu-ui-vty0-4]authentication-mode none 
    12 [lugu-ui-vty0-4]user privilege level 3
    13 
    14 
    15 "策略交换机"配置如下:
    16 [Huawei]sysname celue
    17 [celue]interface Ethernet 0/0/1
    18 [celue-Ethernet0/0/1]port link-type trunk 
    19 [celue-Ethernet0/0/1]quit 
    20 
    21 
    22 “兆维机房”配置如下:
    23 [Huawei]sysname zhaowei
    24 [zhaowei]interface LoopBack 1
    25 [zhaowei-LoopBack1]ip address 172.30.1.1 24
    26 [zhaowei-LoopBack1]quit 
    27 [zhaowei]interface Ethernet 0/0/1
    28 [zhaowei-Ethernet0/0/1]ip address 10.10.10.1 24
    29 [zhaowei-Ethernet0/0/1]undo shutdown 
    30 [zhaowei-Ethernet0/0/1]quit 
    31 [zhaowei]ip route-static 0.0.0.0 0.0.0.0 10.10.10.2
    32 <zhaowei>telnet 192.168.1.1  #链接鲁谷机房pc
    33 Trying 192.168.1.1 ...
    34 Press CTRL+K to abort
    35 Connected to 192.168.1.1 ...
    36 
    37 Info: The max number of VTY users is 10, and the number
    38       of current VTY users on line is 1.
    39       The current login time is 2017-04-19 11:11:19.
    40 <lugu>

    策略限制如下:

     1 “鲁谷机房”配置如下:
     2 
     3 [lugu]acl 3000
     4 [lugu-acl-adv-3000]rule 0 deny tcp source 172.30.1.1 0 
     5 
     6 destination 192.168.1.1 0 destination-port eq
     7  telnet  #定义一条拒绝telnet的策略
     8 [lugu]user-interface vty 0 4
     9 [lugu-ui-vty0-4]authentication-mode none #验证方式为空
    10 [lugu-ui-vty0-4]acl 3000 inbound #绑定策略

    测试结果如下:

    1 <zhaowei>telnet 192.168.1.1
    2 Trying 192.168.1.1 ...
    3 Press CTRL+K to abort
    4 Error: Failed to connect to the remote host.
    5 <zhaowei>

    以上操作用的是ENSP配置,如果要配置H3C的话请参考:

    实验十 配置ACL包过滤

    【实验目的】

    l  掌握访问控制列表的简单的工作原理

    l  掌握访问控制列表的基本配置方法

    l  掌握访问控制列表的常用配置命令

    【实验要求】

    分别使用ACL禁止PC1访问PC2和禁止从PC1到网络192.168.3.0/24的FTP数据流。

    【实验设备】

    路由器两台、PC机两台、网线三根、console

    【实验拓扑】

     

    【实验过程】

    实验过程一、配置基本的ACL

    1、路由器接口IP地址以及PC机的IP地址规划

    设备名称

    接口

    IP地址

    网关

    RT1

    G0/0/1

    192.168.1.1

    --

    G0/0/0

    192.168.2.1

    --

    looback

    1.1.1.1.1/32

     

    RT2

    G0/0/0

    192.168.2.2

    --

    G0/0/1

    192.168.3.1

    --

    looback

    2.2.2.2./32

     

    PC1

    --

    192.168.1.2

    192.168.1.1

    PC2

    --

    192.168.3.2

    192.168.3.1

    2、使用RIP协议使全网互通(也可以使用OSPF以及静态路由)

    RT1

    [RT1]rip

    [RT1-rip-1]network 192.168.1.0

    [RT1-rip-1]network 192.168.2.0

    [RT1-rip-1]quit

    [RT1]

    RT2

    [RT2]rip

    [RT2-rip-1]network 192.168.2.0

    [RT2-rip-1]network 192.168.3.0

    [RT2-rip-1]quit

    [RT2]

    3、PC1 ping PC2验证网络的连通性

    4、配置ACL并且应用

    防火墙功能需要在路由器上启动后才能生效

    [RT1]firewall enable

    设置防火墙的默认过滤方式是Permit

    [RT1]firewall default permit

    配置基本ACL,并指定ACL序号

    [RT1]acl number 2000

    定义ACL定义规则

    [RT1-acl-basic-2000]rule deny source 192.168.1.2 0.0.0.0[w1] 

    [RT1-acl-basic-2000]quit

    进入接口并在接口上应用接口上

    [RT1]interface g0/0/1

    [RT1-GigabitEthernet0/0/1]firewall packet-filter 2000 inbound[w2] 

    [RT1-GigabitEthernet0/0/1]qu

    [RT1]

    5、PC1 ping PC2测试主机间的连通性,测试结果应该是不可达,如下

     

    6、查看ACL以及防火墙的状态和统计

    可以看到,有数据报文命中了ACL中定义的额规则。

    实验过程二 配置扩展的ACL

    1、PC组网图和IP地址规划同实验一基本的ACL

    2、配置ACL规则

    [RT1]acl number 3000

    [RT1-acl-adv-3000]rule deny tcp source 192.168.1.2 0.0.0.0 destination 192.168.3.0 0.0.0.255 destination-port eq ftp  

    [RT1-acl-adv-3000]rule permit ip source 192.168.1.2 0.0.0.0 destination 192.168.2.0 0.0.0.255

    [RT1-acl-adv-3000]quit

    [RT1]interface g0/0/1

    [RT1-GigabitEthernet0/0/1]firewall packet-filter 3000 inbound

    [RT1-GigabitEthernet0/0/1]quit

    [RT1]

    3、做完之后铜须门可以自己试一下PC1 ping PC2能否ping通,如果能ping通过则说明什么?

    4、在PC2上开启FTP服务,然后再PC1上使用FTP客户端软件连接到PC2,看一下结果是被拒绝还是允许?                 

    【思考拓展】

    在实验二高级ACL应用中,可以把ACL应用在RTB上吗?



    指定动作是Permit挥着Deny

              制定要匹配的源IP地址范围

    Inbound:过滤接口接收的数据包

              Outbound :过滤接口转发的数据包

    五.ACL包过滤的注意事项

  • 相关阅读:
    设计模式学习笔记-观察者模式
    谈C#中的Delegate
    EF 增删改查 泛型方法、类
    什么是表达式树,它与表达式、委托有什么区别?
    查询出各个学科的前3名的同学信息的Sql
    row_number() OVER(PARTITION BY)函数介绍
    Asp.net WebApi 项目示例(增删改查)
    ASP.NET WebAPI从入门
    .net中的Queue和Stack
    Replication--数据库镜像阻塞复制日志读取器的解决的办法
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/6715598.html
Copyright © 2020-2023  润新知