Centos7静态路由和动态路由

路由,即路由选择(Routing),是指在计算机网络中选择数据传输路径的过程。路由器(Router)是执行路由选择功能的网络设备。路由的主要目的是在复杂的网络结构中,选择最佳路径将数据包从源节点传递到目标节点。

路由的类型

  1. 静态路由(Static Routing)

    • 由网络管理员手动配置。
    • 路由信息是固定的,不会自动更新。
    • 优点:简单、开销小。
    • 缺点:不适用于大型或动态变化的网络。
  2. 动态路由(Dynamic Routing)

    • 使用路由协议自动学习和更新路由信息。
    • 路由器之间互相交换路由信息,自动选择最佳路径。
    • 优点:适应网络变化,适合大规模网络。
    • 缺点:开销较大,需要更多的计算资源。

比较

特点静态路由动态路由
配置手动配置自动更新
适应性固定,不适应变化动态调整,适应变化
维护工作量较高,需人工维护较低,自动维护
复杂性低,简单明了高,需要配置和管理协议
资源消耗低,节省资源高,消耗计算和带宽资源

常见的动态路由协议

  1. RIP(Routing Information Protocol)

    • 使用距离向量算法。
    • 适用于小型网络。
    • 路由更新周期为30秒,最多跳数为15。
  2. OSPF(Open Shortest Path First)

    • 使用链路状态算法。
    • 适用于大型网络。
    • 路由更新是基于网络变化进行的。
  3. BGP(Border Gateway Protocol)

    • 主要用于互联网中的自治系统之间的路由选择。
    • 使用路径向量算法。
    • 适用于跨域路由。

路由表

路由器通过路由表来决定数据包的转发路径。路由表包含以下信息:

  • 目标网络地址
  • 子网掩码
  • 下一跳(Next Hop)地址
  • 接口(Interface)

路由选择的基本步骤

  1. 路径发现

    • 路由器通过路由协议或者静态配置获得可达网络的路径信息。
  2. 路径选择

    • 根据路由表选择最佳路径。
  3. 路径维护

    • 动态路由协议会定期更新路由表,确保路由信息的准确性。

路由协议的分类

  1. 内部网关协议(IGP, Interior Gateway Protocol)

    • 用于同一自治系统(AS)内。
    • 常见协议有RIP、OSPF、EIGRP(Enhanced Interior Gateway Routing Protocol)。
  2. 外部网关协议(EGP, Exterior Gateway Protocol)

    • 用于不同自治系统之间。
    • 主要协议是BGP。

路由器在转发数据时,确实需要先在路由表中查找相应的路由,主要有三种途径:

  1. 直连路由:当路由器的一个接口配置了IP地址,并且此接口处于激活状态时,路由器会自动将此接口直连的网络添加到路由表中,这种路由被称为直连路由。直连路由无需手动配置,也无需管理员干预,只要接口配置了IP地址并且激活,路由器就会自动生成直连路由。
  2. 静态路由:静态路由是由管理员手动添加的路由。管理员通过命令或配置界面,指定目标网络、子网掩码、下一跳地址或出接口等信息,将静态路由添加到路由表中。静态路由不会自动更新,需要管理员根据网络变化手动修改或删除。静态路由的优点是不会占用路由器太多的CPU和RAM资源,也不会占用太多带宽,但需要管理员对网络拓扑有深入的了解。
  3. 动态路由:动态路由是由路由协议动态建立的路由。路由器通过运行路由协议(如RIP、OSPF、BGP等),与相邻路由器交换链路状态和路由信息,根据这些信息计算出最佳路径,并自动更新路由表。动态路由能够自动适应网络变化,无需管理员手动干预,但会占用一定的CPU和RAM资源,并可能产生额外的网络流量。

在路由查找过程中,路由器会根据数据包的目的IP地址和路由表中的路由条目进行匹配,选择最佳的路径进行转发。如果路由表中没有匹配的路由条目,路由器可能会选择默认路由或进行其他处理。

查看路由表:
[root@localhost ~]# ip r     #或使用命令 ip route 查看路由和网关
default via 192.168.2.1 dev ens33 proto dhcp metric 100 
192.168.2.0/24 dev ens33 proto kernel scope link src 192.168.2.10 metric 100



#via:通过的意思,相当于下一跳

案例需求:在虚拟机B(桥接)上ping虚拟机A(net网络)的ens33网卡IP。

虚拟机A :net模式 192.168.226.100

虚拟机B:桥接模式 192.168.2.10

解决思路:
    1、在主机B上添加默认路由,使其能找到主机A的ens36网卡
    2、在主机A上添加一块桥接的网卡

解决步骤:

在主机A,192.168.226.100操作

查看192.168.226.100的IP如下

接下来对192.168.2.10操作

[root@localhost ~]# ip route add default via 192.168.2.11
[root@localhost ~]# ip r show                                 #查看 IP 路由表
default via 192.168.2.11 dev ens33 
default via 192.168.2.1 dev ens33 proto dhcp metric 100 
192.168.2.0/24 dev ens33 proto kernel scope link src 192.168.2.10 metric 100 



