插件窝 干货文章 linux中route add命令如何使用

linux中route add命令如何使用

路由 route 网关 564    来源:    2025-04-07

route add 是 Linux 系统中用于手动添加静态路由的命令(传统工具),但现代 Linux 发行版更推荐使用 ip route(来自 iproute2 工具包)。以下是两种方式的使用方法及示例:


一、传统 route add 命令(已逐渐淘汰)

基本语法

route add -net <目标网络> netmask <子网掩码> gw <网关IP> dev <接口名>

route add -host <目标IP> gw <网关IP> dev <接口名>

常用参数

  • -net:指定目标网络地址。
  • -host:指定单个目标主机地址。
  • netmask:子网掩码。
  • gw:网关(Gateway)的 IP 地址。
  • dev:指定出口网络接口(如 eth0ens33)。

示例

  1. 添加网络路由
    将目标网络 192.168.2.0/24 的流量通过网关 192.168.1.1 发送:

    route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth0
    
  2. 添加主机路由
    将访问 10.0.0.5 的流量通过网关 192.168.1.1 发送:

    route add -host 10.0.0.5 gw 192.168.1.1 dev eth0
    
  3. 添加默认路由
    将所有未匹配的流量(默认路由)通过网关 192.168.1.1 发送:

    route add default gw 192.168.1.1
    

查看路由表

route -n

二、推荐使用 ip route 命令(现代替代方案)

iproute2 工具功能更强大,语法更简洁,是当前推荐的方式。

基本语法

ip route add <目标网络> via <网关IP> dev <接口名>

示例

  1. 添加网络路由

    ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
    
  2. 添加默认路由

    ip route add default via 192.168.1.1 dev eth0
    
  3. 添加主机路由

    ip route add 10.0.0.5/32 via 192.168.1.1 dev eth0
    

查看路由表

ip route show

三、注意事项

  1. 权限要求:需使用 sudo 或以 root 用户执行。
  2. 临时生效:上述命令重启后会失效。若需永久生效,需写入配置文件:
    • Debian/Ubuntu:/etc/network/interfaces
    • RHEL/CentOS:/etc/sysconfig/network-scripts/route-<接口名>
    • 或使用 nmcli(NetworkManager)。
  3. 验证路由:添加后务必用 ip route showroute -n 检查是否生效。

四、常见问题

  1. route: command not found
    安装 net-tools 包:

    sudo apt install net-tools    # Debian/Ubuntu
    sudo yum install net-tools    # RHEL/CentOS
    
  2. 路由冲突或重复
    删除旧路由后再添加:

    ip route del 192.168.2.0/24   # 删除
    ip route add 192.168.2.0/24 via 192.168.1.1
    

总结

  • 推荐使用 ip route:语法更清晰,功能更全面。
  • 临时调试用 route add:适合快速测试,但需注意兼容性。

如果有特定场景需求(如策略路由、多路径路由),可以进一步探讨 ip ruleip route 的高级用法。