黑洞路由、 DDoS 攻击 、 环路

黑洞路由

DDoS 攻击

DDoS 攻击是一种针对服务器、服务或网络的恶意行为。DDoS 攻击通过向目标发送大量流量,使其不堪重负,导致资源和带宽被耗尽。因此,目标可能会变慢或崩溃,无法正常处理合法的流量。DDoS 攻击通常是由僵尸网络发起的,这些僵尸网络由大量感染了 恶意软件的计算机和设备组成,并受到攻击者的控制,通过向目标发送大量流量,从而淹没目标。由于 僵尸网络可能包含成百上千台设备,因此安全防御措施难以检测和抵御此类攻击。常见的 DDoS 攻击包括 ICMP 泛洪攻击、 SYN 泛洪攻击、Slowloris 攻击和 HTTP 泛洪攻击。

环路

环路是网络中数据包在转发过程中无限循环的情况,导致数据包无法正常到达目的地,最终造成网络的拥塞和故障。环路通常是由于网络设备配置不正确或网络拓扑结构设计缺陷引起的。

出现环路的原因可能包括以下几点:

  • 错误的路由配置:当网络中的路由配置错误时,可能会导致数据包在转发过程中出现环路。比如,如果网络设备上存在相互交叉的路由,数据包就可能在不同的路径上形成环路。

  • 网络拓扑设计缺陷:在网络拓扑结构设计中,如果存在设计缺陷或复杂的网络结构,可能会增加环路的发生概率。例如,网络中存在多个路径到达同一目的地,但没有足够的路由选择机制来避免环路。

  • 动态路由协议问题:在使用动态路由协议时,如果路由协议的配置不正确或网络中存在不稳定的连接,可能导致路由信息不一致或更新延迟,进而引发环路问题。

  • 网络设备故障:网络设备的硬件故障或软件异常也可能导致环路的发生。例如,路由器或交换机的转发表出现异常,无法正确处理数据包的转发。

示例

在这里插入图片描述
DeviceA作为本地网络的网关,本地网络使用一个B类网段地址172.16.0.0/16。DeviceA通过DeviceB、DeviceC和DeviceD分别与三个子网相连。

正常情况下,DeviceA的路由表应包含三部分路由:

  • 到172.16.2.0/24、172.16.3.0/24和172.16.4.0/24三个子网的路由。

  • 到DeviceB、DeviceC及DeviceD的网段路由。

  • 到ISP网络的缺省路由。

问题:
如果ISP侧网络路由器DeviceE接收到目的地址是172.16.10.0/24网段内的报文,则DeviceE会把该报文转发到DeviceA。

如果该报文的目的地址不是DeviceB、DeviceC和DeviceD所连网段的网络地址,DeviceA查找路由表后,会找到缺省路由,然后把该报文发给DeviceE。

因此这些目的地址不是DeviceB、DeviceC和DeviceD所连网段的网络地址,但是172.16.10.0/24网段的网络地址的报文,会在DeviceA和DeviceE之间如此反复被传输,形成路由环路。

黑洞路由

什么是黑洞路由 ?

为了解决路由黑洞问题(环路),或防止doss、黑客攻击,防止服务器造成不必要的性能损耗或带宽占用

实现方案
  • 配置一条静态的网络路由
  • 对于交换机或者路由器来说,当转发网络设备在转发某些数据包时,如果使用出接口为Null0的路由,指向该接口的路由,符合的报文都会被丢弃,就像直接被丢到一个黑洞里
  • 对于ubuntu系统来说,实现黑洞路由的方式参考:https://www.cyberciti.biz/tips/how-do-i-drop-or-block-attackers-ip-with-null-routes.html,http://www.uni-koeln.de/~pbogusze/posts/Blackhole_routing_with_linux.html

Null0接口实现解决环路

针对以上路由环路示例的解决方案描述

在实际应用中,一般会在DeviceA上配置一条到NULL0接口的静态路由。这样,当DeviceA收到目的网段不是本地三个子网的报文后,DeviceA会根据精确匹配原则,找到出接口是NULL0接口的路由,然后把该报文丢弃。

由此可见,在DeviceA上配置一条出接口是NULL0接口的静态路由,可以防止路由环路

