ACL访问控制列表原理及实例

2023-11-11

目录

一、ACL概述

1.ACL访问控制列表作用

2.ACL访问控制列表工作原理

3.ACL访问控制列表处理过程原则

二、ACL访问控制列表类型

1.标准访问控制列表

2.扩展访问控制列表

三、配置实例

1.要求:用标准访问控制列表,vlan10客户机不能访问vlan20客户机

2.要求:用扩展访问控制列表,禁止client1客户机访问ftp服务器

四、总结


一、ACL概述

1.ACL访问控制列表作用

读取三层、四层头部信息,根据预先定义好的规则对流量进行筛选和过滤。

三层头部信息:源、目IP

四层头部信息:TCP/UDP协议、源、目端口号

2.ACL访问控制列表工作原理

入方向:流量将要进入本地路由器,将要被本地路由器处理

出方向:已经被本地路由器处理过,流量将离开本地路由器

 策略做好后,在入接口和出接口调用的区别:

入接口调用的话是对本地路由器生效,出接口调用的话,对本地路由器不生效,流量将在数据发过程中的下一台路由器生效。

3.ACL访问控制列表处理过程原则

  1. 路由条目只会被匹配一次
  2. 路由条目在ACL访问控制列表中匹配的顺序是从上往下匹配的
  3. 路由条目在ACL访问控制列表隐含一个拒绝所有
  4. ACL访问控制列表至少要放行一条路由条目

 

二、ACL访问控制列表类型

1.标准访问控制列表

  • 只能基于源地址进行过滤
  • 标准访问控制列表号是2000-2999
  • 调用原则:靠近目标

2.扩展访问控制列表

  • 可以根据源、目IP,TCP/UDP协议,源、目端口号进行过滤
  • 相比较标准访问控制列表,流量控制的更精准
  • 调用原则:靠近源

三、配置实例

1.要求:用标准访问控制列表,vlan10客户机不能访问vlan20客户机

1)拓扑

2、L2-SW1配置:

[L2-SW1]vlan bat 10 20 //创建多个vlan
[L2-SW1]int e0/0/1 //进入接口e0/0/1 
[L2-SW1-Ethernet0/0/1]port link-type access //设置接口链路类型为access	
[L2-SW1-Ethernet0/0/1]port default vlan 10 //将接口e0/0/1 划分进vlan10
[L2-SW1-Ethernet0/0/1]int e0/0/2 //进入接口e0/0/2
[L2-SW1-Ethernet0/0/2]port link-type access //设置接口链路类型为access	
[L2-SW1-Ethernet0/0/2]port default vlan 20 //将接口e0/0/2 划分进vlan20
[L2-SW1-Ethernet0/0/2]int e0/0/3 //进入接口e0/0/3
[L2-SW1-Ethernet0/0/3]port link-type access//设置接口链路类型为access	
[L2-SW1-Ethernet0/0/3]port default vlan 10//将接口e0/0/3 划分进vlan10
[L2-SW1-Ethernet0/0/3]int e0/0/4 //进入接口e0/0/4
[L2-SW1-Ethernet0/0/4]port link-type access //设置接口链路类型为access	
[L2-SW1-Ethernet0/0/4]port default vlan 20  //将接口e0/0/4 划分进vlan20
[L2-SW1-Ethernet0/0/4]int g0/0/1 //进入接口g0/0/1	
[L2-SW1-GigabitEthernet0/0/1]port link-type trunk //设置接口链路类型为trunk		
[L2-SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan all //设置白名单,通行所有vlan

 3、R1配置

[R1]int g0/0/0 //进入接口g0/0/0
[R1-GigabitEthernet0/0/0]undo shutdown //开启物理接口
[R1-GigabitEthernet0/0/0]int g0/0/0.1 //进入子接口g0/0/0.1
[R1-GigabitEthernet0/0/0.1]dot1q termination vid 10 //封装方式为802.1q,接口g0/0/0.1划分进vlan10
[R1-GigabitEthernet0/0/0.1]ip add 192.168.10.1 24 //设置IP地址及子网掩码长度	
[R1-GigabitEthernet0/0/0.1]arp broadcast enable //开启ARP广播功能
[R1-GigabitEthernet0/0/0.1]int g0/0/0.2//进入子接口g0/0/0.2	
[R1-GigabitEthernet0/0/0.2]dot1q termination vid 20 //封装方式为802.1q,接口g0/0/0.2划分进vlan20
[R1-GigabitEthernet0/0/0.2]ip add 192.168.20.1 24 //设置IP地址及子网掩码长度
[R1-GigabitEthernet0/0/0.2]arp broadcast enable //开启ARP广播功能

4)客户机配置IP地址及子网掩码长度

