网络问题排障专题-AF网络问题排障

news2024/11/19 12:36:13

目录

一、数据交换基本原理

1、ARP协议工作原理

数据包如图:

2、二层交换工作原理

简述核心概念:

二层交换原理-VLAN标签

3、三层交换工作原理

二、AF各种部署模式数据转发流程

1、路由模式数据转发流程

三、分层/分组逐一案例讲解

1、问题现象分组说明

2、双向地址转换不生效案例讲解

AF收到请求后未转换数据包,或收到回包后未回包给客户端--AF自身问题判断依据:

外网口是拨号口如何抓包?

3、终端应用客户端访问异常案例讲解

思考:如果是一个应用联网异常,相比于访问公网网站等问题,难点在哪?

4、应用控制策略不生效案例讲解

AF收到请求后未拦截或放通数据--AF自身问题:

5、应用控制策略不生效案例讲解————基于域名

原理

方式

条件

新架构可在命令行中查看域名的对应关系:

封堵恶意域名

僵尸网络防护原理

DNS Snooping

问题

问题1:防火墙有双向地址转换,或者环境中有双向地址转换的情况下,如何判断真实IP是谁,快速溯源到日志。

问题2:如果客户通过双向地址映射内网服务器至公网,但不允许公网源ip:5.5.5.1来访问此服务器,请问NAT、ACL分别需要如何配置 ? 条件:公网ip:1.1.1.2、服务器ip:172.16.1.1、AF内网口ip:192.168.1.1、业务端口8083


一、数据交换基本原理

1、ARP协议工作原理

  • 以PC A向PC B发送数据为例:当发送数据时,PC A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了。
  • 如果在ARP缓存表中没有找到相对应的IP地址,PCA就会在网络上发送一个广播,目标MAC地址是“FF FF FF FF.FF FF”,这表示向同一网段内的所有主机发出这样的询问:“192.200.121.253的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有PCB接收到这个帧时,才向PC A做出这样的回应。
  • “192.200.121.253的MAC地址是28:51:32:04:ff:45”这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了,ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。

数据包如图:

  • ARP请求包:

  • ARP应答包:

2、二层交换工作原理

  • 二层交换原理是指在计算机网络中,通过使用二层交换设备(如交换机)来实现数据包的转发和交换的原理。
  • 在二层交换原理中,数据包是根据其目标MAC地址进行转发的当一个数据包到达交换机时,交换机会查看数据包中的目标MAC地址,并将其与交换机的转发表进行比对。转发表中记录了与交换机相连的各个接口与对应的MAC地址。如果目标MAC地址在转发表中有对应的记录,交换机就会将数据包转发到相应的接口上;如果没有对应记录,交换机会将数据包广播到所有其他接口上,以便找到目标设备。
  • 二层交换原理的核心思想是建立和维护一个“转发表”,通过学习和更新来实现数据包的快速转发。当交换机接收到一个数据包时,它会检查源MAC地址,并将其与转发表进行比对。如果源MAC地址在转发表中没有对应记录,交换机会将该地址添加到转发表中,并将数据包转发到其他接口上。这样,交换机逐渐学习到网络中各个设备的位置,并能够根据目标MAC地址快速转发数据包。
  • 二层交换原理的优点是转发速度快、效率高,因为它只关注数据包的MAC地址,不需要进行复杂的网络层或传输层处理。这使得二层交换设备成为构建局域网中的核心设备,提供高速、可靠的数据传输。

简述核心概念:

(1)、数据到了设备,先会记录源MAC与入接口关系,下次转发就会知道这个MAC设备在这个接口下面。

(2)、如果查不到目的MAC往哪转发,就泛洪所有接口(除入接口外),如果收到了这个目前MAC的回包,就会按照第一步记录下来,之后的数据知道MAC与接口的对应关系了。

二层交换原理-VLAN标签

在二层交换中,VLAN (Virtual local Area Network,虚拟局域网)是一种逻辑上划分网络的技术。它可以将一个物理局域网划分为多个逻辑上独立的虚拟局域网,每个VLAN内的设备可以进行通信,而不受其他VLAN的影响。

  • Access口(访问口):Access口是用于连接终端设备(如计算机、IP电话、打印机等)的端口。它只能属于一个VLAN(虚拟局域网),并且只能传输属于该VLAN的数据包。Access口通常用于连接终端设备到交换机,并将其划分到相应的VLAN中。当数据包从Access口进入交换机时,交换机会将其标记上对应的VLAN ID,然后将其转发到该VLAN的其他端口。
  • Trunk口(干道口):Trunk口是用于连接交换机之间的端口,用于传输多个VLAN的数据包。它可以同时传输多个VLAN的数据,通过使用标记(Tagging)来区分不同的VLAN。Trunk口通常用于连接交换机之间,以实现VLAN的扩展和互联。当数据包从Trunk口进入交换机时,交换机会根据标记的VLAN ID将其转发到相应的VLAN。

