应用意义

ACL可以通过定义规则来允许或者拒绝流量的通过。

如图所示,192.168.1.0网段的社交场所为只能够进入公网,而不能够进入服务器,这个时候我们在路由器或者是三层交换机上(带路由功能的交换设备)上配置ACL策略,在192.168.1.0网段的数据包发送到RTA的时候会在入网口进行检测,从而判断能否让该(IP/MAC/端口)通过。

1.ACL是由一系列规则组成的集合。设备可以通过这些规则对数据包进行分类,并对不同类型的报文进行不同的处理。

2.本示例中,网关RTA允许192.168.1.0/24中的主机可以访问外网,也就是Internet;而192.168.2.0/24中的主机则被禁止访问Internet。对于服务器A而言,情况则相反。网关允许192.168.2.0/24中的主机访问服务器A但却禁止192.168.1.0/24中的主机访问服务器A。

ACL运用的位置:

路由器上、防火墙、三层交换机上

路由器上就叫ACL !

防火墙上一般称为策略! 策略就是升级版的ACL,策略可以基于IP、端口、协议、应用层数据进行各种过滤

其实也是一种过滤技术,基于数据包中的IP地址、端口号来对数据包进行过滤!

ACL分类

华为

思科

编号越小优先级越靠前

ACL的规则

华为

 每个ACL可以包含多个规则,RTA根据规则来对数据流量进行过滤。

1.一个ACL可以由多条“deny | permit”语句组成,每一条语句描述了一条规则。设备收到数据流量后,会逐条匹配ACL规则,看其是否匹配。如果不匹配,则匹配下一条。一旦找到一条匹配的规则,则执行规则中定义的动作,并不再继续与后续规则进行匹配。如果找不到匹配的规则,则设备不对报文进行任何处理。需要注意的是,ACL中定义的这些规则可能存在重复或矛盾的地方。规则的匹配顺序决定了规则的优先级,ACL通过设置规则的优先级来处理规则之间重复或矛盾的情形。

⒉.配置顺序按ACL规则编号(rule-id)从小到大的顺序进行匹配。设备会在创建ACL的过程中自动为每一条规则分配一个编号,规则编号决定了规则被匹配的顺序。例如,如果将步长设定为5,则规则编号将按照5、10、15...这样的规律自动分配。如果步长设定为2,则规则编号将按照2、4、6...这样的规律自动分配。通过设置步长,使规则之间留有一定的空间,用户可以在已存在的两个规则之间插入新的规则。路由器匹配规则时默认采用配置顺序。另外,ARG3系列路由器默认规则编号的步长是5。

3.自动排序使用“深度优先”的原则进行匹配,即根据规则的精确度排序。

4.本示例中,RTA收到了来自两个网络的报文。默认情况下,RTA会依据ACL的配置顺序来匹配这些报文。网络172.16.0.0/24发送的数据流量将被RTA上配置的ACL2000的规则15匹配,因此会被拒绝。而来自网络172.17.0.0/24的报文不能匹配访问控制列表中的任何规则,因此RTA对报文不做任何处理,而是正常转发。

5.华为ACL最后的默认的隐含的一条,不是拒绝所有,而是允许所有

ACL配置技巧

1)先判断要控制的数据流源和目标,并画出控制数据流的方向!进而判断ACL可以写在哪些路由器上!

2)打开那台路由器,开始编写ACL过滤规则!

3)最后将ACL表应用到某个接口的某个方向才能生效!

基本ACL的配置

华为

以上为模拟实验环境。

正常ping没问题

下面来配置ACL策略(在AR1上面配置)

acl 2000        创建一个ACL 并进入

rule deny source (IP/掩码)        在ACL2000中配置一条禁止某某IP通过的策略

interface gigabit Ethernet 0/0/0        进入接口

traffic-filter outbound acl 2000        将ACL2000写入0/0/0接口

试一试192到10.1.1.2能否通过

还能够ping通,这里是因为他不是对网关进行过滤,而是对单独IP进行过滤,所以我们需要在增加对192.168.1.1 和192.168.1.2IP的过滤

上面是PC1的

上面是PC2的。拿捏了。

再看看下面172的

OK

1.acl [ number ]命令用来创建一个ACL,并进入ACL视图。

2.rule [ rule-id ] { deny / permit } source f source-address source-wildcard | any }命令用来增加或修改ACL的规则。deny用来指定拒绝符合条件的数据包,permit用来指定允许符合条件的数据包,source用来指定ACL规则匹配报文的源地址信息,any表示任意源地址。

3.traffic-filter { inbound | outbound }acl{ acl-number }命令用来在接口上配置基于ACL对报文进行过滤。