Null0接口作用
  • 用于过滤流量:NULL0接口提供了过滤流量的一个可选的方法。可以通过将不想要的报文发送到NULL0接口,避免使用访问控制列表。

    • NULL0接口和访问控制列表都可以用于过滤流量,这两种用法各有裨益。下面对NULL0接口和访问控制列表进行简单比较。

    • 如果使用访问控制列表,首先要配置ACL规则,然后将它应用到接口。当路由器收到报文时,要首先查找访问控制列表:

      • 如果是接受,还要查找转发表,再对报文进行转发或丢弃。
      • 如果是拒绝,就直接扔掉。
  • NULL0接口的配置简单,只需将不想要的报文的出接口指定为NULL0接口。当路由器收到报文时,直接查找转发表,发现出接口是NULL0接口,则路由器不对报文做任何处理,直接丢弃。

所以对比起来,应用NULL0接口效率高,速度快。比如某路由器不希望收到某个指定目的地址的报文,用NULL0接口实现,只需配置路由。如果用访问控制列表实现,需要先配置一条ACL规则,然后再将这条规则在路由器的相应接口上应用。但是,NULL0接口不能细化流量,它面向的对象是整个路由器。访问控制列表是可以面向接口的。如果细致到需要控制面向接口的流量,NULL0接口就不能满足要求了。比如某路由器不希望在本地接口Serial1/0/0上收到目的地址是172.18.0.0/16的流量。用NULL0接口是不能实现的,只能通过配置ACL规则,然后将其应用到接口Serial1/0/0。

实现
# 设置了一个规则,让所有数据包都按照表 225 进行路由,并且设置了规则的优先级为 225。
ip rule add from all table 225 prio 225# 在路由表 225 中添加了一个路由项,将目标网络地址为 192.168.194.0/24 的数据包丢弃。
# 在225中添加黑洞路由,比如网段是为192.168.194.0/24,则命令为
ip route add blackhole 192.168.194.0/24 table 225# 删除225中的黑洞路由,比如保护子网为192.168.194.0/24,则命令为
ip route del blackhole 192.168.194.0/24 table 221

todo:未完待续

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

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

相关文章

在龙梦迷你电脑福珑2.0上使用Fedora 28 龙梦版

在龙梦迷你电脑福珑2.0上使用Fedora 28 龙梦版。这个版本的操作系统ISO文件是:Fedora28_for_loongson_MATE_Live_7.2.iso 。它在功能方面不错。能放音乐,能看cctv直播,有声音,能录屏,能在局域网里用PuTTY的ssh方式连接…

《苏东坡 传》一蓑烟雨任平生

《苏东坡 传》一蓑烟雨任平生 林语堂,中国现代著名作家、学者、翻译家、语言学家。 张振玉 译 文章目录 《苏东坡 传》一蓑烟雨任平生[toc]摘录小结感悟 摘录 苏东坡是个秉性难改的乐天派,是悲天悯人的道德家,是黎民百姓的好朋友,…

C语言C/S架构PACS影像归档和通信系统源码 医院PACS系统源码