上述图中,假如A、B、C都在同一个网段,如何让处于不同VLAN之间的主机互访?

  • 方法1:利用Trunk链路的收发标签特性,交换机之前的Trunk口,左边连接A和B的交换机中继本征vlan设置为10,右边连接C的交换机中继本征vlan设置为20,这样由于A和B上来会打上VLAN10的标签,到了中继链路由于本征VLAN是VLAN 10会把vlan 10的Tag剥离发送,到了对端由于数据流没打标签,这边本征VLAN是20,就会打上VLAN 20的Tag发走,最终到达主机C,主机C的回包也是一样。
  • 方法2:利用Access链路的收发标签特性,交换机之间设置Access接口,左边连接A和B的交换机的Access设置为10,右边连接C的交换机Access设置为20,这样根据Access收发标签的特性,A交换机左边接口收到了A的流量打上Tag 10的标记,通过Vlan 10的接口发走会剥离掉vlan 10的标签,此时数据流不带标签,到了对端由于没标签,会打了vlan 20的标签,然后最终到达主机C,主机C的回包也是一样。

3、三层交换工作原理

  • 三层交换原理是指在计算机网络中,通过使用三层交换设备(如三层交换机或路由器)来实现数据包的转发和交换的原理。
  • 在三层交换原理中,数据包是根据其目标IP地址进行转发的。当一个数据包到达三层交换设备时,设备会查看数据包中的目标IP地址并将其与路由表进行比对。路由表中记录了与设备相连的各个网络和对应的下一跳地址。如果目标IP地址在路由表中有对应的记录设备就会将数据包转发到相应的下一跳地址上,如果没有对应记录设备会将数据包丢弃或转发到默认路由。

如图所示,A访问B属于二层交换,A访问C则属于三层交换A访问C具体过程如下:(假设路由器已有相应的ARP表的情况)

(1)、A把自己的IP地址和C的IP地址比较,发现不在同一子网内:由发送给A自己的网关进行处理

(2)、此时数据包源IP为121.235,目的IP为1.1,源MAC为b1-2f目的MAC为34-45

(3)、路由器收到报文后判断出是三层报文,检查报文的目的IP地址,发现是自己的直连网段,则根据路由表中的对应接口(eth1)发送出去,此数据包源IP为121.235,目的IP为1.1,源MAC为00-02,目的MAC为00-01

(4)、C收到数据包后同理回复应答数据包给A

二、AF各种部署模式数据转发流程

1、路由模式数据转发流程

三、分层/分组逐一案例讲解

1、问题现象分组说明

2、双向地址转换不生效案例讲解

思考1:此拓扑中,为什么不能直接使用目的地址映射来实现访问 ?

原因:如只做目的地址映射,那么数据流分别是: 那么是源PC发出的包与收到的包五元组信息不对等,那么就会直接丢弃此包。

如拓扑数据流分析可见:一条目的地址转换+一条源地址转换=双向地址转换

思考2:若AF做了一个双向地址转换,此时在这条双向的前面还有相关的源地址转换(五元组能匹配上),那么这个双向地址转换还能生效吗?以及转换后的源ip是这个双向转换的源ip还是源地址转换的源ip呢?

可以生效,因为不管新架构还是老架构DNAT要优先于SNAT,双向NAT就是等于一条目的地址转换+一条源地址转换=双向地址转换,所以就会直接匹配双向地址转换。

AF收到请求后未转换数据包,或收到回包后未回包给客户端--AF自身问题判断依据:

(1)、从梳理的问题信息中,确认出入接口以及数据流五元组信息,则抓请求数据流是否到AF为以下命令:tcpdump -i eth1(入接口)host 源IP and host 目的IP and port 目的端口 -nn -c 100

(2)、抓出接口,确认AF是否转发请求,并转换信息正确tcpdump -i eth2(出接口)host 转换后源IP and host 转换后目的IP and port 转换后目的端口 -nn -c 100 坑点:新架构85版本以下,源地址转换的情况下,设备会默认转换源端口,导致服务器因会话原因而不响应相关数据