4.本示例中,主机A发送的流量到达RTA后,会匹配ACL2000中创建的规则rule deny source 192.168.1.0 0.0.0.255,因而将被拒绝继续转发到Internet。主机B发送的流量不匹配任何规则,所以会被RTA正常转发到Internet。

高级ACL配置

上面说过,高级的ACL可以基于IP、端口、协议来对数据包进行过滤。上网访问的大多数都是对方的服务器,我们可以通过ACL高级策略来控制想要访问的端口或者协议。

在连接外网的最后一个路由器或者三层交换机上面进行。

ACL 3000        创建高级ACL

rule deny tcp source 192.168.1.0 0.0.0.255(源IP/掩码) destination 172.16.1.1 0.0.0.0(目的IP/掩码) destination-port eq 21 目的 端口号或者协议(21或者ftp)

rule deny tcp source 192.168.2.0 0.0.0.255 destination 172.16.1.2 0.0.0.0

rule permit ip

进入相对应的接口

traffic-filter outbound acl 3000        加入接口

1.基本ACL可以依据源IP地址进行报文过滤,而高级ACL能够依据源/目的IP地址、源/目的端口号、网络层及传输层协议以及IP流量分类和TCP标记值等各种参数(SYN|ACK|FIN等)进行报文过滤。

2.本示例中

定义了高级 ACL 3000

第一条规则“rule deny tcp source192.168.1.0 0.0.0.255 destination 172.16.1.1 0.0.0.0 destination-port eq 21”用于限制 源地址范围是192.168.1.0/24,目的IP地址为172.16.1.1,目的端口号为21的所有TCP报文

第二条规则rule deny tcp source 192.168.2.0 0.0.0.255 destination 172.16.10.20.0.0.0”用于限制源地址范围是192.168.2.0/24,目的地址是172.16.10.2的所有TCP报文

第三条规则“rule permit ip”用于匹配所有IP报文,并对报文执行允许动作。

思科

标准ACL配置

实验图,思科与华为不同的时,只要添加了ACL表,那么表之外的IP默认是拒绝的,直接说,那就是你允许那个IP通过就写那个IP。一个端口的一个方向只能贴一张ACL表

conf t         进入全局配置
access-list        表号        permit/deny        条件
进入接口
ip access-group 1 out        在接口中执行这条命令,运用那一张表

##        192.168.1.2 0.0.0.0 = host 192.168.1.2

##        0.0.0.0 255.255.255.255 = any

一个端口的一个方向只能有一张表,如果要更换,就必须先将上一个表取下来:

no ip access-group 1 out       取下表

ip access-group 2 out        换上新的表

扩展ACL

如图,PC0 能ping通服务器,不能访问网站

PC1能访问网站,不能ping

Router#conf t

Router(config)#        access-list 100 permit tcp host 192.168.1.1 host 101.1.1.2 eq 80

access-list 100(创建ACL) permit(允许) tcp(协议) host(自己/对应掩码) 192.168.1.1(源IP) host 101.1.1.2(目的IP) eq 80(端口,可以是www),白话来说就是,我创建了一个扩展ACL,我允许192...1中的TCP协议到达101...2的80(http协议)端口

Router(config)#        access-list 100 permit icmp host 192.168.1.2 host 101.1.1.2

Router(config)#        do sh acc        查看acl策略

Router(config)#        int g0/1                进入接口

Router(config-if)#     ip access-group 100 out        将100策略应用到本接口

PC1能ping不能访问

PC0能访问不能ping

。。。服务器1是多余的,不管他。

conf t
access-list  表号  permit/deny  协议  源IP  反掩码  目标IP  反掩码  ―eq  端口号

表号:100-199

协议: TCP/UDP/IP/ICMP (当写了端口号,只能写tcp或udp)

注释:ICMP协议就是ping命令所使用的协议,ICMP协议是网络探测协议,ping别人,就是生成ICMP探测包发给对方,然后对方给我回应一个ICMP探测包,代表ping通了!
[]:代表可选

案例

案例1:允许192.168.1.1访问网页,但是其它操作都不允许
permit tcp host 10.1.1.1 host 192.168.1.1 eq www
为甚么不需要写了?
有默认大boss拒绝所有

案例2:拒绝192.168.1.1去往所有地方的流量
acc 104 deny ip host 192.168.1.1
acc 104 permit ip any any

删除ACL

华为

acl 1000

undo rule10(进入ACL,查看后选择要删除的一条策略,删除它所对应的编号即可)

思科

思科要命名一个ACL,然后才可以对ACL里的内容进行增删

ip access-list extended 120        命名ACL

do sh acc 120        (查看)

no 10                删掉ACL中10编号的策略

感谢千锋教育视频

