06 - ip route和route -n的区别

1 ip route和route -n的区别


ip route 和 route -n 都是用于查看和管理Linux系统路由表的命令。但下面是它们的区别:

  • ip route:是Linux系统中的现代工具,它属于iproute2套件;它提供了更多的选项,可以更精确地控制路由表的管理。
  • route -n:是传统的路由管理工具,它属于net-tools套件,它通常用于旧版的Linux系统;它的功能相对较少,选项也较为有限。

1.1 ip route的用法

[root@master-01 home]# ip route
default via 192.168.217.2 dev ens33 
10.3.1.0/24 via 10.3.1.0 dev flannel.1 onlink 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 

【常用参数】解释:

  • default:代表该条路由为默认路由;
  • via ADDRESS:下一跳地址;
  • 默认路由是指当系统无法匹配其他路由时,将数据包发送到指定的下一跳地址。

  • dev NAME:输出的设备名称。
  • src ADDRESS:指定数据包的源 IP 地址。
  • metric:跳数,该条路由记录的质量,一般情况下,如果有多条到达相同目的地的路由记录,路由器会采用metric值小的那条路由。


【不常用参数】解释:

  • proto:路由协议标识符,指示此路由的路由协议类型;
  • kernel:表示该路由是由内核在自动配置期间安装的;
  • proto kernel 的意思是指这个路由项是在自动配置阶段由kernel创建的。

  • scope:指示路由表条目所覆盖的目的地范围;
  • link:表示在设备的网络段内,可以通过此链接进行通信;
  • scope link 的意思是 172.17.0.0/16 这个子网内的目标ip仅仅在 docker0 这个接口上有效。

  • onlink是Linux路由表中的一个参数,表示路由应该“假装下一跳直接连接到这个链路,即使它不匹配任何接口前缀”。这意味着路由器会假设下一跳地址是直接连接的,即使它实际上并不是。这通常用于特殊的网络配置,例如在某些隧道设置中。onlink参数通常用于在路由表中创建虚拟路由。

第一行:
default via 192.168.217.2 dev ens33
此条路由为默认路由,也就是任何无路由报文都通过ens33 经由默认网关192.168.217.2 来转发。


第二行:
10.3.1.0/24 via 10.3.1.0 dev flannel.1 onlink
首先,从该条路由可以表明:Flannel正在使用VXLAN或类似的技术来实现覆盖网络,这条路由的意思是:目的地址10.3.1.0/24通过flannel.1设备上的10.3.1.0进行路由。"onlink"选项表示该路由表项指定的目的地址是直接连接的,不需要经过网关。


第三行:
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1

  • 172.17.0.0/16:这是目的地,表示所有目的IP地址在192.168.1.0到192.168.1.255之间的数据包。
  • dev eth0:这表示数据包将通过名为eth0的网络接口发送和接收。
  • proto kernel:这表示这个路由是由内核自动添加的。
  • scope link:这表示该路由仅对本地链路或直接连接的网络有效,而不可在公共互联网上路由。
  • src 172.17.0.1:这指定了发送数据包时要使用的源IP地址。

因此,这个路由表条目告诉系统将目的IP地址在172.17.0.0/16范围内的数据包发送到名为docker0的网络接口,并使用源IP地址172.17.0.1。


1.2 route -n的用法

[root@master-01 home]# ip route 
default via 192.168.217.2 dev ens33 
10.3.0.0/24 dev cni0 proto kernel scope link src 10.3.0.1 
10.3.1.0/24 via 10.3.1.0 dev flannel.1 onlink 
169.254.0.0/16 dev ens33 scope link metric 1002 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 
192.168.217.0/24 dev ens33 proto kernel scope link src 192.168.217.129 
[root@master-01 home]# 
[root@master-01 home]# 
[root@master-01 home]# 
[root@master-01 home]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.217.2   0.0.0.0         UG    0      0        0 ens33
10.3.0.0        0.0.0.0         255.255.255.0   U     0      0        0 cni0
10.3.1.0        10.3.1.0        255.255.255.0   UG    0      0        0 flannel.1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 ens33
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.217.0   0.0.0.0         255.255.255.0   U     0      0        0 ens33

