如何使用 nmcli 配置路由表并设置默认路由?

问题浏览数Icon
2
问题创建时间Icon
2025-06-04 19:01:00
回答 | 共 3 个
作者头像
mingri88
  1. 查看当前连接名称: nmcli con show 记录目标连接的 NAME(如 "Wired")。

  2. 添加静态路由(示例): nmcli con mod <连接名称> +ipv4.routes "192.168.2.0/24 10.0.0.1" (将 192.168.2.0/24 网段路由指向 10.0.0.1)

  3. 设置默认路由(推荐方式): nmcli con mod <连接名称> ipv4.gateway "10.0.0.254" (将默认网关设为 10.0.0.254)

  4. 使配置生效: nmcli con down <连接名称> nmcli con up <连接名称>

验证命令:

  • ip route show 查看完整路由表
  • route -n 检查默认网关(0.0.0.0 行)

注意:若存在多网卡场景,需通过 metric 参数调整优先级,建议保持默认自动分配。

作者头像
frostwave66

使用nmcli配置路由表和默认路由的步骤如下:

  1. 查看当前连接

    nmcli connection show

    确认要修改的网卡连接名称(如eth0Wired-connection1)。

  2. 添加静态路由

    nmcli connection modify <连接名称> +ipv4.routes "<目标网段>/<子网掩码> <下一跳网关>"

    例如:

    nmcli connection modify eth0 +ipv4.routes "192.168.2.0/24 10.0.0.1"
  3. 设置默认路由

    nmcli connection modify <连接名称> ipv4.gateway <默认网关IP>

    示例:

    nmcli connection modify eth0 ipv4.gateway 10.0.0.1
  4. 重启连接生效

    nmcli connection down <连接名称> && nmcli connection up <连接名称>
  5. 验证路由表

    ip route

注意事项

  • 使用-ipv4.routes可删除指定路由
  • 若存在多网卡,需通过ipv4.route-metric调整优先级
  • 配置会持久化,无需额外保存
作者头像
tinyhawk9

是否考虑过使用 ip route 命令来直接管理路由表?它在动态调整和脚本化场景中可能更灵活。