| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> [ 网络协议篇 ] 一篇文章让你掌握神秘的 ACL -> 正文阅读 |
|
[系统运维][ 网络协议篇 ] 一篇文章让你掌握神秘的 ACL |
目录 4)在网络设备接口处,决定哪种类型的通信流量被转发、哪种类型的通信流量被阻塞。 四、ACL工作过程:查路由表-->查ACL-->匹配ACL-->找路由 一、引入
对于以上问题其实都可以通过访问控制列表去实现,访问控制列表也就是我们常常听到的ACL 下面我们就来深入的学习一下ACL 二、ACL概念:基本概念:ACL:访问控制列表,ACL是一种基于ip包过滤的访问控制技术, 它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。 应用设备:访问控制列表被广泛地应用于路由器和三层交换机, 借助于访问控制列表,可以有效地控制用户对网络的访问,从而最大程度地保障网络安全。 包过滤:直接通过控制数据包是转发还是丢弃 接口上的数据包:进入和出去两种 一条规则的格式: rule x (编号) permit/deny … ?????? Rule表示定义一条规则,编号1.2.3…?? 类型(允许/拒绝) 一个acI可以包含多条rule 匹配模式:config和auto模式: ??? config(默认)顺序匹配(按照规则编号从0开始) ?????? 编号可以手动写,也可以自动生成(步长为5)(5,10,15…) ?????? 好处:按123紧贴着写,万一我想在中间插入一条规则呢,旧要把后面的删掉重新写 ????????????? ? 步长为5就可以随时插入 auto深度优先(自动模式)(规则越复杂 ?月优先) 两种模式的区别:匹配的顺序不同 通配符:点分十进制表示,32比特,为0表示一定要匹配,为1表示可以不匹配 ?????? 通配符为全0的可以直接缩写成1个0 匹配过程: Rule permit source 10.0.0.0/0.0.0.255 数据包源IP:10.0.0.00000001(00001010.00000000.00000000.00000001) ACL源IP:10.0.0.00000000 通配符: 0.0.0.11111111 红色部分一定要匹配,黑色可以不匹配(则此IP匹配成功) 三、ACL的作用:1)限制网络流量、提高网络性能。例如,ACL可以根据数据包的协议,指定这种类型的数据包具有更高的优先级,同等情况下可预先被网络设备处理。 又如学生什么时间可以上网,什么时间不能上网就可以ACL实现。(结合了时间限制) 2)提供对通信流量的控制手段。3)提供网络访问的基本安全手段。4)在网络设备接口处,决定哪种类型的通信流量被转发、哪种类型的通信流量被阻塞。例如,用户可以允许E- mail通信流量被路由,拒绝所有的Telnet通信流量。(结合了上层协议 ?利用端口号) 例如,某部门要求只能使用WWW这个功能,就可以通过ACL实现;(只允许80端口) 例如,为了某部门的保密性,不允许其访问外网,也不允许外网访问它,可通过ACL实现。 四、ACL工作过程:查路由表-->查ACL-->匹配ACL-->找路由?1.进方向:当一个数据包进入一个端口,路由器检查这个数据报是否可路由。(查路由表) 如果是可以路由的,路由器检查这个端口是否有ACL控制进入数据报。(查ACL) 如果有,根据ACL中的条件指令,检查这个数据报。????????????????????????? (匹配ACL) 如果数据报是被允许的,就查询路由表,决定数据报的目标端口。?? (找路由) 2.出方向:路由器检查目标端口是否存在ACL控制流出的数据报。 若不存在,这个数据报就直接发送到目标端口。 若存在,就再根据ACL进行取舍。然后在转发到目的端口 当ACL处理数据包时,一旦数据包与某条ACL规则语句匹配,则会跳过列表中剩余的其他语句,根据该条匹配的语句内容决定允许或者拒绝该数据包。 如果数据包内容与ACL语句不匹配,那么将依次使用ACL列表中的下一条语句测试数据包。 该匹配过程会一直继续, 直到抵达列表末尾。 最后一条隐含的语句适用于不满足之前任何条件的所有数据包。 这条最后的测试条件与这些数据包匹配,通常会隐含拒绝一切数据包的指令。 此时路由器不会让这些数据进入或送出接口,而是直接丢弃。 最后这条语句通常称为隐式的"deny any"语句。 由于该语句的存在,所以在ACL中应该至少包含一条permit语句, 否则,默认情况下,ACL将阻止所有流量。 五、ACL分类:1. 基本ACL(2000-2999)用编号来区分ACL 基本acI编号: 2000-2999 只能过滤源IP地址 ? (用的是最多的)(如防火墙 ?允许内部访问外部所有东西) 深度优先匹配原则:1.源ip范围,越小越优先通配符中的0越多 表示范围越小 ?(0表示一定要匹配) 2.是否带有fragment参数,有fragment的优先??????????????? (人为添加) 3.编号顺序 基本配置示例:[Huawei]acl 2000 match-order (config/auto) 选择模式 ?默认config [Huawei-acl-basic- 2000]rule deny (permit) source 10.0.0.1 0.0.0.0 定义规则拒绝或允许10.0.0.1通过节点 [Huawei-GigabitEthernet0/0/1]traffic-filter inbound (outbound) 接口调用?????? acl 2000本接C口进方向或出方向调用acl2000 如果已经调用 ?要修改ACL,必须先取消调用 [Huawei -GigabitEthernet0/0/0]undo traffic-filter inbound ?(outbound) ? 真实设备:末尾要加一条 rule permit 2. 高级ACL(3000-3999)高级acl编号: 3000-3999 过滤源/目的IP地址、协议(基于IP运行的协议(IP承载协议))、端口号等 ?????? IP承载协议:tcp upd icmp ping vrrp ospf… 高级acl深度优先原则: //1.ip承载协议范围,指定了承载协议的优先(老的) (现在的必须指定IP承载协议) 2.源ip范围,越小越优先 3.目的地址范围,越小越优先 4.端口号范围,越小越优先 5.参数个数,越多越优先 端口号参数: eq等于、It小于等于、gt大于等于、neq不等于(现在取消)、range范围(现在加的) 基本配置示例:[Huawei-acl-adv-3000]rule permit tcp source 10.0.0.1 0 destination 10.0.1.1 0 destination-port eq 80 允许10.0.0.1这个地址通过tcp协议访问10.0.1.1这个地址的80号端口 [Huawei-GigabitEthernet0/0/1 ]traffic-filter inbound (outbound) acl 3000??????????????? 接口调用?????? 本接口进方向或出方向调用acl3000 3. 二层ACL(4000-4999)二层ACL编号: 4000-4999?????? 过滤二二层协议、mac地址、 vlan等 基本配置示例:[Huawei-acl-L2- 4000]rule deny source-mac 0102-0102-0a0b destination-mac 0201 -0203-0a0b 拒绝mac地址为0102-0102-0a0b的主机访问mac地址为0201-0203-0a0b的主机 [Huawei-GigabitEthernet0/0/1 ]traffic-filter inbound (outbound) acl 4000 接口调用?????? 本接口进方向或出方向调用acI4000 4. 用户自定义ACL:ACL编号5000-5999,使用报文头、偏移位置、字符串掩码、用户自定义字符串来定义规则; 5. 用户ACL:ACL编号6000-6999,可用IP报文的源/目标IP地址、IP协议类型、ICMP类型、端口来定义规则; 用户自定义ACL和用户ACL用的相对较少,再此不做详细介绍 六.、注意事项1.time-range时间范围 [Huawei]time-range a from 10:30 2019/11/25 to 13:30 2019/11/26???? 定义time-range 定义时间范围a:从2019年11月25日10: 30到2019年11月26日11: 30 [Huawei-acl- basic-2000]rule deny (permit) time-range a source? 10.0.0.1 0.0.0.0 ACL里调用/配置acI时调用时间范围 定义规则拒绝或允许10.0.0.1在时间范围a内通过节点 2.一个接口的一个方向只能调用一条acl, 一条acl可包含多条规则。 3.二层acI只能用在二层,基本和高级ACL只能用在三层。 再接口调用ACL是最基本的使用方法 ACL更多的适用场景是结合上层的使用协议或者服务 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 3:38:46- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |