详解Linux route命令:显示和配置网络路由表

  • Post category:Linux

Linux route 命令攻略

route 命令是 Linux 中的一个网络命令,用于在 Linux 网络中查看和修改 IP 路由表。

查看当前路由表

使用 route 命令可以查看当前系统的路由表,以便了解系统的网络情况。

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         router          0.0.0.0         UG    100    0        0 eth0
10.20.30.0      *               255.255.255.0   U     50     0        0 eth1
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0

输出结果中包含了当前系统的路由表信息。其中,每行信息对应一条路由规则,各个字段的含义如下:

  • Destination:目标网络地址。
  • Gateway:路由器的 IP 地址。
  • Genmask:网络掩码,用于判断某个 IP 地址是否属于目标网络。
  • Flags:路由规则的状态,包括 U(up,表示路由规则生效)、G(gateway,表示需要走网关)和H(host,表示目标地址为主机)等。
  • Metric:路由规则的优先级,当多条规则的 Flags 和 Genmask 相同时,根据 Metric 的大小来判断使用哪条路由规则,Metric 越小,优先级越高。
  • Ref:路由规则被使用的次数。
  • Use:路由规则被使用的字节数。
  • Iface:路由规则对应的网络接口名称。

添加一条路由规则

使用 route add 命令可以添加一条路由规则,下面是一个示例:

$ route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.1

其中,参数的含义如下:

  • -net:指定目标网络地址。
  • netmask:指定网络掩码。
  • gw:指定路由器的 IP 地址。

这个例子中,我们将目标网络地址设置为 10.0.0.0,掩码为 255.0.0.0,网关为 192.168.1.1。这条路由规则的作用是让系统可以访问 10.0.0.0/8 网络。

删除一条路由规则

使用 route delete 命令可以删除一条路由规则,下面是一个示例:

$ route delete -net 10.0.0.0 netmask 255.0.0.0

这个例子中,我们将 10.0.0.0/8 网络的路由规则删除了。

总结

通过 route 命令,我们可以方便地查看和修改系统的路由表,以便更好地管理网络。在使用该命令时,需要注意参数的含义,以及路由规则的优先级和顺序等。