|

route add命令详解

下面对常见操作系统(Windows 与 Linux/Unix)中 route add 命令进行详解,包括其作用、语法格式、常用参数及典型示例。


一、命令作用

route add 用于在本地路由表中添加一条静态路由,使得发送到指定目标网络(或主机)的数据包能按照该路由规则转发到指定的网关或接口。

  • Windows:管理 IP 路由表,适用于 IPv4 和 IPv6。
  • Linux/Unix:同样操作内核的路由表,可用来添加、修改、删除静态路由。

二、Windows 下的 route add

1. 基本语法

route add <目标网络> mask <子网掩码> <网关地址> [metric <跳数>] [if <接口编号>]
  • <目标网络>:目标网络地址或目标主机地址。
  • mask <子网掩码>:子网掩码,决定目标网络的范围。
  • <网关地址>:下一跳路由器或本机直联网关 IP。
  • metric <跳数>:可选,路由优先级,数字越小优先级越高,默认为 1。
  • if <接口编号>:可选,指定使用的网络接口编号,可通过 route print 查看各接口对应编号。

2. 常用示例

  1. 为单个主机添加路由:route add 192.168.1.100 mask 255.255.255.255 10.0.0.1
    • 将目的地址为 192.168.1.100 的流量发往网关 10.0.0.1。
  2. 为整个子网添加路由:route add 172.16.0.0 mask 255.255.0.0 10.0.0.254 metric 5 if 12
    • 将发往 172.16.0.0/16 的流量通过接口编号 12,并以跳数 5 的优先级发往网关 10.0.0.254。
  3. 添加永久静态路由:
    默认添加的路由在重启后消失,可加上 -p 参数将其写入注册表:route -p add 10.10.10.0 mask 255.255.255.0 192.168.0.1

3. 查看与删除

  • 查看当前路由表:route print
  • 删除路由:route delete <目标网络> mask <子网掩码> [if <接口编号>]

三、Linux/Unix 下的 route add

提醒:较新的 Linux 发行版推荐使用 ip route(来自 iproute2 套件),但 route 命令依然常见。

1. 基本语法(传统 route 命令)

# 添加到子网
sudo route add -net <目标网络> netmask <子网掩码> gw <网关地址> [dev <接口名>]

# 添加到单个主机
sudo route add -host <目标主机> gw <网关地址>
  • -net/-host:指定目标是网络还是单个主机。
  • netmask <子网掩码>:目标网络掩码。
  • gw <网关地址>:下一跳路由器 IP。
  • dev <接口名>:可选,指定物理或逻辑接口(如 eth0、ens33 等)。

2. 推荐语法(ip route 命令)

sudo ip route add <目标网络>/<前缀长度> via <网关地址> dev <接口名> [metric <跳数>]
  • <目标网络>/<前缀长度>:如 192.168.2.0/24 或单主机 10.0.0.5/32
  • via:指定下一跳网关。
  • dev:指定出接口。
  • metric:可选,路由优先级。

3. 常用示例

  1. 添加子网路由(传统方式):sudo route add -net 10.10.20.0 netmask 255.255.255.0 gw 192.168.1.1
  2. 使用 ip routesudo ip route add 10.10.20.0/24 via 192.168.1.1 dev eth0 metric 10
  3. 添加到单个主机:sudo ip route add 172.16.5.8/32 via 192.168.1.254 dev eth1

4. 查看与删除

  • 查看路由表
    • 传统:route -n
    • 推荐:ip route show
  • 删除路由# 传统方式 sudo route del -net 10.10.20.0 netmask 255.255.255.0 gw 192.168.1.1 # iproute2 方式 sudo ip route del 10.10.20.0/24 via 192.168.1.1 dev eth0

四、小贴士

  1. 注意网络连通性
    • 添加路由前,确保下一跳网关可达(ping 测试)。
  2. 优先级(Metric)
    • 系统根据跳数(Metric)值决定多条路由时的选择,数值越低优先级越高。
  3. 持久化
    • Windows 用 -p;Linux 需要修改网络配置脚本(如 /etc/network/interfaces/etc/sysconfig/network-scripts/ 或 NetworkManager 配置)。
  4. 调试
    • 配置完成后,使用 tracert(Windows)或 traceroute(Linux)追踪路由路径,确认生效。

通过上述内容,您可以掌握 route add 在不同环境下的用法与配置要点,灵活地为目标网络或主机添加静态路由。若有更深入的场景需求(如策略路由、路由映射等),可进一步学习 ip ruleiptables 或高级路由协议工具。

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注