参数解释:

  • Destination:目的网段;0.0.0.0 表示匹配任意网段。
  • Genmask:子网掩码
  • Gateway:默认网关;0.0.0.0 表示无网关,即与本地IP同一网段。
  • Flags:标志位,U - Up表示有效 G - Gateway表示链接路由,若无这个字段,表示直连目的地址(本机)
  • Metrics:跳数
  • Iface:出口网卡,如果不属于本网段,那么通过Iface端口发送到Gateway地址

第一行的意思:就是去往所有目标地址数据包由网关 192.168.217.2 通过网卡ens33来转发,Flags那一列中有G时才会使用Gateway。


2 iproute2 对决 net-tools


如今很多系统管理员依然通过组合使用诸如ifconfig、route、arp和netstat等命令行工具(统称为net-tools)来配置网络功能,解决网络故障。net-tools起源于BSD的TCP/IP工具箱,后来成为老版本Linux内核中配置网络功能的工具。但自2001年起,Linux社区已经对其停止维护。同时,一些Linux发行版比如Arch Linux和CentOS/RHEL 7则已经完全抛弃了net-tools,只支持iproute2。


如果你仍在使用net-tools,而且尤其需要跟上新版Linux内核中的最新最重要的网络特性的话,那么是时候转到iproute2的阵营了。原因就在于使用iproute2可以做很多net-tools无法做到的事情。


对于那些想要转到使用iproute2的用户,有必要了解下面有关net-tools和iproute2的众多对比。

在这里插入图片描述


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

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

相关文章

使用git的小笔记

平时工作中使用git存储项目代码, 常用的命令 拉取仓库代码 git clone http://100.100.100.100:9080/my_test/test.git 拉取到以后, 先切换到自己的分支 git checkout my_name 一顿魔改代码 然后 add 新增的文件或者修改的文件 git add * 然后提交 并写…

【go从入门到精通】什么是go?为什么要选择go?

go的出生: go语言(或Golang)是Google开发的开源编程语言,诞生于2006年1月2日下午15点4分5秒,于2009年11月开源,2012年发布go稳定版。Go语言在多核并发上拥有原生的设计优势,Go语言从底层原生支持…

拦截大语言模型API调用 无需深究文档源码

背景众多库致力于通过自动重构或创建提示符来优化大语言模型的输出。这些建库宣称能够使大语言模型的输出更加: 安全(例如:安全护栏) 可预测(例如:智能指导) 结构化(例如:指令生成器) 鲁棒(例如:语言链) … 或者针…

如何在 Windows 上安装 ONLYOFFICE 文档 8.0

使用社区版,您可以在本地服务器上安装 ONLYOFFICE 文档,并将在线编辑器与 ONLYOFFICE 协作平台或其他热门系统集成在一起。 ONLYOFFICE 文档是什么 ONLYOFFICE 文档是一个功能强大的文档编辑器,支持处理文本文档、电子表格、演示文稿、可填写…

FPGA时序约束与分析--数据到达路径和数据需求路径

