Linux route 命令

route 命令用于显示和管理 Linux 系统的 IP 路由表。IP 路由表是指向目标网络和主机的数据包应该发送到哪个接口的指示。通过理解和正确使用 route 命令,可以管理 Linux 系统的网络路由,确保数据包能够正确传输到目标网络和主机。

1、命令简介

rmdir:显示/操作IP路由表.

2、命令语法

route [-CFvnee]

3、命令描述

route操作内核的IP路由表。它的主要用途是在使用ifconfig(8)程序配置后,通过接口建立到特定主机或网络的静态路由。

当使用添加或删除选项时,route会修改路由表。如果没有这些选项,route将显示路由表的当前内容。

4、命令选项

选项

描述

-A family

使用指定的地址族

(例如 inet;使用

route --help 查看完整列表)。

-F

操作内核的 FIB

(转发信息库)路由表。

这是默认设置。

-C

操作内核的路由缓存。

-v

选择详细操作。

-n

显示数字地址,

而不是尝试确定符号主机名。

如正在尝试确定为什么

到名称服务器的路由消失了,

这将非常有用。

-e

使用 netstat(8) 格式显示路由表。

使用 -ee 将生成包含路由表

所有参数的非常长的行。

del

删除一条路由。

add

添加一条新路由。

target

目标网络或主机。

可以提供点分十进制格式的 IP 地址

或主机/网络名。

-net

目标是一个网络。

-host

目标是一个主机。

netmask NM

添加网络路由时使用的网络掩码。

gw GW

通过网关路由数据包。

注意:必须首先能到达指定的网关。

这通常意味着你必须

预先设置一个到网关的静态路由。

如果你指定你的本地接口之一的地址,

它将被用来决定数据包应该路由到哪个接口。

这是一个 BSD 兼容性解决方案。

metric M

将路由表中的度量值字段

设置为 M(由路由守护进程使用)。

mss M

将通过此路由的连接的 TCP

最大段大小(MSS)设置为 M 字节。

默认值是设备的 MTU 减去头部,

或者当路径 MTU 发现时的更低 MTU。

此设置可用于在路径 MTU 发现不起作用时

(通常是由于错误配置的防火墙阻止 ICMP 碎片化所需)

强制对端使用较小的 TCP 数据包。

window W

将通过此路由的连接的 TCP 窗口大小

设置为 W 字节。这通常仅在 AX.25 网络

和无法处理背靠背帧的驱动程序中使用。

irtt I

将通过此路由的 TCP

连接的初始往返时间(irtt)设置为 I 毫秒(1-12000)。

这通常仅在 AX.25 网络中使用。

如果省略,

则使用 RFC 1122 默认值 300ms。

reject

安装一个阻止路由,

这将强制路由查找失败。

例如,这用于在使用默认路由之前屏蔽网络。

这不是用于防火墙的。

mod, dyn, reinstate

安装一个动态或修改的路由。

这些标志用于诊断目的,

通常仅由路由守护进程设置。

dev If

强制将路由与指定的设备关联,

否则内核将尝试自行确定设备

(通过检查已存在的路由和设备规范,

以及添加路由的位置)。

在大多数正常网络中,

不需要这样做。如果

dev If 是命令行上的最后一个选项,

则可以省略 dev 这个词,

因为这是默认设置。

否则,路由修饰符的顺序

metric - netmask - gw - dev)并不重要。

5、使用示例

1)显示路由表

使用 -n 选项以数字形式显示 IP 地址和端口号,而不使用主机名。

route -n

2) 添加网络路由

添加一个网络路由到 192.168.1.0/24,通过网关 192.168.0.1

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1

3)删除网络路由

删除到 192.168.1.0/24 的网络路由。

route del -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1

4)添加主机路由

添加一个到主机 192.168.1.100 的路由,通过网关 192.168.0.1

route add -host 192.168.1.100 gw 192.168.0.1

5)设置度量值

添加一个到网络 10.0.0.0/8 的路由,通过网关 10.0.0.1,并设置度量值为10

route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.0.0.1 metric 10

6)使用指定设备

添加一个到网络 172.16.0.0/16 的路由,通过设备 eth0

route add -net 172.16.0.0 netmask 255.255.0.0 dev eth0

7)使用 -p 选项递归删除路由

递归删除一个父目录及其子目录。

route del -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1
route del -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1

8)添加拒绝路由

添加一个拒绝路由,用于屏蔽网络 192.168.2.0/24

route add -net 192.168.2.0 netmask 255.255.255.0 reject

9)显示详细信息

使用 -v 选项显示详细信息。

route -v

10) 操作内核路由缓存

使用 -C 选项操作内核的路由缓存。

route -C

推荐阅读
cjavapy编程之路首页