跳到主要内容

route

route命令是Linux系统中用于显示和操作IP路由表的重要工具,以下是对其详细的介绍:

命令格式

route [-f] [-p] [command [destination] [mask netmask] [gateway] [metric metric]] [if interface]]

命令功能

用于操作基于内核的IP路由表,主要作用是创建静态路由,指定主机或网络通过特定网络接口进行通信,如eth0。使用adddel参数时,路由表会被相应修改;若不使用参数,则显示路由表当前内容.

命令参数

  • 操作参数
    • add:添加一条新路由。
    • del:删除一条路由。
  • 显示参数
    • -n:以数字形式显示IP地址和网络掩码,而不解析主机名,可加快显示速度.
    • -e:使用扩展的显示格式来显示路由表 .
    • -ee:产生非常长的一行输出,包含路由表中的所有参数.
  • 控制参数
    • -f:清除所有网关入口的路由表。
    • -p:与add命令一起使用时,使路由具有永久性,即重启后路由设置仍然有效。
  • 缓存参数
    • -c:显示路由缓存。
  • 详细信息参数
    • -v:显示详细的处理信息。

路由表字段说明

当使用route命令查看路由表时,会显示以下主要字段 :

  • Destination:目标网络或主机的IP地址。
  • Gateway:到达目标网络或主机的网关地址。
  • Genmask:目标网络的子网掩码。
  • Flags:路由标志,常见标志如下:
    • U:表示此路由当前为启动状态。
    • H:表示此网关为一主机。
    • G:表示此网关为一路由器。
    • R:表示使用动态路由重新初始化的路由。
    • D:表示此路由是动态性地写入。
    • M:表示此路由是由路由守护程序或导向器动态修改。
    • !:表示此路由当前为关闭状态。
  • Metric:路由跳数,用于在多个路由中选择最优路径时参考。
  • Ref:路由项的引用计数。
  • Use:路由使用次数。
  • Iface:与路由项关联的网络接口。

使用示例

  • 显示当前路由表
    • 直接输入routeroute -n可查看当前系统的路由表信息。例如:
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 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
  • 添加路由
    • 例如,添加一条到达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
  • 删除路由
    • 例如,删除到达10.0.0.0/8网络的路由,命令如下:
route del -net 10.0.0.0 netmask 255.0.0.0
  • 设置默认网关
    • 例如,将192.168.1.1设置为默认网关,命令如下:
route add default gw 192.168.1.1

注意事项

  • 直接在命令行下使用route命令添加的路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了。若要使路由设置永久有效,可以在/etc/rc.local中添加route命令.
  • 在现代Linux系统中,route命令已逐渐被ip命令所取代,建议使用ip命令来进行更复杂和灵活的网络配置和管理.