Linux 命令 - route: 显示或操作路由表

时间:2022-03-28 02:17:26

route 命令查看路由表或者手动地添加、删除和修改路由表中的条目。

命令格式

route [-CFvnNee] [-A family]

route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If]

route [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]

route [-V] [--version] [-h] [--help]

命令参数

-A family
  使用指定的地址族,如 inet。

-F
  操作内核的 FIB(Forwarding Information Base) 路由表,这是默认的选项。

-C
  操作内核的路由缓存。

-v
  显示更为详细的操作信息

-n
  显示信息时以数字形式的地址替代主机名称。

-e
  使用 netstat(8) 格式显示路由表信息。-ee 选项会显示路由表所有的参数信息。

del
  删除一个路由条目

add
  新增一个路由条目

target
  指定目标网络或主机。可以使用十进制的 IP 地址或主机/网络名称。

-net
  路由目标是一个网络

-host
  路由目标是一个主机

netmask NM
  当新增一个网络路由条目时,需要指定网络掩码。

gw GW
  为发往目标网络/主机的任何分组指定网关。注意:指定的网关首先必须是可达的。也就是说必须为该网关预先指定一条静态路由。如果你为本地接口之一指定这个网关地址的话,那么此网关地址将用于决定此接口上的分组将如何进行路由。这是 BSD 风格所兼容的。

metric M
  将路由表中 Metric 字段值设置为 M。

mss M
  将路由的 MTU (Maximum Transmission Unit) 设置为 M 字节。

window W
  将基于此路由之上的连接的 TCP 窗口长度设置为 W 字节。

irtt I
  将基于此路由之上的 TCP 连接的初始往返时间设置为 I 毫秒(1-12000)。

mod, dyn, reinstate
  安装一条动态或更改过的路由条目。这些标记通常只由路由守护进程来设置,用于诊断目的。

dev If
  强制使路由与指定的设备关联,否则内核会试图检测相应的设备。

实例

a) 显示路由表信息

[huey@huey-K42JE ~]$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.6.0.0 * 255.255.255.0 U 0 0 0 eth1
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
default 10.6.0.2 0.0.0.0 UG 0 0 0 eth1

b) 新增一个路由条目

route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0

c) 删除一个路由条目

route del 192.56.76.0

路由表字段信息含义

路由表的字段含义如下表所示:

 字段 描述 
 Destination   目标网络或目标主机。
 Gateway  网关地址,如果没有就显示 *。
 Genmask  目标地址的掩码。'255.255.255.255' 是用于目标为主机的,'0.0.0.0' 是用于默认路由的。
 Flags  标识。
 Metric  距离目标的跳数。
 Ref  路由条目引用数(Linux 内核中不会使用)。
 Use  路由条目被查找的次数。
 Iface  网络接口名。
 MSS  基于此路由之上的 TCP 连接的默认的最大报文长度。
 Window  基于此路由之上的 TCP 连接的默认的窗口大小。
 irtt  基于此路由之上的 TCP 连接的初始往返时间。

其中,Flag 的取值含义如下表所示:

Flag Description
U  route is up
H  target is a host
G  use gateway
R  reinstate route for dynamic routing
D  dynamically installed by daemon or redirect 
M  modified from routing daemon or redirect
A  installed by addrconf
C  cache entry
!  reject route