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.mfbz.cn/a/428807.html

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

相关文章

反向传播算法(Back Propagation)

注意:本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 ([www.aideeplearning.cn]) 反向传播算法 梯度下降和反向传播是神经网络训练过程中两个非常重要的概念,它们密切相关。梯度下降是一种常用的优化算法&#xff0…

rt thread stdio如何同时生成bin和hex

一、rt thread stdio默认生成bin文件: rt thread stdio 软件编译时,默认生成bin文件; 二、rt thread stdio如何同时生成bin和hex 右键单击-->项目-->属性-->C/C构建-->设置-->构建步骤-->(构建后步骤)命令: …

【Java】Base理论的核心思想和理论三要素

目录 简介 BASE 理论的核心思想 BASE 理论三要素 1. 基本可用 2. 软状态 3. 最终一致性 总结 简介 BASE 是 Basically Available(基本可用) 、Soft-state(软状态) 和 Eventually Consistent(最终一致性&#xf…

软件分层(数据结构/软件逻辑上分层+举例),相连节点的概念+如何相连,为什么是层状结构(软件分层,网络协议分层+梳理协议顺序),协议分层(打电话例子)

目录 软件分层 介绍 举例 类的继承 虚拟文件系统 线程接口封装 虚拟地址空间 总结 为什么是层状的 软件分层 网络协议 原因 梳理协议顺序 相连节点 协议分层 引入 示例 实际上 逻辑上 制定出协议 软件分层 介绍 通过将软件系统划分为不同的层次,每一层都有…

递归学习资料

思路 例题 package 递归;public class 反向打印字符串 {public static void main(String[] args) {f("ABC",0);}static void f(String str,int n){if (nstr.length()){return;}f(str,n1);System.out.println(str.charAt(n)"");} }多路递归 递归优化 -剪枝…

解决prettier 报错 Delete `␍`

根目录(么有的话)新建 .prettierrc.js配置文件 module.exports {tabWidth: 2,semi: true,printWith: 80,singleQuote: true,quoteProps: consistent,htmlWhitespaceSensitivity: strict,vueIndentScriptAndStyle: true,// 主要是最后一行endOfLine:aut…

J013_简易商家外卖系统

一、需求描述 1、完成菜品的上架功能 2、完成菜品的浏览功能 二、开发设计 1、需要设计一个菜品类,用于创建菜品对象 2、需要一个菜品操作类,用于封装菜品上架和菜品浏览功能 3、测试程序 三、代码实现 3.1 Food类 package com.itheima.arrayli…

Vue中如何进行非父子组件通信?

当谈及Vue中非父子组件通信时,我们通常会考虑使用Event Bus或者Vuex来实现。以下是我为您准备的一些面试题内容和示例代码: 面试题:“Vue中如何进行非父子组件通信?” 在Vue中,父子组件之间的通信通常是通过props和e…

【小迪安全】2022年全栈渗透测试工程师培训视频

🚫 禁止任何非授权的网络攻击! 🚓 谨记双刃剑之道,以防引火烧身! 观看地址 【小迪安全】2022年全栈渗透测试工程师培训视频 说明 资料均收集自互联网,本站不对任何视频资源进行出售!感谢视频…

Vue.js+SpringBoot开发音乐偏好度推荐系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.1.1 音乐档案模块2.1.2 我的喜好模块2.1.3 每日推荐模块2.1.4 通知公告模块 2.2 用例图设计2.3 实体类设计2.4 数据库设计 三、系统展示3.1 登录注册3.2 音乐档案模块3.3 音乐每日推荐模块3.4 通知公告模…

关于docker容器存储问题

一、容器的存储可以分为两大类: 一种是与镜像相关的即容器层Copy-On-Write特性。默认情况下,在容器内创建的所有文件都存储在可写容器层上,这种直接将文件存储在容器层的方式数据难以持久化和共享,由于依赖存储驱动与使用直接写入…

139.乐理基础-一四五八度为何用纯?

上一个内容:138.乐理基础-等音、等音程的意义-CSDN博客 上一个内容里练习的答案: 以乐理里写的知识,没办法完全解释透彻 一四五八度为何用纯?这个问题,要透彻的话要从各个文明怎么发现音高、发明音高、制定规则等&…

javascript学习快速入门

JavaScript 基本语法 快速入门 数据类型 123 // 整数123 123.1 //浮点数123.1 1.123e3 //科学计数法-99//复数 NaN// not a numberInfinity //表示无限大注意点 NaNNaN,这个与所有的数值都不相等,包括自 己 只能通过isNaN(NaN)来判断这个数是否是Na…

第1章:绪论 1.1数据库系统概述

文章目录 1.1 数据库系统概述1.1.1 数据库的4个基本概念1.1.2 数据管理技术的产生和发展1.1.3 数据库系统的特点 1.1 数据库系统概述 1.1.1 数据库的4个基本概念 数据(Data) 是数据库中存储的基本对象 数据的定义:描述事物的符号记录 数据的种类:文本、…

双重检验锁

双重检验锁:设计模式中的单例模式,细分为单例模式中的懒加载模式。 单例模式 单例模式:指的是一个类只有一个对象。最简单的实现方式是设一个枚举类,只有一个对象。缺点是当对象还没有被使用时,对象就已经创建存在了…

MATLAB读取txt文本数据及可视化指南

MATLAB读取txt文本数据的说明指南 目录 MATLAB读取txt文本数据的说明指南摘要1. 数据准备2. 读取数据3. 绘制图形4. 小结 摘要 在MATLAB中,读取txt文本格式文件数据是一项基本的操作,特别是在数据分析和可视化方面。本文将介绍如何使用MATLAB读取txt文本…

【代码随想录算法训练营Day35】435.无重叠区间;763.划分字母区间;56.合并区间

文章目录 ❇️Day 36 第八章 贪心算法 part05✴️今日任务❇️435. 无重叠区间自己的思路自己的代码(✅通过81.59%)随想录思路随想录代码 ❇️763.划分字母区间自己的思路自己的代码(✅通过55.30%)随想录思路随想录代码 ❇️56. 合…

利用Python自动化日常任务

在快节奏的现代生活中,时间就是一切。幸运的是,Python提供了一系列强大的库和工具,可以帮助我们自动化那些乏味且重复的任务,从而释放我们的时间,让我们可以专注于更有创造性和有意义的工作。下面,我们将探…

【网站项目】158企业人事管理系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

chatgpt-next-web搭建教程,超低成本部署属于自己的ChatGPT

随着AI的应用变广,各类AI程序已逐渐普及,尤其是在一些日常办公、学习等与撰写/翻译文稿密切相关的场景,大家都希望找到一个适合自己的稳定可靠的ChatGPT软件来使用。 ChatGPT-Next-Web就是一个很好的选择。它是一个Github上超人气的免费开源…
最新文章