5)此时client客户机之间相互都可以ping通测试一下,到这一步单臂路由实现了不同vlan间通信

client1:ping 192.168.20.10

client1:ping 192.168.10.20

client1:ping 192.168.20.20

client2:ping 192.168.10.20

client2:ping 192.168.20.20

client3:ping 192.168.20.20

6)再继续再R1上用ACL标准访问控制列表实现vlan10客户机不能访问vlan20客户机

[R1]acl 2000 //创建标准访问控制列表,列表号为2000
[R1-acl-basic-2000]rule deny source 192.168.10.0 0.0.0.255 //拒绝192.168.10.0网段的路由条目(子网掩码为反掩码)	 
[R1-acl-basic-2000]rule permit source any //放行其他路由条目
[R1]int g0/0/0.2 //进入子接口g0/0/0.2	
[R1-GigabitEthernet0/0/0.2]traffic-filter outbound acl 2000 //选择在子接口g0/0/0.2出接口上调用列表2000

7)测试是否成功,如果不同,则成功

 client1:ping 192.168.20.10

client1:ping 192.168.20.20

client3:ping 192.168.20.20

2.要求:用扩展访问控制列表,禁止client1客户机访问ftp服务器

1.拓扑图

2.L2-SW2

[L2-SW1]vlan bat 10 20 //创建多个vlan
[L2-SW1]int e0/0/1 //进入接口e0/0/1 
[L2-SW1-Ethernet0/0/1]port link-type access //设置接口链路类型为access	
[L2-SW1-Ethernet0/0/1]port default vlan 10 //将接口e0/0/1 划分进vlan10
[L2-SW1-Ethernet0/0/1]int e0/0/2 //进入接口e0/0/2
[L2-SW1-Ethernet0/0/2]port link-type access //设置接口链路类型为access	
[L2-SW1-Ethernet0/0/2]port default vlan 20 //将接口e0/0/2 划分进vlan20
[L2-SW1-Ethernet0/0/2]int e0/0/3 //进入接口e0/0/3
[L2-SW1-Ethernet0/0/3]port link-type access//设置接口链路类型为access	
[L2-SW1-Ethernet0/0/3]port default vlan 10//将接口e0/0/3 划分进vlan10
[L2-SW1-Ethernet0/0/3]int e0/0/4 //进入接口e0/0/4
[L2-SW1-Ethernet0/0/4]port link-type access //设置接口链路类型为access	
[L2-SW1-Ethernet0/0/4]port default vlan 20  //将接口e0/0/4 划分进vlan20
[L2-SW1-Ethernet0/0/4]int g0/0/1 //进入接口g0/0/1	
[L2-SW1-GigabitEthernet0/0/1]port link-type trunk //设置接口链路类型为trunk		
[L2-SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan all //设置白名单,通行所有vlan

 3.R1配置:

[R1]int g0/0/0 //进入接口g0/0/0
[R1-GigabitEthernet0/0/0]undo shutdown //开启物理接口
[R1-GigabitEthernet0/0/0]int g0/0/0.1 //进入子接口g0/0/0.1
[R1-GigabitEthernet0/0/0.1]dot1q termination vid 10 //封装方式为802.1q,接口g0/0/0.1划分进vlan10
[R1-GigabitEthernet0/0/0.1]ip add 192.168.10.1 24 //设置IP地址及子网掩码长度	
[R1-GigabitEthernet0/0/0.1]arp broadcast enable //开启ARP广播功能
[R1-GigabitEthernet0/0/0.1]int g0/0/0.2//进入子接口g0/0/0.2	
[R1-GigabitEthernet0/0/0.2]dot1q termination vid 20 //封装方式为802.1q,接口g0/0/0.2划分进vlan20
[R1-GigabitEthernet0/0/0.2]ip add 192.168.20.1 24 //设置IP地址及子网掩码长度
[R1-GigabitEthernet0/0/0.2]arp broadcast enable //开启ARP广播功能
[R1]ip route-static 202.10.10.0 24 12.1.1.2 //配置静态路由,添加目的网段 202.10.10.0,子网掩码长度,下一跳入接口12.1.1.2

4.R2配置:

[R2]int g0/0/0 //进入接口 g0/0/0 
[R2-GigabitEthernet0/0/0]ip add 12.1.1.2 24 //设置IP地址及子网掩码长度
[R2-GigabitEthernet0/0/0]int g0/0/1 //进入接口 g0/0/1 
[R2-GigabitEthernet0/0/1]ip add 202.10.10.2 24 //设置IP地址及子网掩码长度 	
[R2]ip route-static 0.0.0.0 0 12.1.1.1 //设置静态路由,默认路由,下一跳入接口12.1.1.1

 5.PC配置与标准访问控制列表一样

6.ftp服务器配置:

端口号21,选择一个文件用于上传下载,设置后点击启动

 7.测试客户机和服务器是否能连通,能联通后继续下一步做策略

client1:ping 202.10.10.100

client2:ping 202.10.10.100

client3:ping 202.10.10.100

client4:ping 202.10.10.100

8.R1配置:

[R1]acl 3000//创建扩展访问列表,列表号3000
[R1-acl-adv-3000]rule deny tcp source 192.168.10.10 0.0.0.0 destination 202.10.10.100 0.0.0.0 destination-port eq 21
//禁止client访问ftp服务器	
[R1-acl-adv-3000]rule permit tcp source any destination any destination-port eq 21
//放行其他客户机访问ftp服务器
[R1-acl-adv-3000]rule permit ip source any destination any //放行其他客户机网络流量
[R1]int g0/0/0.1 //进入接口g0/0/0.1	
[R1-GigabitEthernet0/0/0.1]traffic-filter inbound acl 3000 //选择在入接口上调用列表3000

9.此时在让client1去ping服务器,是ping不通的,也不可以上传和下载文件

client1:ping   202.10.10.100

四、总结

  • 路由条目在ACL访问控制列表隐含一个拒绝所有
  • 标准访问控制列表调用原则靠近目标,扩展访问列表调用原则靠近源
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ACL访问控制列表原理及实例 的相关文章

  • 服务器时间如何修改

    win R 输入 gpedit msc 配置NtpServer time nist gov 正常就可以同步了 还没同步就执行下面的 更新组策略 命令行执行gpupdate force 重启 windows time 如果还没有同步 把上面的

随机推荐

  • mac 自带java 环境变量_Mac 安装JDK及环境变量配置

    1 先安装jkd Mac 的jdk系统有自带 如果没有用过的话 版本可能太低 需要重新下载较高的版本 1 终端查看当前安装的jdk版本号 java version 终端查看jdk版本号 2 下载JDK 1 访问Oracle官网 https
  • c++保存图标到dll_[LAB]一种无痕Dll模块注入方式

    0x00 前言 方式 CreateRemoteThread 需要 visual studio 2015 需要 进程模块查看器 如 PCHunter ProcessHacker 等 需要 创建一个用于实验注入的 MFC项目 窗体 需要 创建一
  • git clone出现fatal: Could not read from remote repository解决办法

    一 问题描述 在git clone一个项目时出现如下报错 第一个选项 问你是否继续连接 输入yes然后回车 The authenticity of host github com 20 205 243 166 can t be establ
  • 计算机考试选择题有多选嘛,期货从业资格考试综合题是单选还是多选题?

    期货从业考试采取闭卷 计算机考试方式 所有试题均为客观选择题 每科试题量为140道 满分100 60分为及格 每科考试多场次组织 单科考试时间为100分钟 期货从业资格考试科目考试时间均为100分钟 所有试题均为客观选择题 满分100分 6
  • Java substring( )

    substring start stop substring start stop 用于提取从start到stop 1之间的所有字符 所取字符长度为stop start start 非负整数 开始提取字符的起始位置 必需要写 stop 非负
  • 【教程】Win10安装SQLServer2005出现服务启动失败的问题解决

    Win10安装SQLServer2005时需要注意以下几点 1 先在控制面板中安装好IIS 2 右键SQLServer2005安装文件夹中的setup exe 设置兼容模式为Win7兼容模式 且以管理员身份运行 3 安装过程中 遇到弹窗提示
  • Windows 下最实用的 Gvim 配置

    一直以来被称为编辑器之神的 vim 在 Windows 下很难发挥其强大的功能 本文从实用的角度阐述如何调校出一个比较好用的 vim 不过仍然要说明下 在众多 vim 构建版本中 Mac OS 平台的 MacVim 是我认为最好用的一个版本
  • Android基础小知识

    一 TextView的hint与wrap content 二 tools context tools text等作用 tools context tools text等不会被打包进apk 只是用来在布局时候预览渲染效果的 tools con
  • 阿里云爆发史上最严重宕机事故。。。

    阿里云香港区于2022年12月18日出现故障 多个香港和澳门的网站受到影响 包括Linux中国的官网 https linux cn 澳门金融管理局 澳门银河 莲花卫视 澳门水泥厂等关键基础设施营运者的网站 澳觅和MFood等外卖平台 以及澳
  • FileReader简介

    前言 FileReader是一种异步文件读取机制 结合input file可以很方便的读取本地文件 input file 在介绍FileReader之前 先简单介绍input的file类型
  • Chrome插件链接

    常用Chrome插件整理 其它好用的插件 欢迎大家留言分享 输入ID下载点击下载 1 已安装插件里可以查看ID 2 安装链接里面也有 https chrome google com webstore detail idm integrati
  • vivado烧录程序搜索不到设备,烧录卡住不动

    烧录程序找不到设备或者设备不可用 烧录过程卡主不动 可以排除驱动问题的前提 解决方法 1 先观察jtag的指示灯 红灯有问题 可能fpga电源未开 接口松动 观察板子的初始程序是否启动成功 如果没有启动成功 jtag指示器也会是绿的 但是搜
  • springboot 过滤器异常处理,filter exception catch

    参考地址 java How to manage exceptions thrown in filters in Spring Stack Overflow
  • 经验积累①:关于设备程序的版本迭代方案详解

    关于设备程序的版本迭代方案详解 一 案例描述 对于嵌入式应用层来说 需要对设备的很多参数进行保存 为了使得这些配置参数掉电不丢失 因此在flash中生成配置文件用于保存设备参数 每当设备重启后 将参数读出 重发给设备 由于生成了可变的配置文
  • event_base_loop

    函数 int event base loop struct event base int 等待事件被触发 然后调用它们的回调函数 这是 event base dispatch的更灵活版本 默认情况下 这个循环会一直运行 直到没有添加的事件
  • 在macOS下安装和配置MySQL数据库

    一 到社区下载安装包 官网地址 MySQL MySQL Community Downloadshttps dev mysql com downloads MySQL Download MySQL Community Serverhttps
  • 身边的逻辑学——过度概括(1)

    过度概括 overgeneralization 概括与过度概括有何不同 概括知识是暂定的 因为它基于对经验的概括 原则上 下一个经验很可能出乎你的意料之外 使你 我们每个人 不得不对先前概括得出的结论感到怀疑 了解概括的本质有助于发现真理
  • C/C++ vs2017连接MySQL数据库 - 增删改查(详细步骤)

    在开发中 数据库是必不可少 这篇文章将介绍使用C C 如何进行连接MySQL数据库 并实现增删改查操作 注意 此篇文章所讲的是C C 如何操控MySQL进行简单的 常用的 增删改查 的操作 目录 一 配置Visual Studio 二 C
  • 不可不说的Java“锁”事

    前言 Java提供了种类丰富的锁 每种锁因其特性的不同 在适当的场景下能够展现出非常高的效率 本文旨在对锁相关源码 本文中的源码来自JDK 8 使用场景进行举例 为读者介绍主流锁的知识点 以及不同的锁的适用场景 Java中往往是按照是否含有
  • ACL访问控制列表原理及实例

    目录 一 ACL概述 1 ACL访问控制列表作用 2 ACL访问控制列表工作原理 3 ACL访问控制列表处理过程原则 二 ACL访问控制列表类型 1 标准访问控制列表 2 扩展访问控制列表 三 配置实例 1 要求 用标准访问控制列表 vla