zoukankan      html  css  js  c++  java
  • 用访问控制列表(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包过滤的注意事项

  • 相关阅读:
    hdu 5366 简单递推
    hdu 5365 判断正方形
    hdu 3635 并查集
    hdu 4497 数论
    hdu5419 Victor and Toys
    hdu5426 Rikka with Game
    poj2074 Line of Sight
    hdu5425 Rikka with Tree II
    hdu5424 Rikka with Graph II
    poj1009 Edge Detection
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/6715598.html
Copyright © 2011-2022 走看看