一、简介

Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table)。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为Linux机器的默认路由。要注意的是,直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。

二、路由知识

1)静态路由

静态路由是手动设置的路由。
如ip route 192.168.1.1 255.255.255.255 192.168.1.254,这条静态路由的含义是把目的地为192.168.1.1的IP的数据全部转发至192.168.1.254

2)默认路由

默认路由是其他路由规则都没有匹配到时,才会选择使用的路由。
如:ip route 0.0.0.0 0.0.0.0 192.168.1.1,这条默认路由的含义是如果其他路由规则不匹配,就把数据转发至192.168.1.1

3)静态默认路由

一般的默认路由都是静态的。

4)动态默认路由

这个和静态的默认路由又有什么区别呢?比如有一个星形拓扑,R1为核心路由器,而剩下的R2,R3为分支,想要让R1告诉分支路由器,当找不到路径到达一个远程网络时候,全部通过核心路由器来转发数据到远程网络。但是当有新的路由器加入到这个网络拓扑的时候,这个路由器也能通过核心路由器发现核心路由器上的默认路由,这时候的默认路由则是动态的(例如:只要是能够动态得到核心路由器的网络的所有的路由器都能有这么一条默认路由,如EIGRP 用D*来表示)

三、实例

1)查看当前路由

route –n

2)添加/屏蔽/删除一条路由

route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
route add -net 224.0.0.0 netmask 240.0.0.0 reject
route del -net 224.0.0.0 netmask 240.0.0.0

3) 添加/删除设置默认网关

route add default gw 192.168.0.1
route del default gw 192.168.0.1

四、输出详解

route命令输出的路由表字段含义如下:Destination 目标The destination network or destination host. 目标网络或目标主机。Gateway 网关The gateway address or '*' if none set. 网关地址,如果没有就显示星号。Genmask 网络掩码The  netmask  for  the  destination net; '255.255.255.255' for ahost destination and '0.0.0.0' for the default route.Flags:总共有多个旗标,代表的意义如下:                        o U (route is up):该路由是启动的;                       o H (target is a host):目标是一部主机 (IP) 而非网域;                       o G (use gateway):需要透过外部的主机 (gateway) 来转递封包;                       o R (reinstate route for dynamic routing):使用动态路由时,恢复路由资讯的旗标;                       o D (dynamically installed by daemon or redirect):已经由服务或转 port 功能设定为动态路由                       o M (modified from routing daemon or redirect):路由已经被修改了;                       o !  (reject route):这个路由将不会被接受(用来抵挡不安全的网域!)o A (installed by addrconf)o C (cache entry)Metric 距离、跳数。暂无用。The 'distance' to the target (usually counted in  hops).  It  isnot  used  by  recent kernels, but may be needed by routing dae-mons.Ref   不用管,恒为0。Number of references to this route. (Not used in the Linux  ker-nel.)Use    该路由被使用的次数,可以粗略估计通向指定网络地址的网络流量。Count  of lookups for the route.  Depending on the use of -F and-C this will be either route cache misses (-F) or hits (-C).Iface 接口,即eth0,eth0等网络接口名Interface to which packets for this route will be sent.

五、常见错误

1)route: netmask doesn't match route address

linux-rd4x:/ # route add -net 8.8.8.8 netmask 255.255.255.0 dev eth0
route: netmask doesn't match route address

提示:

随意添加一条路由信息时,报错,经过尝试,Destination IP必须和掩码相对应,
即IP:8.8.8.8 & 255.255.255.0(逻辑与操作) 才是真正的DestinationIP,否则会报错。

2)SIOCADDRT: 没有那个进程(No Such Process)

route add -net 192.168.1.0 netmask 255.255.255.0
SIOCADDRT: 没有那个设备

提示:

在添加一个新的网段时,它的出口地址应该是当前ip routing table表中的当前有的地址,否则会出现这个错误:SIOCADDRT: 没有那个进程。

参考:http://www.cnblogs.com/peida/archive/2013/03/05/2943698.html

