linux route命令详解

linux route命令详解

route 命令是 Linux 系统中的一个网络配置工具,用于显示和修改 IP 路由表。尽管现代 Linux 发行版中,ip route 命令已经逐渐取代了 route 命令,但 route 命令仍然在一些系统上可用。以下是 route 命令的详细解释和使用方法。

基本语法

route [选项] [目标地址] [网关地址] [接口]

常用选项

  • -n:以数字形式显示地址和端口号,避免 DNS 解析。
  • -e:显示更详细的信息,包括网络接口、网关等。
  • -v:显示详细操作过程。
  • -A:指定要操作的路由表,如 inet(IPv4)或 inet6(IPv6)。
  • add:添加一条路由规则。
  • del:删除一条路由规则。
  • net:目标是一个网络。
  • host:目标是一个主机。
  • default:默认路由。

显示路由表

要查看当前系统的路由表,可以使用以下命令:

route -n

输出示例:

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
  • Destination:目标网络或主机。
  • Gateway:下一跳网关。
  • Genmask:网络掩码。
  • Flags:路由标志,例如 U 表示路由是“up”状态,G 表示使用网关。
  • Metric:路由的度量值,用于决定多条路由中的优先级。
  • Ref:路由被引用的次数。
  • Use:路由被使用的次数。
  • Iface:出口网络接口。

添加路由

要添加一条静态路由,例如将目标网络 10.0.0.0/8 的数据包通过网关 192.168.1.1 发送,可以使用以下命令:

route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.1 dev eth0

或者更简洁地:

route add -net 10.0.0.0/8 gw 192.168.1.1 dev eth0

删除路由

要删除之前添加的路由,可以使用以下命令:

route del -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.1 dev eth0

或者更简洁地:

route del -net 10.0.0.0/8 gw 192.168.1.1 dev eth0

添加默认路由

添加默认路由(所有未知目标的数据包都将通过此网关发送):

route add default gw 192.168.1.1 dev eth0

删除默认路由

删除默认路由:

route del default gw 192.168.1.1 dev eth0

注意事项

  • 使用 route 命令配置的路由是静态的,在系统重启后会丢失。要永久配置路由,可以编辑网络配置文件或使用其他网络管理工具。
  • 在现代 Linux 发行版中,推荐使用 ip route 命令,它提供了更强大和灵活的功能。

总结

route 命令是一个用于显示和修改 IP 路由表的工具,尽管在现代系统中逐渐被 ip route 命令取代,但它仍然非常有用。了解如何使用 route 命令可以帮助你更好地管理和调试 Linux 系统的网络配置。