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

时间:2022-10-29 17:12:34

           用访问控制列表(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过滤;

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

2.入站包过滤工作流程

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

3.出站包过滤工作流程

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

4.通配符掩码

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

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

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

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

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

三.ACL分类

1.ACL的标识

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

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

详细介绍:

    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包过滤

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

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

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

 "亦庄出口路由"配置如下:
[Huawei]sysname yizhuang
[yizhuang]interface Ethernet 0/0/0
[yizhuang-Ethernet0/0/1]ip address 172.30.1.254 24
[yizhuang-Ethernet0/0/1]undo shutdown
[yizhuang-Ethernet0/0/1]quit
[yizhuang]interface Ethernet 0/0/1
[yizhuang-Ethernet0/0/1]ip address 10.10.10.1 24
[yizhuang-Ethernet0/0/1]undo shutdown
[yizhuang-Ethernet0/0/1]quit
[yizhuang]ospf 200
[yizhuang-ospf-200]area 0
[yizhuang-ospf-200-area-0.0.0.0]network 10.10.10.1 0.0.0.0
[yizhuang-ospf-200-area-0.0.0.0]network 172.30.1.0 0.0.0.255
[yizhuang-ospf-200-area-0.0.0.0]quit
[yizhuang-ospf-200]quit "高碑店出口路由"配置如下:
[Huawei]sysname gaobeidian
[gaobeidian]interface Ethernet 0/0/0
[gaobeidian-Ethernet0/0/0]ip address 192.168.1.254 24
[gaobeidian-Ethernet0/0/0]undo shutdown
[gaobeidian]interface Ethernet 0/0/1
[gaobeidian-Ethernet0/0/1]ip address 10.10.10.2 24
[gaobeidian-Ethernet0/0/1]undo shutdown
[gaobeidian-Ethernet0/0/1]quit
[gaobeidian]ospf 100
[gaobeidian-ospf-100]area 0
[gaobeidian-ospf-100-area-0.0.0.0]network 10.10.10.2 0.0.0.0
[gaobeidian-ospf-100-area-0.0.0.0]network 192.168.1.0 0.0.0.255
[gaobeidian-ospf-100-area-0.0.0.0]quit

2个路由器的配置过程

 PC>ipconfig

 Link local IPv6 address...........: fe80::5689:98ff:fe15:18c0
IPv6 address......................: :: / 128
IPv6 gateway......................: ::
IPv4 address......................: 172.30.1.1
Subnet mask.......................: 255.255.255.0
Gateway...........................: 172.30.1.254
Physical address..................: 54-89-98-15-18-C0
DNS server........................: PC>
PC>ping 192.168.1.1 Ping 192.168.1.1: 32 data bytes, Press Ctrl_C to break
From 192.168.1.1: bytes=32 seq=1 ttl=126 time=62 ms
From 192.168.1.1: bytes=32 seq=2 ttl=126 time=62 ms
From 192.168.1.1: bytes=32 seq=3 ttl=126 time=32 ms
From 192.168.1.1: bytes=32 seq=4 ttl=126 time=62 ms
From 192.168.1.1: bytes=32 seq=5 ttl=126 time=31 ms --- 192.168.1.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 31/49/62 ms PC>

测试结果

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

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

华为机器配置如下:

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

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

 firewall enable #启用防火墙
firewall default permit #设置默认规则为允许
acl number 2000
rule 0 deny source 172.30.1.1 0.0.0.0
quit
interface Ethenet 0/0/1
firewall packer-filter 2000 inbound #绑定策略

H3C用到的命令如下

实验测试结果如下:

 PC>ping 192.168.1.1

 Ping 192.168.1.1: 32 data bytes, Press Ctrl_C to break
From 192.168.1.1: bytes=32 seq=1 ttl=126 time=93 ms
From 192.168.1.1: bytes=32 seq=2 ttl=126 time=109 ms
From 192.168.1.1: bytes=32 seq=3 ttl=126 time=93 ms
From 192.168.1.1: bytes=32 seq=4 ttl=126 time=62 ms
From 192.168.1.1: bytes=32 seq=5 ttl=126 time=78 ms --- 192.168.1.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 62/87/109 ms PC>ping 192.168.1.1 Ping 192.168.1.1: 32 data bytes, Press Ctrl_C to break
Request timeout!
Request timeout!
Request timeout!
Request timeout!
Request timeout! --- 192.168.1.1 ping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss PC>ipconfig Link local IPv6 address...........: fe80::5689:98ff:fe80:32ad
IPv6 address......................: :: / 128
IPv6 gateway......................: ::
IPv4 address......................: 172.30.1.1
Subnet mask.......................: 255.255.255.0
Gateway...........................: 172.30.1.254
Physical address..................: 54-89-98-80-32-AD
DNS server........................: PC>

注意:

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

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

拓扑图如下:

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

配置过程如下:

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

拓扑图如下:

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

准备环境:

 “鲁谷机房”配置如下:
[Huawei]sysname lugu
[lugu]interface Ethernet 0/0/1
[lugu-Ethernet0/0/1]ip address 10.10.10.2 24
[lugu-Ethernet0/0/1]quit
[lugu]interface LoopBack 1
[lugu-LoopBack1]ip address 192.168.1.1 24
[lugu-LoopBack1]quit
[lugu]ip route-static 0.0.0.0 0.0.0.0 10.10.10.1
[lugu]user-interface vty 0 4
[lugu-ui-vty0-4]authentication-mode none
[lugu-ui-vty0-4]user privilege level 3 "策略交换机"配置如下:
[Huawei]sysname celue
[celue]interface Ethernet 0/0/1
[celue-Ethernet0/0/1]port link-type trunk
[celue-Ethernet0/0/1]quit “兆维机房”配置如下:
[Huawei]sysname zhaowei
[zhaowei]interface LoopBack 1
[zhaowei-LoopBack1]ip address 172.30.1.1 24
[zhaowei-LoopBack1]quit
[zhaowei]interface Ethernet 0/0/1
[zhaowei-Ethernet0/0/1]ip address 10.10.10.1 24
[zhaowei-Ethernet0/0/1]undo shutdown
[zhaowei-Ethernet0/0/1]quit
[zhaowei]ip route-static 0.0.0.0 0.0.0.0 10.10.10.2
<zhaowei>telnet 192.168.1.1 #链接鲁谷机房pc
Trying 192.168.1.1 ...
Press CTRL+K to abort
Connected to 192.168.1.1 ... Info: The max number of VTY users is 10, and the number
of current VTY users on line is 1.
The current login time is 2017-04-19 11:11:19.
<lugu>

策略限制如下:

 “鲁谷机房”配置如下:

 [lugu]acl 3000
[lugu-acl-adv-3000]rule 0 deny tcp source 172.30.1.1 0 destination 192.168.1.1 0 destination-port eq
telnet #定义一条拒绝telnet的策略
[lugu]user-interface vty 0 4
[lugu-ui-vty0-4]authentication-mode none #验证方式为空
[lugu-ui-vty0-4]acl 3000 inbound #绑定策略

测试结果如下:

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

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

实验十 配置ACL包过滤

【实验目的】

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

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

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

【实验要求】

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

【实验设备】

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

【实验拓扑】

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

【实验过程】

实验过程一、配置基本的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验证网络的连通性

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

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测试主机间的连通性,测试结果应该是不可达,如下

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

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

用访问控制列表(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包过滤的注意事项

用访问控制列表(ACL)实现包过滤的更多相关文章

  1. HCNA Routing&amp&semi;Switching之访问控制列表ACL

    前文我们了解了DHCP服务相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15147870.html:今天我们来聊一聊访问控制列表ACL: ACL(ac ...

  2. 网络访问控制列表ACL(读懂这篇就基本够了,后面有配置案例)

    一.访问控制列表是什么? 访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃.访问控制列表被广泛地应用于路由器和三层交换机,借助于访问 ...

  3. 由于 web 服务器上此资源的访问控制列表&lpar;acl&rpar;配置或加密设置,您无权查看此目录或页面。

    场景:IIS中遇到无法预览的有关问题(HTTP 异常 401.3 - Unauthorized 由于 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置 IIS中遇到无法预览的问题(HTTP ...

  4. 第10章 网络安全(5)&lowbar;访问控制列表ACL

    6. 访问控制列表ACL 6.1 标准访问控制列表 (1)标准ACL ①标准ACL是基于IP数据包的源IP地址作为转发或是拒绝的条件.即,所有的条件都是基于源IP地址的. ②基本不允许或拒绝整个协议组 ...

  5. 基本的访问控制列表ACL配置

    摘要: 访问控制列表ACL (Access Control L ist)是由permit或 deny语句组成的一系列有顺序的规则集合,这些规则根据数据包的源地址.目的地址.源端口.目的端口等信息  来 ...

  6. CCNA网络工程师学习进程(8)访问控制列表ACL

    前面几节我们介绍了路由器的路由配置,接下来几节我们将介绍路由器的高级配置应用,包括ACL.NAT.DHCP.PPP.VPN和远程连接等的配置.     (1)ACL概述:   ACL(Access C ...

  7. windows访问控制列表 --ACL&lpar;Access Control List&rpar;

    1.定义 ACL是一个windows中的表示用户(组)权限的列表. Access Control List(ACL) Access Control Entry(ACE) ... 2.分类 ACL分为两 ...

  8. Linux 系统访问控制列表ACL

    常见的文件系统的一般权限(rwx).特殊权限(SUID,SGID,STICK).隐藏权限(chattr)其实有个共性——权限是针对某一类用户设置的.而如果希望对某个指定的用户进行单独的权限控制,那么就 ...

  9. ORA-24247&colon;网络访问被访问控制列表&lpar;ACL&rpar;拒绝

    今天将一个发送数据库监控邮件的procedure 从10g 迁移到11g,不工作了.处理记录如下: 在Oracle11g中,Oracle在安全方面有了很多的改进,而在网络权限控制方面,也有一个新的概念 ...

随机推荐

  1. Print a Binary Tree in Vertical Order

    http://www.geeksforgeeks.org/print-binary-tree-vertical-order/ package algorithms; import java.util. ...

  2. 随手记一次用C&num;正则表达式获取下拉菜单html标签&lt&semi;select&gt&semi;以及相关属性值

    随手记一次用C#正则表达式获取下拉菜单html标签<select>以及相关属性值 1:有如下html: .................. <select id="aaa ...

  3. iOS 阶段学习第九天笔记(内存管理)

    iOS学习(C语言)知识点整理 一.内存管理 1)malloc , 用于申请内存; 结构void *malloc(size_t),需要引用头文件<stdlib.h>:在堆里面申请内存,si ...

  4. JSP---JSP中4个容器-pageContext使用

    这里重点只讲pageContext容器的用法哦. 因为另外的3个容器(request,session,application)在前面的servlet中已经演示过很多遍了 容器 作用域 pageCont ...

  5. 《Linux命令行与shell脚本编程大全》第十七章 创建函数

    可以将shell脚本代码放进函数中封装起来,这样就能在脚本中的任何地方多次使用它了. 17.1 基本的脚本函数 函数:是一个脚本代码块,可以为其命名并在代码中任何位置重用. 17.1.1 创建函数 有 ...

  6. 功能性AI术语表

    算法:一套计算机要遵循的指令.一个算法可以是一个简单的单步程序也可以是一个复杂的神经网络,但是通常被用来指一个模型. 人工智能:这是一个统称.广义上说,软件意味着模仿或取代人类智能的各个方面.人工智能 ...

  7. 《An Introduction to Signal Smoothing》译文

    最近在做数据平滑相关的工作,正好读到该篇博客,感觉不错,就翻译了一下.原链接:An Introduction to Signal Smoothing 信号平滑简介 噪声无处不在,不管是在采集手机游戏的 ...

  8. CocoaChina(总结)升级到xcode8遇到的问题及解决方案

    此总结由CocoaChina论坛版主wo709128079及广大坛友共同汇总.>>查看原帖 升级Xcode8已是必然,升级iOS 10的用户不能说大有人在,应该也不会少,楼主听说,如果不升 ...

  9. HashMap源码调试——认识&quot&semi;put&quot&semi;操作

    前言:通常大家都知道HashMap的底层数据结构为数组加链表的形式,但其put操作具体是怎样执行的呢,本文通过调试HashMap的源码来阐述这一问题. 注:jdk版本:jdk1.7.0_51 1.pu ...

  10. ArrayList 底层实现原理

    ArrayList的底层实现原理 1, 属性:private static final int DEFAULT_CAPACITY = 10; private static final Object [ ...