route 命令详解

本贴最后更新于 2219 天前,其中的信息可能已经时过境迁

Route

功能简述:linux 系统中的 route 命令能够用于 IP 路由表的显示和操作。它的主要作用是创建一个静态路由让指定一个主机或者一个网络通过一个网络接口,如 eth0。当使用"add"或者"del"参数时,路由表被修改,如果没有参数,则显示路由表当前的内容。在一个网络中,需要一个路由器来转发不同广播域之间的数据,或是转发 lan 和 internet 之间的数据。有时我们需要设定这个路由器作为 linux 系统的默认路由,那么就可以通过 route 命令来操作。甚至我们也可以用我们的 linux 系统来充当路由器。

要注意的是,直接在命令行下执行 route 命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local 中添加 route 命令来保证该路由设置永久有效。当然如果加上了-p 参数的话那就会永久的生效了。

命令格式:route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway][metric Metric]] [if Interface]]

命令参数:

-c 显示更多信息

-n 不解析名字

-v 显示详细的处理信息

-F 显示发送信息

-C 显示路由缓存

-f 清除所有网关入口的路由表。

-p 与 add 命令一起使用时使路由具有永久性。

add:添加一条新路由。

del:删除一条路由。

-net:目标地址是一个网络。

-host:目标地址是一个主机。

netmask:当添加一个网络路由时,需要使用网络掩码。

gw:路由数据包通过网关。注意,你指定的网关必须能够达到。

metric:设置路由跳数。

Command 指定您想运行的命令 (Add/Change/Delete/Print)。

Destination 指定该路由的网络目标。

mask Netmask 指定与网络目标相关的网络掩码(也被称作子网掩码)。

Gateway 指定网络目标定义的地址集和子网掩码可以到达的前进或下一跃点 IP 地址。

metric Metric 为路由指定一个整数成本值标(从 1 至 9999),当在路由表(与转发的数据包目标地址最匹配)的多个路由中进行选择时可以使用。

if Interface 为可以访问目标的接口指定接口索引。若要获得一个接口列表和它们相应的接口索引,使用 route print 命令的显示功能。可以使用十进制或十六进

(1)显示路由信息

[root@LiWenTong ~]# route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.40.0 * 255.255.252.0 U 0 0 0 eth0

169.254.0.0 * 255.255.0.0 U 0 0 0 eth0

default 192.168.40.1 0.0.0.0 UG 0 0 0 eth0

Flags 标志说明:

U Up 表示此路由当前为启动状态

H Host,表示此网关为一主机

G Gateway,表示此网关为一路由器

R Reinstate Route,使用动态路由重新初始化的路由

D Dynamically,此路由是动态性地写入–》什么时候才会有动态的路由信息呢?

M Modified,此路由是由路由守护程序或导向器动态修改

(2)添加一条指向某个网络的路由

[root@LiWenTong ~]# route add -net 10.0.0.0 netmask 255.255.255.0 dev eth0—》这里是指定这条路由的出口在哪里。绿色部分:为指定目标网络的参数,需要 ip 地址或地址范围、子网掩码用于确定网络范围。

[root@LiWenTong ~]# route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

10.0.0.0 * 255.255.255.0 U 0 0 0 eth0

192.168.40.0 * 255.255.252.0 U 0 0 0 eth0

169.254.0.0 * 255.255.0.0 U 0 0 0 eth0

default 192.168.40.1 0.0.0.0 UG 0 0 0 eth0

自我小结:route 添加路由都是需要指定目标网络,及路由出口这两个参数。记住加上-p 选项能永久添加。

(3)再来一条添加到某一个 ip 的路由

[root@LiWenTong ~]# route add -host 192.168.40.1dev eth0

[root@LiWenTong ~]# route ----》可以发现添加的是主机的话,默认是会帮我们添加一个全 255 的子网掩码,表示子网范围就只有一个而已,那就是这台主机啦。

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.40.1 * 255.255.255.255 UH 0 0 0 eth0

(4)屏蔽某一路由

当我们不让系统到达某个子网范围或者某个主机是就可以手动的来进行屏蔽。

[root@LiWenTong ~]# route add -net 10.10.10.128 netmask 255.255.255.128 reject—》前面部分是一样的,因为我们都是手动来添加一个路由嘛。只是在命令的最后不一样,我们指定的出口去而是 reject(拒绝),也就是拒绝出口。达到屏蔽的效果。还有看下 flags 会显示一个!

[root@LiWenTong ~]# route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.40.1 * 255.255.255.255 UH 0 0 0 eth0