转载于:https://www.cnblogs.com/274914765qq/p/5246863.html

Linux route相关推荐

  1. linux route命令的使用详解(转)

    route命令用于显示和操作IP路由表.要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现.在Linux系统中,设置路由通常是 为了解决以下问题:该Linu ...

  2. linux route命令的使用详解

    route命令用于显示和操作IP路由表.要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现.在Linux系统中,设置路由通常是 为了解决以下问题:该Linu ...

  3. LINUX ROUTE命令详解-2

    linux route命令详解 相关链接:https://blog.51cto.com/laodou/2066476 转自:https://www.cnblogs.com/lpfuture/p/585 ...

  4. linux 下 route命令,linux route命令详细说明和使用

     linux下的route命令,虽然在嵌入式开发中很少用到,但当涉及到简单静态路由开发时,还是有用的.此外,在配置linux网络时也有可能用到.本文旨在了解linux route命令及其使用. 作用 ...

  5. Linux route命令详解和使用示例(查看和操作IP路由表)

    Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table).要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或 ...

  6. linux route 路由表操作命令

    目录 1.命令格式 2.命令功能 3.命令参数 4.使用实例 5.route add default dev eth0和route add default gw * dev eth0的区别 Linux ...

  7. linux route命令详解

    考试题一:linux下如何添加路由(百度面试题) 以上是原题,老男孩老师翻译成如下3道题. a.如何用命令行方式给linux机器添加一个默认网关,假设网关地址为10.0.0.254? b. 192.1 ...

  8. 【Linux】一步一步学Linux——route命令(169)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 route命令用来显示并设置linux内核中的网络路由表, ...

  9. linux route 刷新_linux基础命令介绍十五:推陈出新

    本文介绍ip.ss.journalctl和firewall-cmd,它们旨在代替linux中原有的一些命令或服务. 1.ip ip [OPTIONS] OBJECT COMMAND ip是iprout ...

最新文章

  1. 剑指offer:链表中环的入口结点
  2. visual c++ 6.0原版_C/C++编程笔记:C语言函数指针的理解与使用,就是这么简单明了!...
  3. SRP:The Single-Responsibility Principle
  4. ffmpeg编译gb28181_国标GB28181协议视频推流平台EasyGBD在Linux下编译报“UINT64_C在此作用领域中尚未声明”错误...
  5. tcga癌症亚型获取_亚型多态性应用于元组的危险
  6. 服务器怎么控制忽略样式_使用JavaScript来编写你的CSS样式代码——JSS
  7. mysql error log清理_手动删除mysql日志/var/log/mysql/error.log导致的mysql无法启动
  8. Git科普文,Git基本原理各种骚操作
  9. git-分支管理-增加删除切换合并操作
  10. python定位文件位置_在Python中定位文件位置
  11. 捕获事件要比冒泡事件先触发
  12. python 防破解_Python 程序员如何防止数据被修改?
  13. 心电图前波过多_如何读懂心电图危急值?
  14. 计算机硬件相关专业学校,计算机硬件相关专业有哪些
  15. 第四章 需求分析,用例分析法
  16. matlab局部放大找交点,11.matlab找两条离散曲线的交点
  17. MySQL运行内存设置
  18. 0基础学编程难吗?多久能学会?转行IT常见的4个问题
  19. LitePal 数据库基本操作
  20. ATH9K Driver Learning Part II: Important Transmission Functions

热门文章

  1. 用Java或Jsp向数据库存取二进制图片
  2. YunOS 对比 Android 两者究竟有何区别
  3. 关于selinux排错
  4. 《深入浅出设计模式-中文版》读书笔记-工厂模式(五)
  5. [导入]用Ext做的登陆窗口的例子
  6. 菜鸟玩基金(四)——注意事项
  7. mfc 资源视图无法打开RC2104
  8. 面向 Photoshop 的英特尔® Texture Works 插件
  9. mysql 表查询注意
  10. CodeForces - 981G Magic multisets