命令解读:
ip route add default via 192.168.2.11 用于配置网络路由表。下面是这个命令的详细解释:

ip route:
这是 ip 命令的 route 子命令,用于查看或修改 IP 路由表。
add:
这是一个操作,表示要添加一个新的路由到路由表中。
default:
这指定了要添加的路由的目的地。default 是一个特殊的路由,表示没有明确匹配的其他路由的所有流量都将使用这个路由。换句话说,它是所有“其他”流量的默认出口。
via 192.168.2.11:
这指定了下一跳(或网关)的地址。当数据包要发送到 default(即所有没有明确路由的数据包)时,它们将首先被发送到 192.168.2.11 这个地址。这通常是一个路由器或网关的地址,负责将数据包转发到其最终目的地。
#启用 IP 转发功能
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward

/proc/sys/net/ipv4/ip_forward: 这是一个虚拟文件系统(procfs)中的文件,用于控制内核参数。在这个特定的例子中,这个文件控制 IPv4 的 IP 转发功能。

  • 如果这个文件的值为 0,则 Linux 系统不会转发 IP 数据包(除了回环接口上的数据包)。
  • 如果这个文件的值为 1,则 Linux 系统将转发来自一个网络接口的数据包到另一个网络接口,如果路由表中有相应的条目。

现在就实现连通啦 。

添加静态路由

有两种主要的方式来添加静态路由:

  1. 使用 route 命令:

    route add -net 目标网络地址 netmask 子网掩码 gw 下一跳地址

    例如,要将数据包发送到目标网络 192.168.1.0/24,网关为 192.168.0.1,可以使用以下命令:

    
    route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1

  2. 使用 ip route 命令:

    ip route add 目的网络/子网掩码 via 网关

    同样,以 192.168.1.0/24 和网关 192.168.0.1 为例:

    ip route add 192.168.1.0/24 via 192.168.0.1

删除静态路由

同样地,也有两种主要的方式来删除静态路由:

  1. 使用 route 命令:

    route del -net 目标网络 netmask 子网掩码 gw 网关地址

    以删除目标网络为 192.168.1.0/24 的静态路由为例:

    route del -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1

  2. 使用 ip route 命令:

    ip route del 目标网络/子网掩码 via 下一跳地址

    同样以 192.168.1.0/24 和下一跳地址为 192.168.0.1 为例:

    ip route del 192.168.1.0/24 via 192.168.0.1

 开启路由转发

临时设置
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward 
#默认是零,没有开路由。1表示开启




永久设置 
[root@localhost ~]# vim  /etc/sysctl.conf  #添加如下内容

net.ipv4.ip_forward = 1

[root@localhost ~]# sysctl  -p             #立即生效

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

kubectl

陈述式资源管理方法 kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用apiserver的接口 kubectl 是官方的CLI命令行工具,用于与apiserver进行通信,将用户在命令行输入的命令,组织转换成apiserver能识别的信息,进而实现…

在某云服务器上搭建公网kali linux2.0

前提: 可用的 CVM 实例 挂载一个系统盘之外的盘,安装完成后可卸载! 创建实例,安装centos7系统! 然后执行fdisk -l看磁盘的情况 在这里我将把镜像写入vdb这块数据盘 非 root 的情况下记得sudo执行以下命令 注意&…

【综合类型第 39 篇】《我的创作纪念日》成为创作者的第2048天

这是【综合类型第 39 篇】,如果觉得有用的话,欢迎关注专栏。 前言 无意间看了一眼CSDN的私信,提示我 Allen Su ,不知不觉今天已经是你成为创作者的 第2048天 啦,为了纪念这一天,我们为您准备了一份专属小…

51-53 DriveWorld:通过自动驾驶世界模型进行 4D 预训练场景理解 (含模型数据流梳理)

24年5月,北京大学、国防创新研究院无人系统技术研究中心、中国电信人工智能研究院联合发布了DriveWorld: 4D Pre-trained Scene Understanding via World Models for Autonomous Driving。 DriveWorld在UniAD的基础上又有所成长,提升了自动驾驶目标检测…

Java方法的基本用法

Java方法的基本用法 前言一、什么是方法方法存在的意义示例 二、方法定义语法基本语法代码示例注意事项 三、方法调用的执行过程基本规则代码示例计算两个整数相加计算 1! 2! 3! 4! 5! 四、实参和形参的关系代码示例交换两个整型变量原因分析解决办法 五、没有返回值的方法…

如果有多个文件夹,怎么快速获得文件夹的名字呢

上一篇写到怎么批量建立文件夹,那么怎么获取批量文件夹的名字呢? 一、啊这,这真是一个好问题二、这个得用Python(文本末尾有打包程序,点击链接运行就可以了)(1)首先建立一个py文件&a…

