route
route
命令是Linux系统中用于显示和操作IP路由表的重要工具,以下是对其详细的介绍:
命令格式
route [-f] [-p] [command [destination] [mask netmask] [gateway] [metric metric]] [if interface]]
命令功能
用于操作基于内核的IP路由表,主要作用是创建静态路由,指定主机或网络通过特定网络接口进行通信,如eth0
。使用add
或del
参数时,路由表会被相应修改;若不使用参数,则显示路由表当前内容.
命令参数
- 操作参数 :
- 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:与路由项关联的网络接口。
使用示例
- 显示当前路由表 :
- 直接输入
route
或route -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
命令来进行更复杂和灵活的网络配置和管理.