当前位置: 首页 > news >正文

route命令 路由表 Linux Centos

route

route命令在Linux中被用于显示和操纵IP路由表。然而,现在大部分Linux发行版都推荐使用ip route命令代替route,因为ip route提供更多的功能和更灵活的控制。

以下是route命令的基本用法:

  1. 查看路由表: route -n 这个命令显示当前机器的路由表。-n标志意味着数字形式的网络地址,而不是尝试解析主机名。

  2. 添加路由: route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth0 这个命令添加一个网络路由,将192.168.1.0/24网络的数据包通过192.168.1.1的网关发送,通过eth0接口。

  3. 删除路由: route del -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 这个命令删除上面添加的路由规则。

注意:route命令修改的路由表在重启后会丢失,如果你想永久添加或删除路由,需要将其添加到网络配置文件或者启动脚本中。

尽管route命令依然可以使用,但现代Linux系统中,大多数情况下都推荐使用ip route命令,因为它提供了更多的功能和更好的控制。

例如,你可以使用ip route show来查看路由表,使用ip route add 192.168.1.0/24 via 192.168.1.1 dev eth0来添加路由,使用ip route del 192.168.1.0/24 via 192.168.1.1来删除路由。

另外,ip route命令还支持更多的选项和参数,如源路由,策略路由等,这使得它比route命令更强大、更灵活。

# 修改路由表信息; metric是优先级; 修改的话必须能匹配到才可以修改
ip route change 172.16.193.0 via 0.0.0.0 metric 300 dev veth01
​
# 删除路由表
ip route del 172.16.193.0 via 0.0.0.0 dev veth01
​
# 添加路由表
ip route add 172.16.193.0/24 via 0.0.0.0 dev veth01

路由信息解读

