Files
baim0-learn/network/03 linux route详解.md
T

1.8 KiB

route 命令是 Linux 和类 Unix 系统中用于显示和操作路由表的一个命令行工具。路由表通常由 net.ipv4.ip_forward 内核参数控制,该参数决定了是否允许内核转发 IP 数据包。

使用方法

在终端中运行以下命令查看路由信息:

bash

route -n

这个命令会显示一个表格形式的路由列表,包括以下几个关键列:

  • Destination: 目标网络的 IP 地址或者广播地址。
  • Gateway: 到达该目标网络的默认网关(即路由器的 IP 地址)。
  • Interface: 用于到达该目标网络的接口名称。
  • Uptm: 单向传输时间,单位为秒。这表示数据包从发送到接收的时间。
  • RefCnt: 路由条目的引用计数。
  • Use: 这一列可能在某些系统上不显示。
  • Metric: 度量值(默认是1)用于描述到达该网络的路径质量。

添加路由

为了向路由表中添加一个静态路由,可以使用以下格式:

bash

route add -net <network> netmask <subnet_mask> gw <gateway>

例如:

bash

route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.1.1

删除路由

要从路由表中删除一条特定的静态路由,使用以下命令:

bash

route del -net <network>

例如:

bash

route del -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.1.1

查看特定接口的路由表

你可以通过指定 dev 参数来查看特定网络接口上的路由:

bash

route -n dev <interface>

例如:

bash

route -n dev eth0

这将仅显示与 eth0 接口相关的路由信息。

总结

route 命令提供了对系统路由表的低级访问,允许你查看、添加和删除静态路由。它对于网络管理和调试非常有用。在实际操作时,请确保以适当的方式执行命令,避免意外影响到关键网络配置或安全性。