10.10.10.128 - 255.255.255.128 ! 0 - 0 -

10.0.0.0 * 255.255.255.0 U 0 0 0 eth0

192.168.40.0 * 255.255.252.0 U 0 0 0 eth0

169.254.0.0 * 255.255.0.0 U 0 0 0 eth0

default 192.168.40.1 0.0.0.0 UG 0 0 0 eth0

(5)删除路由

[root@LiWenTong ~]# route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.40.1 * 255.255.255.255UH 0 0 0 eth0

10.10.10.128 - 255.255.255.128 ! 0 - 0 -

10.0.0.0 * 255.255.255.0 U 0 0 0 eth0

192.168.40.0 * 255.255.252.0 U 0 0 0 eth0

169.254.0.0 * 255.255.0.0 U 0 0 0 eth0

default 192.168.40.1 0.0.0.0 UG 0 0 0 eth0

[root@LiWenTong ~]# route del -net 10.10.10.128netmask 255.255.255.128 reject

[root@LiWenTong ~]# route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.40.1 * 255.255.255.255UH 0 0 0 eth0

10.0.0.0 * 255.255.255.0 U 0 0 0 eth0

192.168.40.0 * 255.255.252.0 U 0 0 0 eth0

169.254.0.0 * 255.255.0.0 U 0 0 0 eth0

default 192.168.40.1 0.0.0.0 UG 0 0 0 eth0

说明:看到没有,路由已经被我删除掉了,哈哈哈哈。删除路由时,最好是看着路由表上的照样打进去,这样比较不会删错的。

(6)添加删除默认网关

[root@LiWenTong ~]# route add default gw 192.168.40.2

[root@LiWenTong ~]# route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.40.1 * 255.255.255.255UH 0 0 0 eth0

10.0.0.0 * 255.255.255.0 U 0 0 0 eth0

192.168.40.0 * 255.255.252.0 U 0 0 0 eth0

169.254.0.0 * 255.255.0.0 U 0 0 0 eth0

default 192.168.40.2 0.0.0.0 UG 0 0 0 eth0

default 192.168.40.1 0.0.0.0 UG 0 0 0 eth0

--》可以看到此处有两个默认网关,那到底路由会走哪个呢?

[root@LiWenTong ~]# route del default gw192.168.40.2--- 》在这里我们还是先删除掉吧。

[root@LiWenTong ~]# route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.40.1 * 255.255.255.255UH 0 0 0 eth0

10.0.0.0 * 255.255.255.0 U 0 0 0 eth0

192.168.40.0 * 255.255.252.0 U 0 0 0 eth0

169.254.0.0 * 255.255.0.0 U 0 0 0 eth0

default 192.168.40.1 0.0.0.0 UG 0 0 0 eth0

---------------------------后续自我小结-------------------------

很好,这个 route 命令好像跟 windows 的 route 命令差不多。主要就是查看 route 表,添加一条路由啦。添加默认路由啦,删除路由啦。这边还多了个屏蔽路由 reject。

route add -net 192.168.40.0 netmask 255.255.255.0 dev eth0:1

route add -host 192.168.40.111 dev eth0 reject

route del -net 192.168.40.0 netmask 255.255.255.0 dev eth0:1

route add default gw 192.169.1.1

后续我还会在网络查看是否别人有一些其他比较常用的环境。大家有知道也帮我留下哦!

来自 [http://www.centoscn.com/CentOS/help/2014/0113/2351.html](http://www.centoscn.com/CentOS/help/2014/0113/2351.html)

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    62 引用 • 289 回帖
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 663 关注
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 48 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    209 引用 • 2031 回帖
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 6 关注
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 466 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    325 引用 • 1395 回帖
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖 • 1 关注
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 624 关注
  • GraphQL

    GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。

    4 引用 • 3 回帖 • 18 关注
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    21 引用 • 245 回帖 • 247 关注
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    86 引用 • 122 回帖 • 627 关注
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    165 引用 • 594 回帖
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    45 引用 • 25 回帖 • 1 关注
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 666 关注
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    35 引用 • 35 回帖 • 5 关注
  • 反馈

    Communication channel for makers and users.

    123 引用 • 910 回帖 • 227 关注
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    334 引用 • 323 回帖 • 1 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 376 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    285 引用 • 728 回帖
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    34 引用 • 467 回帖 • 725 关注
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 662 关注
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 375 关注
  • Webswing

    Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用

    1 引用 • 15 回帖 • 624 关注