ACL理论及简单配置相关推荐

  1. squid介绍及其简单配置

    1.Squid是什么? Squid是一种用来缓冲Internet数据的软件.它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求.也就是说,如果一个人想下载一we ...

  2. haproxy安装配置及haproxy+keepalived简单配置

    一.haproxy安装 操作系统:centos6.5 iptables关闭和selinux为disabled haproxy是一个提供高可用.负载均衡的开源的代理服务器,haproxy安装可以源码安装 ...

  3. 转-squid介绍及其简单配置

    本文原始出处:http://linuxme.blog.51cto.com/1850814/372960 1.Squid是什么? Squid中文权威指南:http://zyan.cc/book/squi ...

  4. 华为设备IPsec简单配置

    IPsec VPN 一.IPsec是什么? 1.1 定义 1.2 封装模式(传输模式.隧道模式) 1.3 安全协议(AH.ESP) 1.4 秘钥交换协议(IKE) 二.IPsec有什么用? 2.1 通 ...

  5. GNS3 思科(Cisco)PIX虚拟防火墙简单配置

    GNS3 PIX虚拟防火墙简单配置(思科) 实验目的 实验拓扑 实验配置 r1 配置f0/0接口ip 配置静态路由 r2 配置f0/0接口ip 配置静态路由 r3 配置f0/0接口ip 配置静态路由 ...

  6. eNSP实验STP简单配置及介绍

    STP简单配置及介绍 [学习目标] [理论知识] [实验拓扑] [应用场景] [配置思路] [操作步骤] 步骤1 步骤2 步骤3 方法一: 方法二: 步骤4 步骤5 [实验结果] [学习目标] 1.掌 ...

  7. 简单配置nginx反向代理,实现跨域请求

    简单配置nginx去做反向代理,实现跨域请求 简单介绍nginx的nginx.conf最核心的配置,去做反向代理,实现跨域请求. 更多详细配置,参考nginx官方文档 先介绍几个nginx命令 打开n ...

  8. Centos 6.5下一个SNMP简单配置(snmp protocol v3,监控宝)

    Centos 6.5下一个SNMP简单配置(snmp protocol v3.监控宝) jom_ch@2014/7/25 1,安装 >yum -y install net-snmp net-sn ...

  9. virtualbox 创建桥接网络_VirtualBox桥接网络的简单配置,让虚拟机直接访问网络

    VirtualBox桥接网络的简单配置,让虚拟机直接访问网络 分类: Linux 2009-08-20 08:59 5071人阅读 评论(0) 收藏 举报 (1)最新的 VirtualBox 可以简单 ...

  10. Webpack4 学习笔记 - 01:webpack的安装和简单配置

    安装 webpack 新建一个Demo文件夹,执行初始化: npm init 在Demo文件夹里安装 webpack 和 webpack-cli : npm install webpack webpa ...

最新文章

  1. Vue基础进阶 之 实例方法--生命周期
  2. Jerry 的 SAP 技术交流群里讨论的技术问题都会同步到这个帖子里
  3. status debug when entering opportunity overview page
  4. 在URL参数中传递复杂对象
  5. mysql5.7.22打不开_windows下mysql-5.7.22-winx64突然启动不了,报错Could not open log file
  6. html 表单优化,用CSS3优化HTML5表单的步奏
  7. python中==和is与isinstance()和type()区别
  8. 数据库高可用实战案例-------架构优化之清爽一夏
  9. UNIX linux vi命令
  10. 清华大学:模拟电子技术基础
  11. 元气骑士机器人的成就皮肤_元气骑士:5把特殊“红武”,想要机器人的皮肤,用它就对了!...
  12. 拓扑排序算法 C语言实现
  13. PS2有线手柄的SPI协议
  14. iOS 唤起第三方App
  15. 微信开发者工具 the permission value is offline verifying 异常
  16. win10 手动下载升级 Powershell terminal
  17. 投票管理系统的设计与实现(项目实现)
  18. win7计算机怎么找管理员,win7管理员身份运行
  19. android so 签名校验,Android-NDK-之so文件签名校验
  20. UPS 静态旁路开关

热门文章

  1. 关于OpenCV中图像的widthStep
  2. window电脑通过composer安装yii2时总是失败
  3. lesson 038 —— re 模块
  4. Linux 基础命令(九)—— 逻辑卷管理(LVM)
  5. C++ 高性能服务器网络框架设计细节
  6. 韦东山嵌入式linux驱动开发,学习嵌入式Linux开发——韦东山升级版全系列嵌入式视频之总线设备驱动模型代码分析...
  7. sai教程初识SAI + 城堡绘画教程
  8. 小米9pro MIUI11.12.19 简化代码 布局随切 核心CPU 黑域
  9. 信息系统项目管理师-学习笔记与复习资料
  10. matlab画图的参数,matlab画图参数