(3)、确认数据到了AF但未转发,则优先确认nat配置是否正常。 坑点:自定义服务中,限制了源端口导致策略无法匹配

(4)、确认nat策略是否勾选的自动放通数据,如勾选手动放通,优先开启定向直通测试。

(5)、确认设备去往服务器的路由配置正确且生效,可以防火墙自己te1net测试服务器看是否能通。

坑点:新架构默认策略路由优先于静态路由,会导致内网通过公网ip访问服务器时,数据包被发到了外网口了

新架构 show session 命令介绍: show session src-ip xx.xx.xx.xx dst-ip xx.xx.xx.xx

外网口是拨号口如何抓包?

有相应的数据流,我们带我们正常ETH1口带上PPPOES。And host就是后面加正常的host就是多一层协议,PPPOES正常就可以抓到。

tcpdump -i eth1(入接口) pppoes and  host 源IP and host 目的IP and port 目的端口 -nn -c 100

3、终端应用客户端访问异常案例讲解

思考:如果是一个应用联网异常,相比于访问公网网站等问题,难点在哪?

最大的问题是:应用与公网交互的五元组信息无法确认,或者五元组信息频繁变化无法确认。

使用NM34应用程序可以抓到应用的数据包。

4、应用控制策略不生效案例讲解

AF收到请求后未拦截或放通数据--AF自身问题:

判断依据:

(1)、从梳理的问题信息中,确认出入接口以及数据流五元组信息,则抓请求数据流是否到AF为以下命令:

tcpdump -i eth1(入\出接口)host 源IP and host 目的IP and port 目的端口 -nn -c 100

注意:客户提供的五元组信息,发送到AF时不一定就是原来的五元组,可能在中间经过了NAT 可以让发起方ping一个固定长度的包测试(目的方ping不通也没关系,只要数据包能发到AF即可),抓包时不写host条件,而只抓icmp包,通过包长即可区分数据五元组---windows指定长度是 -l、linux指定长度是 -s。

(2)、确认真实五元组,并且数据确认到AF后,使用AF自带的策略模拟匹配工具测试策略配置是否正确、或因其他ACL策略冲突导致失效。坑点:自定义服务中,限制了源端口导致策略无法匹配、存在基于应用的ACL导致被放通了tcp握手,造成能telnet通的情况。

(3)、查看是否存在对应五元组的黑白名单,可以通过开启定向直通的方式来确认是否存在黑/白名单拦截/放通。坑点:二层模式下放行的数据不会产生直通日志、黑白名单是基于ip来拦截的,所以配置了相关域名的话,可能会被匹配到数据而拦截/放通。

(4)、查看设备是否开启了长连接,开启长连接容易导致设备会话跑满而无法或由于配置了相关nat策略,导致数据被nat后默认放行了。

5、应用控制策略不生效案例讲解————基于域名

原理

原理:基于域名的应用控制策略,实际上依旧是依据ip信息来匹配AF通过记录域名对应ip的信息,当终端解析到ip后,放通ip,此时AF会将之前记录到的域名与ip的信息来对比匹配,从而实现拦截或放通。

方式

(1)、主动查询:配置主动查询后,AF会定期去主动解析此域名的ip

(2)、被动监听:相关此域名的dns流量经过AF时,AF会记录下域名解析结果。

条件

(1)、主动查询:AF的dns与内网dns服务器一致,保证解析结果一致、对应域名解析的结果不能过多或不断变化。

(2)、被动监听:PC的dns解析流量双向经过AF。

新架构可在命令行中查看域名的对应关系:

命令行:show netobj-domain XXX域名

封堵恶意域名

(1)、客户给了恶意域名让封堵,如果不在库里,优先使用自定义僵尸网络。

僵尸网络:基于DNS的流量进行探测并拦截。

(2)、客户给的域名特别多,但是这些域名又有重复(有相同特征),可以基于自定义IPS规则去拦截。

不用URL的原因是僵尸网络检测设备都会检测DNS域名的流量,一般URL防护内容安全这些没办法直接把URL也就是DNS解析的流量给拒绝掉,可能还会被外网通报,唯一能居家DNS解析流量就是基于域名拒绝DNS解析的流量只有僵尸网络。

URL方式

自定义IPS可以针对指定协议拦截

