Linux 路由表之route 命令详解

Linux 路由表之route 命令详解参考资料 Linux 内核的路由表通过 route 命令查看 Linux 内核的路由表 root VM 139 74 centos routeKernelI 0 0 0UG000

参考资料

Linux 内核的路由表

通过 route 命令查看 Linux 内核的路由表:

[root@VM_139_74_centos ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default gateway 0.0.0.0 UG 0 0 0 eth0 10.0.0.10 10.139.128.1 255.255.255.255 UGH 0 0 0 eth0 10.139.128.0 0.0.0.0 255.255.224.0 U 0 0 0 eth0 link-local 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0 172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-0ab63c 172.19.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-bccbfb788da0 172.20.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-7485db25f958 [root@VM_139_74_centos ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.139.128.1 0.0.0.0 UG 0 0 0 eth0 10.0.0.10 10.139.128.1 255.255.255.255 UGH 0 0 0 eth0 10.139.128.0 0.0.0.0 255.255.224.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0 172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-0ab63c 172.19.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-bccbfb788da0 172.20.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-7485db25f958 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

各列字段说明:

含义
Destination 目标网络或目标主机。Destination 为 default(0.0.0.0)时,表示这个是默认网关,所有数据都发到这个网关(这里是 10.139.128.1
Gateway 网关地址,0.0.0.0 表示当前记录对应的 Destination 跟本机在同一个网段,通信时不需要经过网关
Genmask Destination 字段的网络掩码,Destination 是主机时需要设置为 255.255.255.255,是默认路由时会设置为 0.0.0.0
Flags 标记,含义参考表格后面的解释
Metric 路由距离,到达指定网络所需的中转数,是大型局域网和广域网设置所必需的 (不在Linux内核中使用。)
Ref 路由项引用次数 (不在Linux内核中使用。)
Use 此路由项被路由软件查找的次数
Iface 网卡名字,例如 eth0

Flags 含义:

  • U 路由是活动的
  • H 目标是个主机
  • G 需要经过网关
  • R 恢复动态路由产生的表项
  • D 由路由的后台程序动态地安装
  • M 由路由的后台程序修改
  • ! 拒绝路由

Linux 内核的路由种类

主机路由

路由表中指向单个 IP 地址或主机名的路由记录,其 Flags 字段为 H。下面示例中,对于 10.0.0.10 这个主机,通过网关 10.139.128.1 网关路由:

[root@VM_139_74_centos ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.10 10.139.128.1 255.255.255.255 UGH 0 0 0 eth0 ... 
 
  • 1
  • 2
  • 3
  • 4
  • 5

网络路由

主机可以到达的网络。下面示例中,对于 10.0.0.0/24 这个网络,通过网关 10.139.128.1 网关路由:

[root@VM_139_74_centos ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.0 10.139.128.1 255.255.255.0 UG 0 0 0 eth0 
 
  • 1
  • 2
  • 3
  • 4

默认路由

当目标主机的 IP 地址或网络不在路由表中时,数据包就被发送到默认路由(默认网关)上。默认路由的 Destination 是 default 或 0.0.0.0

[root@VM_139_74_centos ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default gateway 0.0.0.0 UG 0 0 0 eth0 
 
  • 1
  • 2
  • 3
  • 4

route 命令

route 命令可以显示或设置 Linux 内核中的路由表,主要是静态路由。

对于局域网中的 Linux 主机,要想访问 Internet,需要将局域网的网关 IP 地址设置为这个主机的默认路由。在命令行中通过 route 命令添加的路由在网卡重启或机器重启后失效。可以在 /etc/rc.local 中添加 route 命令来保证路由设置永久有效。

选项:

  • -A:设置地址类型
  • -C:打印 Linux 内核的路由缓存
  • -v:显示详细信息
  • -n:不执行 DNS 反向查找,直接显示数字形式的 IP 地址
  • -e:netstat 格式显示路由表
  • -net:到一个网络的路由表
  • -host:到一个主机的路由表

参数:

  • add:增加路由记录
  • del:删除路由记录
  • target:目的网络或目的主机
  • gw:设置默认网关
  • mss:设置TCP的最大区块长度(MSS),单位MB
  • window:指定通过路由表的TCP连接的TCP窗口大小
  • dev:路由记录所表示的网络接口

添加路由 add

可以添加一条可用路由,或添加一条要屏蔽的路由。

添加路由

添加主机路由

添加主机路由时,需要指定网络 ID 和主机 ID,此时需要设置 netmask 255.255.255.255

[root@VM_139_74_centos ~]# route add -net 10.0.0.10 netmask 255.255.255.255 gw 10.139.128.1 dev eth0 [root@VM_139_74_centos ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.10 10.139.128.1 255.255.255.255 UGH 0 0 0 eth0 ... 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
添加网络路由

添加网络路由时,只需指定网络 ID,通过 netmask 设置掩码长度:

[root@VM_139_74_centos ~]# route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.139.128.1 dev eth0 [root@VM_139_74_centos ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.0 10.139.128.1 255.255.255.0 UG 0 0 0 eth0 ... 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
添加添加同一个局域网的主机

不指定 gw 选项时,添加的路由记录不使用网关:

[root@VM_139_74_centos ~]# route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 [root@VM_139_74_centos ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 224.0.0.0 0.0.0.0 240.0.0.0 U 0 0 0 eth0 ... 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

屏蔽路由

[root@VM_139_74_centos ~]# route add -net 224.0.0.0 netmask 240.0.0.0 reject [root@VM_139_74_centos ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 224.0.0.0 - 240.0.0.0 ! 0 - 0 - ... 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

删除路由记录

跟添加路由类似,可以删除一条可用路由,或删除一条屏蔽的路由。

删除可用路由

route del -net 224.0.0.0 netmask 240.0.0.0 
 
  • 1

删除屏蔽的路由

route del -net 224.0.0.0 netmask 240.0.0.0 reject 
 
  • 1

删除和添加设置默认网关

添加或删除默认网关时,Linux 会自动检查网关的可用性:

[root@VM_139_74_centos ~]# route add default gw 192.168.1.1 SIOCADDRT: Network is unreachable [root@VM_139_74_centos ~]# route del default gw 192.168.1.1 SIOCDELRT: No such process 
 
  • 1
  • 2
  • 3
  • 4
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223227.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午2:34
下一篇 2026年3月17日 下午2:34


相关推荐

  • 3389之永不查杀的后门shift后门代码「建议收藏」

    3389之永不查杀的后门shift后门代码「建议收藏」永不查杀的3389后门其原理就是利用shift后门,连敲5次shift键既可以直接进入服务器。前些天在群里有个小伙伴问了一句谁知道shift后门的代码,当时我给了他一个链接,我总是觉得这个百度下就能找到吧,我查了一下,发现什么都有,有的不全有的要么复杂,我也搞不懂一个代码还不能认真的给我们吗?非要让大家赏你几根辣条!好了废话不多说,将下面的代码通过服务器上的DOS命令下执行即可,觉

    2026年1月15日
    3
  • datagrip2021激活码【2021.7最新】

    (datagrip2021激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月22日
    41
  • mac版navicat激活码【2021最新】

    (mac版navicat激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月27日
    254
  • 对象转JSON首字母大写[通俗易懂]

    对象转JSON首字母大写[通俗易懂]最近在做一个第三方接口,接口给的数据类型如下请求报文如下{“A0144″:”12141256″,”AB6AM”:”中国银行支行”,”STATUS”:1}一般按照对象转JSON会使首字母小写,与接口文档不相符,因此需要转为大写,在字段名称前加@JSONField(name=””)注释即可如下:packagecn.com.cis.acic.util.personHr.vo.request;importcom.alibaba.fastjson.annotation.JS…

    2025年12月10日
    7
  • c花体复制_花式字体大全可复制 花式字体转换器「建议收藏」

    c花体复制_花式字体大全可复制 花式字体转换器「建议收藏」求可复制花体字?1、windows系统的字体文件都放在这个文件夹下:C:\WINDOWS\Fonts,首先打开此文件夹。2、虽然在此文件夹下右键单击字体文件的菜单中无复制粘贴功能,但是却能使用“复制”快捷键,导出字体文件的方法也就是选中所要导出的字体文件,“Ctrl”“C”(复制快捷键),然后再粘贴到目标文件夹就好了。有好心人发一下英文字母h的花式字体吗,谢谢了,要可以复制的,小写的?这与字体有…

    2022年4月29日
    1.2K
  • java applet编程_JavaApplet编程技巧

    java applet编程_JavaApplet编程技巧JavaApplet编程技巧陈冲——————————————————————————–1.JavaApplet概述JavaApplet程序分为两类:Java小程序(Applet)和Java应用程序(Application),这两类程序…

    2022年7月8日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号