
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 系统的网络配置。