C语言C/S架构PACS影像归档和通信系统源码 医院PACS系统源码 医院影像科PACS系统,意为影像归档和通信系统。它是应用在医院影像科室的系统,主要的任务是把日常产生的各种医学影像(包括核磁、CT、超声、各种X光机、各种红外仪、显微…

JAVA ASM总结篇-03

MethodVisitor ClassVisitor的visitMethod能够访问到类中某个方法的一些入口信息,那么针对具体方法中字节码的访问是由MethodVisitor来进行的 访问顺序如下,其中visitCode和visitMaxs仅调用一次,标志方法字节码访问的开始和结束 MethodVisi…

不羁联盟怎么参与测试 不羁联盟测试时间+参与测试方法分享

不羁联盟怎么参与测试 不羁联盟测试时间参与测试方法分享 《不羁联盟》是由育碧(Ubisoft)开发的一款6v6团队合作射击游戏。游戏的背景设定在一个后启示录时代的废土世界中,玩家能够身临其境地感受到废土世界的荒凉和残酷。游戏在内测时候就受…

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台级联时,下级平台未发流是什么原因?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

AUTOCAD输出或打印PDF文件时,如何将图形居中且布满图纸?

AUTOCAD输出或打印PDF文件时,如何将图形居中且布满图纸? 如下图所示,我们打开一份DWG格式的图纸文件,然后点击上方的“打印“图标, 如下图所示, 打印机/绘图仪这里选择“DWG To PDF“; 图纸尺寸:这里以普通的A4纸为例进行说明; 打印比例选择“布满图纸“; 打印偏移…

优维应用级数字化架构管理:让企业运维天堑变通途

在优维科技的产品视角中,数字化架构管理就像是一门精妙的艺术,它将上层应用模型的业务概念以可视化的方式呈现出来,使得业务逻辑和流程变得更加直观、清晰。我们将这样的管理方式理解为“给企业搭起一座桥梁”——在这座桥梁的搭建过程中&…

express服务器 authorization 前端获取不到的问题

服务器生成token 设置在响应头,但是前端获取不到 const token JWT.generate({ id: new Date().getTime(), userName }, 10s) res.header(Authorization, token) axios.interceptors.response.use((response) > {console.log(response);if (response.data?.co…

破解费用管理迷局,企业费用管理从不止于报销

数字化变革浪潮下,各种企业费用报销软件如雨后春笋般不断涌现,企业报销效率大幅提升,部分财务处理流程得到固化和优化,报销早已不再是企业费时费力的财务难题。那么,企业费用管里如何实现呢? 企业费用贯穿于…

ubuntu上安装调试SVN服务

刚成立团队需要临时搭建一台SVN服务器,所以对照网上的一些提示做了下,操作起来不复杂,还是踩了不少坑,顺便原理性了解了下。 主要操作步骤如下: 1:安装svn sudo apt-get install subversion 2: 创建svn版…

NVIDIA智算中心“产品”上市,AI工业革命的iPhone时刻

GTC 2024落下帷幕了,但这个大会的信息仍在AI产业和经济中发酵。咨询机构WIKIBON认为,GTC 2024在整个科技史中的意义超过了当年史蒂夫乔布斯的iPod和iPhone发布。在AI将永久改变人类的共识下,GTC 2024在广度、愿景、生态系统等方面都有着深远影…

Nacos注册中心的使用

一&#xff1a;服务注册 步骤如下&#xff1a; 引入依赖 配置Nacos地址 重启 1、添加依赖 在需要注册的项目的pom.xml中添加依赖&#xff1a; <!--nacos 服务注册发现--> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>s…

利用Python进行大规模数据处理【第173篇—数据处理】

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 利用Python进行大规模数据处理&#xff1a;Hadoop与Spark的对比 随着数据量的不断增长&…

ros仿真启动小龟

1.启动RosMaster&#xff08;管理Ros中各个节点的“大管家”&#xff0c;每次启动Ros时需要首先启动RosMaster&#xff09; roscorefangfang-inspiron-5580:~/ros2/download/rosdistro$ roscore ... logging to /home/fang/.ros/log/6ec2d790-fe1d-11ee-aba8-1c1bb5cdec7c/ros…

java多线程-线程通信

简介 最常见的模式&#xff1a;生产者-消费者模式 线程通信模型 常见API 生产者抢到资源&#xff0c;生成资源&#xff0c;自己进入等待&#xff0c;唤醒消费者消费者抢到资源&#xff0c;消费数据&#xff0c;自己进入等待&#xff0c;唤醒生产者 定义容器 定义一个容器&#…

python/pygame 挑战魂斗罗 笔记(二)

一、建立地面碰撞体&#xff1a; 现在主角Bill能够站立在游戏地图的地面&#xff0c;是因为我们初始化的时候把Bill的位置固定了self.rect.y 250。而不是真正的站在地图的地面上。 背景地图是一个完整的地图&#xff0c;没有地面、台阶的概念&#xff0c;就无法通过碰撞检测来…

上位机图像处理和嵌入式模块部署(树莓派4b实现固件主流程)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 软件开发一般有软件需求、架构设计和详细设计、软件测试这四个部分。软件需求和软件测试都比较好理解&#xff0c;前者是说要实现哪些功能&#xf…

20240415,构造函数和析构函数,拷贝构造函数调用时机规则

目录 二&#xff0c;对象的初始化和清理 2.1 构造函数和析构函数 2.2 函数分类及调用 2.3 拷贝构造函数调用时机 2.4 构造函数调用规则 二&#xff0c;对象的初始化和清理 2.1 构造函数和析构函数 解决初始化和清理问题&#xff0c;编译器自动调用&#xff0c;如果不提…

C语言中的数据结构--双向链表

前言 上一节我们已经学习完了单链表&#xff08;单向不带头不循环链表&#xff09;的所有内容&#xff0c;我们在链表的分类里面知道了&#xff0c;链表分为单向的和双向的&#xff0c;那么本节我们就来进行双向链表&#xff08;带头双向循环链表&#xff09;的学习&#xff0c…