类的组合、作用域与可见性、类的静态成员、单例模式、

类的组合 一个类内嵌其他类的对象作为成员的情况 has - a组合 初始化列表的另一用途:为了调用数据成员的带参构造函数 能够层层递进 class Line { public:Line(int x1 0, int y1 0, int x2 0, int y2 0);Line(const Line &other);~Line();Line(const Po…

linux mail命令及其历史

一、【问题描述】 最近隔壁组有人把crontab删了,crontab这个命令有点反人类,它的参数特别容易误操作: crontab - 是删除计划表 crontab -e 是编辑,总之就是特别容易输入错误。 好在可以通过mail命令找回,但是mai…

恭喜!国内医生喜提哈佛大学布莱根妇女医院访问学者邀请函

【校园简介】 布莱根妇女医院(Brigham and Women’s Hospital,BWH)位于马萨诸塞州波士顿的哈佛医学区,毗邻于哈佛医学院校园,是哈佛大学医学院的主要附属医院之一。位于马萨诸塞州波士顿的布莱根妇女医院有12项成人学科位居全国权威,并在耳鼻…

【Linux】详解线程控制之线程创建线程终止线程等待线程分离

一、线程创建 thread:这是一个指向pthread_t类型的指针,用于获取新创建线程的线程ID。在调用pthread_create后,这个指针会被设置为新线程的ID。 attr:这是一个指向pthread_attr_t类型的指针,用于设置线程的属性&#x…

网络工程师备考1——基础学习

认识设备 1 交换机 一、什么是交换机? 实现不同电脑之间数据的转发 换机是一种用于电(光)信号转发的网络设备。 它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。交换机工作于OSI参考模型的第二层,即数据…

SpringBoot3整合阿里云短信服务-1(配置阿里云短信服务)

SpringBoot3整合阿里云短信服务-1(配置阿里云短信服务) 一、开通阿里云短信服务 阿里云官网:阿里云官网 选择产品中企业服务与云通信中的短信服务 选择免费开通 选择快速学习和测试 根据这几个全部配置一下我这里是配置好了所以学习进度是100% 1.1 添加资质 首先选择新增资质 …

SpringBoot发送邮箱

一、导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId> </dependency> 二、添加配置 application.yml文件 将username修改为自己的邮箱&#xff0c;password修改为…

【Vue】Vue2使用ElementUI

目录 Element UI介绍特点Vue2使用Element安装引入ElementUI组件库 使用ElementUI用户注册列表展示其他 mint-ui介绍特点安装组件引入组件Mint-ui相关组件 Element UI 介绍 官网(基于 Vue 2.x ):https://element.eleme.cn/#/zh-CN ElementUI 是一个基于 Vue.js 的桌面端组件库…

基于Arduino的电梯超载报警系统

企鹅&#xff1a;2583550535 项目和论文都有 第1章 绪论.............................................................................................................................. 1 1.1 项目背景及意义........................................................…

ABP.VNET 项目结构

想要了解ABP分层架构&#xff1a;ABP分层架构-CSDN博客 可以看此篇文章 apb.vnet 生成的项目的目录结构 .Application 项目 应用服务用于将领域(业务)逻辑暴露给展现层。 展现层通过传入DTO(数据传输对象)参数来调用应用服务&#xff0c;而应用服务通过领域对象来执行相应的…

【网络安全】2030年十大新兴网络安全威胁

欧盟网络安全局&#xff08;ENISA&#xff09;已发布了一份全面的清单&#xff0c;列出了预计到2030年将影响数字领域的十大新兴网络安全威胁。 该预测是为期八个月的广泛研究的成果&#xff0c;融合了ENISA前瞻专家小组、CSIRTs网络以及欧盟CyCLONe专家的见解。 这项研究突显…

抖音小店无货源怎么做?从开店到发货,最全教程来了!

哈喽~我是电商月月 近几年&#xff0c;抖音的发展如火如荼&#xff0c;抖音小店也吸引了大批新手商家入驻 那抖音小店具体流程到底怎么做&#xff1f;无货源的商家去哪找货&#xff1f;怎么上架&#xff0c;如何推流? 不知道&#xff1f; 今天我就给大家讲一下抖音小店从开…

[集群聊天服务器]----(五)User类、UserModel类

接着上文[集群聊天服务器]----(四)MySQL数据库模块&#xff0c;接下来我们对User类、UserModel类进行剖析&#xff0c;User表和UserModel类是项目最基本也是最重要的部分&#xff0c;通过它我们对用户的id&#xff0c;用户名&#xff0c;密码&#xff0c;状态相关信息进行存储&…

数据分析【方差分析】四

方差分析的核心 什么是方差分析:方差分析是假设检验的一种延续与扩展,主要用于多个总体均值(三组或三组以上均值)是否相等做出假设检验,研究分类型自变量对数值型因变量的影响。 它的零假设和设备假设分别为: 单因素方差分析的前提条件 独立性 组内独立(随机抽样、…