route 命令详解

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

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)

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖 • 1 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 141 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 708 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 82 关注
  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    69 引用 • 190 回帖 • 483 关注
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖
  • 微软

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

    8 引用 • 44 回帖
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖 • 1 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    171 引用 • 813 回帖
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    379 引用 • 1221 回帖 • 590 关注
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖 • 2 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    87 引用 • 1206 回帖 • 449 关注
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    140 引用 • 441 回帖
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    22 引用 • 22 回帖 • 1 关注
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    942 引用 • 1458 回帖 • 118 关注
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 44 关注
  • RESTful

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

    30 引用 • 114 回帖
  • TextBundle

    TextBundle 文件格式旨在应用程序之间交换 Markdown 或 Fountain 之类的纯文本文件时,提供更无缝的用户体验。

    1 引用 • 2 回帖 • 45 关注
  • gRpc
    10 引用 • 8 回帖 • 54 关注
  • 国际化

    i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。

    7 引用 • 26 回帖
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    86 引用 • 896 回帖
  • 百度

    百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。

    63 引用 • 785 回帖 • 248 关注
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖
  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    34 引用 • 37 回帖 • 506 关注
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 611 关注
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    76 引用 • 37 回帖