访问恶意域名,一般PC先去解析走DNS协议53端口,这个时候解析的流量就是外网有通报的情况下,他能检测到我们某个PC局域网去解析这个域名,只要解析就通报,拦截域名得想办法把他的DNS解析流量也拦截掉。

应用控制基于域名拦截(不建议):应用控制基于域名去拦截是无法拦截DNS解析的流量,他要放通DNS解析流量记录到DNS解析流量对应的IP以后,应用控制基于域名才能生效。我们开了应用控制策略基于域名主动查询的一个逻辑,可能防火墙会主动去访问这个恶意域名,也会被外网通报。

判断恶意域名的三个网站(两个网站都报那就判断不是误报)微步、VT(virustotal.com)情报社区(x.threatbook.com)、深信服威胁情报中心。

僵尸网络防护原理

僵尸网络防护工作原理:基于DNS流量进行判断,防火墙会判断你解析的域名是谁,是否匹配规则库,域名在规则库就会进行拦截让你解析不到。

DNS Snooping

DNS snooping的工作原理:DNS snooping是通过监视网络上的DNS流量来检测潜在的安全威胁或未经授权的访问尝试。具体来说,DNS snooping会拦截经过网络的DNS请求和响应数据包,并分析其中的内容。这些数据包中包含了域名和与之对应的IP地址,以及相关的查询信息。

当有一个DNS请求需要解析时,DNS snooping会检查该请求的源IP地址、目标IP地址、查询的域名,以及查询的类型等信息。通过分析这些信息,DNS snooping可以识别是否存在异常的查询行为,比如大量频繁的查询、域名伪造、DNS劫持等,从而警示网络管理员可能的安全威胁。

DNS snooping可以帮助网络管理员监测网络上的DNS流量,及时发现潜在的安全问题,并做出相应的应对措施,以提高网络的安全性和防御能力。

问题

问题1:防火墙有双向地址转换,或者环境中有双向地址转换的情况下,如何判断真实IP是谁,快速溯源到日志。

8.0.85版本的应用控制会记录日志,里边有NAT前的源地址和NAT后的地址。

问题2:如果客户通过双向地址映射内网服务器至公网,但不允许公网源ip:5.5.5.1来访问此服务器,请问NAT、ACL分别需要如何配置 ? 条件:公网ip:1.1.1.2、服务器ip:172.16.1.1、AF内网口ip:192.168.1.1、业务端口8083

黑名单:在目的地址转换之后,源地址转换之前匹配,配置防火墙前的公网ip就是居家防火墙映射前的地址,完全断掉服务器的访问就是配置服务器的私网IP地址。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1867260.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自然语言处理——英文文本预处理

高质量数据的重要性 数据的质量直接影响模型的性能和准确性。高质量的数据可以显著提升模型的学习效果,帮助模型更准确地识别模式、进行预测和决策。具体原因包括以下几点: 噪音减少:高质量的数据经过清理,减少了无关或错误信息…

redis哨兵模式(Redis Sentinel)

哨兵模式的背景 当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式。 为了解决单点故障和提高系统的可用性,需要一种自动化的监…

【D3.js in Action 3 精译】1.2.2 可缩放矢量图形(一)

译注 由于 1.2.2 小节介绍 SVG 的篇幅过多,为了方便查阅,后续将分多个小节依次进行翻译。为了确保整个 1.2.2 小节的完整性,特意将上一篇包含的 SVG 小节的内容整理出来重新编排。敬请留意。 1.2.2 SVG - 可缩放矢量图形 可伸缩矢量图形&…

Django-开发一个列表页面

需求 基于ListView,创建一个列表视图,用于展示"BookInfo"表的信息要求提供分页提供对书名,作者,描述的查询功能 示例展示: 1. 数据模型 models.py class BookInfo(models.Model):titlemodels.CharField(verbose_name"书名",max_length100)authormode…

【STM32-存储器映射】

STM32-存储器映射 ■ STM32F1-4G地址空间分成8个块■ STM32F1-Block0■ STM32F1-Block1■ STM32F1-Block2■ STM32F1- ■ STM32F1-4G地址空间分成8个块 ■ STM32F1-Block0 有出厂 BootLoader 就可以使用串口下载程序。如Keil5图中IROM地址是0x8000000 开始 就是flash地址 ■ S…

安装vue开发者工具

浏览器控制台提示: 打开网址 GitHub - vuejs/devtools: ⚙️ Browser devtools extension for debugging Vue.js applications. 点击添加 上图地址:Installation | Vue Devtools 安装好了