route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default gateway 0.0.0.0 UG 100 0 0 ens33 172.16.193.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 [root@centos133 ~]# ip route show default via 172.16.193.2 dev ens33 proto static metric 100 172.16.193.0/24 dev ens33 proto kernel scope link src 172.16.193.133 metric 100 192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1

  • default via 172.16.193.2 指定了默认路由,也就是说,所有不符合下面任何一条路由规则的数据包都将发送到 172.16.193.2 这个地址。

  • dev ens33 表示数据包将通过 ens33 网络接口发送。

  • proto dhcp 表示这条路由是由 DHCP 协议添加的。

  • proto kernel: 表示此条路由条目是内核添加的。

  • scope link: 这意味着这个网络是直接相连的,我们可以直接通过相应的接口发送数据包,不需要通过其他路由器。

  • src 172.16.193.133 表示源地址是172.16.193.133。

  • `172.16.193.0/24 dev ens33 表示所有目标地址在 172.16.193.0/24 子网中的数据包都将通过 ens33 网络接口发送。

在分析网络问题时,你可以检查以下几点:

  1. 查看默认路由:默认路由是当数据包的目标 IP 地址不匹配任何特定路由时,数据包会发送到的地方。确保默认路由的网关是可达的并且正确配置。

  2. 查看特定的路由条目:如果你在访问某个特定的网络或者主机时遇到问题,你应该查看路由表中相应的条目。如果没有找到相应的条目,你可能需要添加一条新的路由。

  3. 查看网络接口:确保路由条目指定的网络接口是可用的。你可以使用 ip link show 命令来查看网络接口的状态。

  4. 检查网络连接:使用 pingtraceroute 命令检查网络连接。如果你无法连接到路由的网关,那么你可能需要检查网络连接或者网关的配置。

  5. 你的目标 IP 地址(即虚拟机的 IP 地址)应在路由表的某个网络地址范围内。也就是说,应存在一条路由条目,其网络地址包含了你的目标 IP 地址。

  6. 检查该路由条目是否指向正确的网络接口。如果你在虚拟机上设置了 veth 网络接口,那么路由应该通过这个接口。

  7. 如果虚拟机在网络上使用了 NAT,那么还需要检查宿主机的路由表,看看是否有指向虚拟机 NAT 地址的路由。

在 macOS 上,可以使用 netstat -rn 命令查看路由表。

路由表解读

以下是一个典型的路由表输出例子:

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.1.1        UGSc           76        1     en0
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH              5    41894     lo0
169.254            link#4             UCS             0        0     en0
192.168.1          link#4             UCS             3        0     en0
192.168.1.1/32     link#4             UCS             2        0     en0
192.168.1.1        0:1f:c6:4f:31:55   UHLWIir        77      443     en0   1199
192.168.1.3        127.0.0.1          UHS             0        0     lo0
192.168.1.103      127.0.0.1          UHS             0        0     lo0

每一行代表一个路由项,具体解释如下:

  • Destination: 数据包的目标网络或主机。

  • Gateway: 数据包将要经过的下一跳路由器的 IP 地址。link#4127.0.0.1 这样的值表示数据包将直接发送到目标,不通过其他路由器。

  • Flags: 路由选项标志。重要的有 U (Up),表示路由可用,G (Gateway) 表示要经过一个网关(也就是另一个路由器),H (Host) 表示目标是一个主机而不是一个网络,S (Static) 表示这是一个静态路由,手动添加的,不会随着路由协议的变化而变化。

  • Refs: 该路由项被多少个 socket 引用。

  • Use: 该路由项被使用的次数。

  • Netif: 输出接口名称,比如 en0lo0en0 通常代表以太网接口,lo0 代表本地回环接口。

  • Expire: 路由项过期的时间。这通常在动态路由中使用,表示该路由项在多少秒后过期。

  • Link#4类似的含义: link#4表示的是第四个网络接口。这个数字是网络接口在系统中的注册顺序,并不一定代表其名称。例如,en0,en1,en2,lo0等可能对应不同的link#编号。

  • 四个0(0.0.0.0)在路由表中通常表示默认网关,它用于将所有未明确指向其他路由的流量发送到指定的网络设备。0.0.0.0 通常表示“任何网络地址”或“不确定的网络地址”。Gateway 是 0.0.0.0:这通常表示这是一个直连网络,也就是说,这个路由项是指向一个在同一网络段内的目标,不需要通过网关就可以直接达到。

  • Genmask 是 255.255.255.0:这是一个子网掩码,表示该网络的 IP 地址的前 24 位被用于网络地址,后 8 位被用于主机地址。这意味着该网络可以包含的 IP 地址范围是该网络的 x.x.x.0x.x.x.255,其中 x.x.x.0 代表网络地址,x.x.x.255 代表广播地址,其余地址可分配给主机。例如,如果网络地址是 192.168.1.0,那么这个网络的主机地址可以是 192.168.1.1192.168.1.254

  • Genmask 是 0.0.0.0:这通常是一个默认路由,表示任何网络或主机地址都匹配这条路由。通常默认路由的目的地址也是 0.0.0.0,意味着当没有任何其他路由匹配目标IP时,就使用这条默认路由。

  • 子网掩码,比如/24,它是子网掩码的一种表示方式,也被称为CIDR(无类别域间路由)标记。/24意味着前24位(也就是前三个字节)用于网络地址,最后的8位(最后一个字节)则用于主机地址。因此,一个/24网络可以容纳256个地址,其中包括网络地址和广播地址,实际可用的主机地址为254个。

  • "Bogon" 是一个网络术语,通常用来描述非法或者未分配的 IP 地址。在 Internet 世界中,有一部分 IP 地址因为特殊的原因被保留,不应该出现在公开的 Internet 路由表中,这些地址被称为 "bogon IP"。

    当在路由表中看到 gateway 是 "bogon",这可能意味着这个路由条目的下一跳(gateway)是一个无法在公网中正常路由的 IP 地址。这种情况可能会出现在以下几种场景:

    1. 这是一个私有网络的环境,比如企业内部网络或者你自己的家庭网络。在这种环境下,你可能会使用到一些在公网中是无效的 IP 地址,比如 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16 等地址段。

    2. 网络配置出现了错误,比如误将一个无效的 IP 地址设置成了 gateway。

    如果你不希望看到 "bogon",那么你可能需要检查一下你的网络配置,确保你的路由表中所有的 gateway 都是有效的 IP 地址。

    • veth10@if10这样的输出表示这是一个veth设备,它的名字是veth10,@if10表示它与另一端的设备(即它的对端设备,pair)相连,那一端的内部接口编号是10。

    • default via 172.16.193.2 dev ens33 proto static metric 100 proto static表示这个路由条目是静态配置的。换句话说,这条路由并不是通过动态路由协议(如OSPF,RIP,BGP等)学习得到的,而是人工配置的。一般来说,这些路由在系统启动时就由网络配置脚本配置好,或者由网络管理员手动配置。proto字段表示路由条目的来源协议。ip route show命令可能显示的proto字段的值包括但不限于:

      • boot:路由在引导期间设置。

      • static:路由是静态配置的。

      • dhcp:路由是通过DHCP协议动态获取的。

      • ra:路由是通过IPv6的路由通告(Route Advertisement)消息动态获取的

为了检查两个设备间的连通性,你需要查看路由表中是否存在一条能够到达目标设备的路由项。这条路由项应当通过正确的网络接口,并指向正确的网关(如果需要)。此外,需要注意路由项的标志是否正确,特别是 U 标志,表示路由是否可用。

相关文章:

route命令 路由表 Linux Centos

route route命令在Linux中被用于显示和操纵IP路由表。然而,现在大部分Linux发行版都推荐使用ip route命令代替route,因为ip route提供更多的功能和更灵活的控制。 以下是route命令的基本用法: 查看路由表: route -n 这个命令显示当前机器的路…...

CMMI评审

CMMI评审 对于刚入行的朋友来说,可能对CMMI比较陌生。但对于工作多年的朋友来说,有可能都会接触过CMMI。那CMMI到底是什么? CMMI的全称为Capability Maturity Model Integration,即能力成熟度模型集成。对于软件行业,一般是指软件能力成熟度模型集成,是由美国国防部与卡内…...

深入了解 PostgreSQL 扩展插件

深入了解 PostgreSQL 扩展插件 在 PostgreSQL 数据库中,扩展插件是极具价值的工具,它们为我们提供了丰富多样的功能增强。本篇博客将深入介绍几个常用的 PostgreSQL 扩展插件,包括 pg_stat_statements、uuid、postgis 以及 postgis_raster。…...

记一次kernel patch(附开源贡献相关)

文章目录 开源操作系统流程手记smatch能发现的典型问题常见的修复方案附:偶然发现,unlikely函数搞开源贡献的一些捷径 开源操作系统 看了zhihu上的一些科普,明白二次开发是常见现象,套壳、抄袭、自研都不是很科学的说法。中外大厂…...

Pytorch Tutorial【Chapter 1. Basic operation of tensor】

Pytorch Tutorial 文章目录 Pytorch TutorialChapter 1. Basic operation of tensorReference Chapter 1. Basic operation of tensor 本节介绍有关张量Tensor的基本操作 Tensor相当于numpy中的ndarrays 创建空Tensor和全零Tensor,torch.zeros(d0,d1)类似于numpy…...

[环境配置]centos7安装vncserver

1. 首先,需要安装X Window System和GNOME桌面环境。可以通过以下命令进行安装: yum groupinstall "X Window System" yum groupinstall "GNOME Desktop" 2. 安装VNC服务器。可以通过以下命令进行安装: yum install ti…...

Excel功能总结

1)每一张表格上都打印表头 “页面布局”-->“打印标题”-->页面设置“工作表”页-->打印标题“顶端标题行” 如:固定第1~2行,设置成“$1:$2” 2)将页面内容打印在一页【缩印】 1.选好需要打印的区域,“页面布…...

用Rust实现23种设计模式之 组合模式

组合模式是一种结构型设计模式,它允许将对象组合成树状结构,并且能够以统一的方式处理单个对象和组合对象。以下是组合模式的优点和使用场景: 优点: 简化客户端代码:组合模式通过统一的方式处理单个对象和组合对象&a…...

opencv36-形态学操作-膨胀 cv2.dilate()

膨胀操作是形态学中另外一种基本的操作。膨胀操作和腐蚀操作的作用是相反的,膨胀操作能对图像的边界进行扩张。膨胀操作将与当前对象(前景)接触到的背景点合并到当前对象内,从而实现将图像的边界点向外扩张。如果图像内两个对象的…...

8266 ESP-07模块的使用 以及详细介绍

esp8266系列 陶瓷天线 版本 详细介绍说明 最近使用8266的ESP-01S做了个数据无线收发装置,发现板载天线信号太弱,装上外壳后信号更弱,因此考虑能否使用带有外接天线的模块代替ESP-01S。经过在安可信官网搜索发现,ESP07、ESP07S、ES…...

Linux之 centos、Ubuntu 安装常见程序 (-) Mysql 5.7 版本和8.0版本

CentOS 安装 MySql 注意 需要有root权限 安装5.7版本 – 由于MySql并不在CentOS的官方仓库中,所以需要通过rmp命令: 导入MySQL仓库密钥 1、配置MySQL的yum仓库 配置yum仓库 更新密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 安装…...

【IDEA+Spark Streaming 3.4.1+Dstream监控套接字流统计WordCount保存至MySQL8】

【IDEASpark Streaming 3.4.1Dstream监控套接字流统计WordCount保存至MySQL8】 把DStream写入到MySQL数据库中 Spark 3.4.1MySQL 8.0.30sbt 1.9.2 文章目录 【IDEASpark Streaming 3.4.1Dstream监控套接字流统计WordCount保存至MySQL8】前言一、背景说明二、使用步骤1.引入库2…...

Dcat Admin 入门应用指南

在现代的网络应用开发中,管理后台是不可或缺的一部分。它为开发者提供了一个方便管理和监控应用数据的界面。而 Dcat Admin 是一个强大的管理后台框架,它基于 Laravel 框架开发,提供了丰富的功能和灵活的扩展性。本文将带您深入了解 Dcat Adm…...

计算机视觉:替换万物Inpaint Anything

目录 1 Inpaint Anything介绍 1.1 为什么我们需要Inpaint Anything 1.2 Inpaint Anything工作原理 1.3 Inpaint Anything的功能是什么 1.4 Segment Anything模型(SAM) 1.5 Inpaint Anything 1.5.1 移除任何物体 1.5.2 填充任意内容 1.5.3 替换任…...

AWS——01篇(AWS入门 以及 AWS之EC2实例及简单实用)

AWS——01篇(AWS入门 以及 AWS之EC2实例及简单实用) 1. 前言2. 创建AWS账户3. EC23.1 启动 EC2 新实例3.1.1 入口3.1.2 设置名称 选择服务3.1.3 创建密钥对3.1.4 网络设置——安全组3.1.4.1 初始设置3.1.4.2 添加安全组规则(开放新端口&…...

Clickhouse 优势与部署

一、clickhouse简介 1.1clickhouse介绍 ClickHouse的背后研发团队是俄罗斯的Yandex公司,2011年在纳斯达克上市,它的核心产品是搜索引擎。我们知道,做搜索引擎的公司营收非常依赖流量和在线广告,所以做搜索引擎的公司一般会并行推…...

全球数据泄露事件增加近三倍

网络安全公司 Surfshark 的最新研究显示,2023 年第二季度共有 1.108 亿个账户遭到泄露,其中美国排名第一,几乎占 4 月至 6 月所有泄露事件的一半。 俄罗斯排名第二,西班牙排名第三,其次是法国和土耳其。 与 2023 年…...

【雕爷学编程】 MicroPython动手做(38)——控制触摸屏2

MixPY——让爱(AI)触手可及 MixPY布局 主控芯片:K210(64位双核带硬件FPU和卷积加速器的 RISC-V CPU) 显示屏:LCD_2.8寸 320*240分辨率,支持电阻触摸 摄像头:OV2640,200W像素 扬声器&#…...

钉钉微应用

钉钉微应用 在做钉钉微应用开发的时候,遇到了一些相关性的问题,特此记录下,有遇到其他问题的,欢迎一起讨论 调试工具 当我们基于钉钉开发微应用时,难免会遇到调用钉钉api后的调试,这个时候可以安装eruda…...

【 SpringSecurity】第三方认证方法级别安全

文章目录 SpringSecurity 第三方认证实现方法级别的安全 SpringSecurity 第三方认证 在登录网页时,时常有用其他账号登录的方式,它们能够让用户避免在Web站点特定的登录页上自己输入凭证信息。这样的Web站点提供了一种通过其他网站(如Facebo…...

XML Group端口详解

在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

Cursor实现用excel数据填充word模版的方法

cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 ​ 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

golang循环变量捕获问题​​

在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下: 问题背景 看这个代码片段: fo…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

如何应对敏捷转型中的团队阻力

应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中&#xff0c;明确沟通敏捷转型目的尤为关键&#xff0c;团队成员只有清晰理解转型背后的原因和利益&#xff0c;才能降低对变化的…...