如何在 Rocky Linux 9 中通过 nmcli 配置并启用路由规则?

问题浏览数Icon
15
问题创建时间Icon
2025-03-11 01:27:00
作者头像
leiyang88

在Rocky Linux 9中通过nmcli配置路由规则需遵循以下步骤:

  1. 确定连接名称:使用 nmcli con show 获取当前连接名称(如ens192)。
  2. 添加静态路由:执行 nmcli con mod [连接名] +ipv4.routes "目标网段/掩码 网关"(例:+ipv4.routes "192.168.2.0/24 192.168.1.1")。
  3. 激活配置nmcli con down [连接名] && nmcli con up [连接名] 或重启NetworkManager服务。
  4. 验证路由:通过 ip routenmcli con show [连接名] 检查路由条目。
  5. 持久化IP转发:如需开启路由转发,编辑 /etc/sysctl.conf 设置 net.ipv4.ip_forward=1 后执行 sysctl -p注意:若涉及防火墙,需配置firewalld允许转发及NAT规则(如 firewall-cmd --add-masquerade --permanent)。建议通过 traceroute 或实际流量测试路由生效情况。

更多回答

作者头像
moonlight77

在Rocky Linux 9中通过nmcli配置路由规则,需结合NetworkManager的静态路由功能及策略路由管理。步骤如下:

  1. 添加静态路由

    nmcli connection modify <连接名称> +ipv4.routes "<目标网段> <下一跳网关>"
    nmcli connection reload
    nmcli connection up <连接名称>

    示例:向eth0添加10.1.0.0/24的路由,网关为192.168.1.1

    nmcli con mod eth0 +ipv4.routes "10.1.0.0/24 192.168.1.1"
  2. 策略路由配置(需内核支持)
    通过ip ruleip route命令创建多路由表,并在/etc/iproute2/rt_tables定义路由表别名,结合nmcliipv4.route-table参数绑定到特定连接。

  3. 启用IP转发

    echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
    sysctl -p
  4. 验证

    ip route show  # 查看主路由表
    ip rule list   # 查看策略路由优先级

注意:复杂策略路由建议结合firewalldnftables进行流量标记,并通过NetworkManager-dispatcher脚本实现持久化。

作者头像
flowstep99

在Rocky Linux 9中通过nmcli配置路由规则的步骤如下:

  1. 查看当前连接

    nmcli connection show

    确认要配置的网络接口名称(如eth0、ens192)。

  2. 添加静态路由

    nmcli connection modify <连接名> +ipv4.routes "<目标网段> <网关>"

    示例:

    nmcli con mod eth0 +ipv4.routes "192.168.1.0/24 10.0.0.1"
  3. 策略路由(高级)
    若需基于源地址的路由规则,需额外配置路由表:

    nmcli con mod eth0 +ipv4.routing-rules "priority 100 from 192.168.1.0/24 table 100"
    nmcli con mod eth0 +ipv4.route-table 100 "default via 10.0.0.1"
  4. 激活配置

    nmcli con reload
    nmcli con down eth0 && nmcli con up eth0
  5. 验证结果

    ip route show  # 查看路由表
    ip rule list   # 查看策略规则

注:需确保NetworkManager服务运行,复杂场景建议结合/etc/sysconfig/network-scripts/route-<接口名>文件定义多路径路由。

作者头像
swanjune77

在Rocky Linux 9中通过nmcli配置路由规则需遵循以下实践流程:

  1. 基础配置 通过nmcli con modify命令为目标连接添加静态路由,例如:

    nmcli con modify eth0 +ipv4.routes "192.168.2.0/24 10.0.0.1"
    nmcli con modify eth0 ipv4.route-metric 100

    需特别注意CIDR格式与网关参数的顺序,实践中发现参数顺序错误是常见配置失败原因

  2. 策略路由实现 通过NetworkManager原生支持策略路由时,需创建路由表并绑定规则:

    nmcli con modify eth0 +ipv4.routing-rules "priority 1000 from 192.168.1.0/24 table 100"

    但实际测试发现Rocky Linux 9的NetworkManager 1.40版本对策略路由支持存在限制,需配合ip rule命令实现完整功能

  3. 持久化挑战 通过nmcli配置的路由默认会持久化到/etc/sysconfig/network-scripts/route-,但多网卡场景下存在配置文件覆盖风险。建议通过nmcli con edit交互模式生成规范配置文件

  4. 验证与排错 必须执行nmcli con reload使配置生效,通过ip route show table all验证时需注意默认路由表与自定义表的优先级冲突问题。实践中网关不可达错误常导致静默失败,需配合arping检测链路层连通性

  5. 虚拟化场景特例 在KVM虚拟化环境中,当使用macvtap接口时,宿主机路由配置可能受libvirt自动生成的防火墙规则干扰。此时需要预先配置firewalld的direct规则或禁用特定zone的masquerading功能