线上民族传统服饰商城

摘 要 随着互联网的不断发展和普及,电子商务成为了人们生活中不可或缺的一部分。传统的线下购物方式逐渐被线上购物所取代,人们越来越习惯在互联网上购物。而民族传统服饰作为我国丰富多样的民族文化的重要组成部分,具有独特的艺术价值和商业…

不是KVM不支持精简置备的磁盘,而是VMM

正文共:999 字 11 图,预估阅读时间:1 分钟 书接上文(不会吧!KVM竟然不支持磁盘的精简置备!?),我们已经掌握了通过“虚拟系统管理器VMM”创建虚拟机的基本方法&#xff0c…

vscode设置主题的颜色

点击主界面左下角的 展开的菜单中点击“themes” 点击“color themes” 选择颜色

windows USB 设备驱动开发-总章

通用串行总线 (USB) 提供可扩展的即插即用串行接口,确保外围设备的标准、低成本的连接。 USB 设备包括键盘、鼠标、游戏杆、打印机、扫描仪、存储设备、调制解调器、视频会议摄像头等。USB-IF 是一个特别兴趣组 (SIG),负责维护官方 USB 规范、测试规范和…

浅谈Tomcat

文章目录 一、什么是Tomcat?二、Tomcat的下载安装三、使用tomcat访问资源 一、什么是Tomcat? Tomcat 就是一个 HTTP 服务器。 前面我们聊了HTTP服务器,像我们在网页输入URL,其实就是在给人家的HTTP服务器发送请求,既…

如何使用sr2t将你的安全扫描报告转换为表格格式

关于sr2t sr2t是一款针对安全扫描报告的格式转换工具,全称为“Scanning reports to tabular”,该工具可以获取扫描工具的输出文件,并将文件数据转换为表格格式,例如CSV、XLSX或文本表格等,能够为广大研究人员提供一个…

Renesas MCU使用SCI_I2C驱动HS3003

目录 概述 1 软硬件介绍 1.1 软件版本信息 1.2 认识HS3003 1.2.1 HS3003特性 1.2.2 HS3003寄存器 1.2.2.1 温湿度数据寄存器 1.2.2.2 参数寄存器 1.2.2.3 一个参数配置Demo 1.2.3 温湿度值转换 1.2.4 HS3003应用电路 1.2.4.1 PIN引脚定义 1.2.4.2 sensor 应用电路 …

从零入门激光SLAM(十三)——LeGo-LOAM源码超详细解析3

大家好呀,我是一个SLAM方向的在读博士,深知SLAM学习过程一路走来的坎坷,也十分感谢各位大佬的优质文章和源码。随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激…

grpc学习golang版( 四、多服务示例)

系列文章目录 第一章 grpc基本概念与安装 第二章 grpc入门示例 第三章 proto文件数据类型 第四章 多服务示例 文章目录 一、前言二、定义proto文件三、编写server服务端四、编写Client客户端五、测试六、示例代码 一、前言 多服务,即一个rpc提供多个服务给外界调用…

js+php 上传文件到服务器

https://andi.cn/page/621473.html

沙盒在数据防泄密领域意义

在信息化快速发展的今天,数据已成为企业最宝贵的资产之一。然而,数据泄密事件频发,给企业的安全和发展带来了巨大威胁。SDC沙盒防泄密系统,作为一种创新的数据防泄密解决方案,正逐渐在数据防泄密领域发挥着越来越重要的…

计算机网络期末复习(大题+小题)

计算机网络期末复习 一、计算机网络概述 Point 1 计算机网络就是以传输信息为基本目的,用通信线路和通信设备将多个计算机连接起来的计算机系统的集合。由自治的计算机互联起来的结合体。 Point 2 按网络的覆盖范围进行分类 (1)局域网*…

[leetcode]k-th-smallest-in-lexicographical-order 字典序的第K小数字

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int getSteps(int curr, long n) {int steps 0;long first curr;long last curr;while (first < n) {steps min(last, n) - first 1;first first * 10;last last * 10 9;}return steps;}int find…

深度学习11-20

1.神经元的个数对结果的影响&#xff1a; &#xff08;http://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d.html&#xff09; &#xff08;1&#xff09;神经元3个的时候 &#xff08;2&#xff09;神经元是10个的时候 神经元个数越多&#xff0c;可能会产生…