文章目录 前言一、定义二、时序模型三、公式推导前言 时序约束的定义–设计者根据实际的系统功能,通过时序约束的方式提出时序要求; FPGA 编译工具根据设计者的时序要求,进行布局布线;编译完成后, FPGA 编译工具还需要针对布局布线的结果,套用特定的时序模型( FPGA 器件…

Andorid 13 修改默认音量区间、默认音量值

Andorid 13 默认音量区间是 [0,15] ,默认音量 5。 需求是:音量区间为 [0,100] ,默认音量 30 。 找到对应产品的 device.mk ,添加如下 #default volume PRODUCT_PROPERTY_OVERRIDES \ro.config.media_vol_steps100 \ro.config.…

无人机遥感在农林信息提取中的实现方法与GIS融合应用

在新一轮互联网信息技术大发展的现今,无人机、大数据、人工智能、物联网等新兴技术在各行各业都处于大爆发的前夜。为了将人工智能方法引入农业生产领域。首先在种植、养护等生产作业环节,逐步摆脱人力依赖;在施肥灌溉环节构建智慧节能系统&a…

openlayers 路线规划 高德坐标转wgs84 wgs84转天地图

在https://blog.csdn.net/qq_36287830/article/details/136321365改善而来的 需要进行坐标转换 不转换你画的线和实际数据是无法一一对应的 会出现偏移 关键代码 模拟请求后获取到数据场景 fetch(./a.json).then(async (res) > {//等待数据格式化为Jsonlet json await res.…

【C++第三课 - 类和对象中】构造函数、析构函数、拷贝构造函数

目录 类的6个默认成员函数构造函数自己写的构造函数默认生成的构造函数 析构函数概念特征 拷贝构造函数特征 运算符重载 、 >、 < 赋值重载Date类的完善构造函数的完善用复用 类的6个默认成员函数 默认成员函数&#xff1a;不写编译器也会默认生成一份 构造函数 自己…

利用Python批量替换文档中特定参数的数值

情况&#xff1a;有一份文档需要将其中252个不同值的"sza“替换为另外一组数据 &#xff1b; 其中&#xff0c;替换参数值.txt 的格式就是把要替换的数据粘贴到 txt中&#xff0c;成一列就可以了&#xff1b; PS&#xff1a;要是想改文本文档里的其他参数&#xff0c;把代…

UnityShader——09数学知识3

方阵 行与列数量相等的矩阵,n*n阶矩阵 对角矩阵 当对角线以外的矩阵内元素全为0&#xff0c;则称之为对角矩阵&#xff0c;对角矩阵的前提是必须是方阵 单位矩阵 对角线元素全为1&#xff0c;其余元素全为0&#xff0c;属于对角矩阵的一部分 矩阵和向量 把1 * n阶矩阵称…

多个地区地图可视化

1. 配置Json文件 1.1 获得每个省份的json数据 打开 阿里云数据可视化平台 主页。 在搜索框中输入所需省份。 将json文件下载到本地。 1.2 将各省份的json数据进行融合 打开 geojson.io 主页 点击 open&#xff0c;上传刚刚下载的 json 文件&#xff0c;对多个省份不断…

【CSP试题回顾】201409-1-相邻数对

CSP-201409-1-相邻数对 解题代码 #include <iostream> #include <vector> using namespace std;vector<int>arr; int num;int main() {ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);int n;cin >> n;for (int i 0; i < n; i){int t;…

设计模式总结(三)

上一篇总结了设计模式的创建型模式&#xff0c; 接下来总结一下设计模式的几种结构型模式。 1. 适配器模式 适配器模式允许将一个类的接口转换成客户端所期望的另一个接口。适配器模式通常用于以下情况&#xff1a; 当你需要使用一个已经存在的类&#xff0c;但是它的接口与你…

不愧是华为出来的,太厉害了...

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 实习去了博彦科技&#xff08;外包&#xff09;&#xff0c;做的…

设计模式笔记——建造者模式

设计模式&#xff08;创建型&#xff09;—— 建造者模式 这是一个学生类&#xff0c;它有四个属性&#xff0c;通过构造方法创建它的对象&#xff0c;我们需要填入四个参数&#xff0c;这就导致创建对象的代码有点长&#xff08;如果他有更多属性时&#xff0c;那会更加恐怖&…

赋能中国制造,大道云行发布智能制造分布式存储解决方案

《中国制造2025》指出&#xff0c;“制造业是国民经济的主体&#xff0c;是立国之本、兴国之器、强国之基。” 智能制造引领产业提质增效 智能制造是一种利用先进的信息技术、自动化技术和智能技术来优化和升级制造业生产过程的方法。它将人工智能、大数据、物联网、机器学习等…

算法竞赛STL:map的使用方法

算法竞赛STL&#xff1a;map的使用方法 map 容器描述&#xff1a; map是一种关联容器&#xff0c;它存储的元素是键值对&#xff0c;键和值可以是任意类型。map内部的元素按照键的顺序进行排序&#xff0c;排序的规则由比较函数决定。 使用方法&#xff1a; 首先&#xff0c…

【扩散模型系列2】DiT 《Scalable Diffusion Models with Transformers》论文阅读

文章目录 摘要1. 前言2. 相关工作TransformersDDPMs架构复杂度 3. 扩散Transformer3.1 准备知识扩散公式Classifier-free GuidanceLDMs 3.2. Diffusion Transformer Design SpacePatch化DiT模块设计模型大小Transformer Decoder 4. 实验设置训练扩散评估指标计算 5. 实验DiT bl…

【前端】登陆页面:记住密码、设置cookie、加密

将保存在cookie中的密码自动填入表单&#xff1a;库js-cookie // login.vue getCookie() {const username Cookies.get("username");const password Cookies.get("password");const rememberMe Cookies.get(rememberMe)this.loginForm {username: use…