在Rocky Linux 9中使用nmcli配置路由规则需遵循以下步骤及注意事项:
-
基础路由配置
- 通过
nmcli con mod <连接名> +ipv4.routes '<目标网段/掩码 via 网关>'
添加静态路由(如192.168.2.0/24 via 10.0.0.1
) - 执行
nmcli con up <连接名>
激活配置,避免服务重启导致临时规则丢失
- 通过
-
策略路由进阶
- 使用
ip rule
和ip route
创建多表路由,例如基于源IP分流流量:ip rule add from 192.168.1.100 lookup 100 ip route add default via 10.0.0.2 dev eth0 table 100
- 持久化挑战:需在
/etc/sysconfig/network-scripts/rule-<连接名>
和route-<连接名>
中写入规则,但NetworkManager可能覆盖手动配置,建议通过nmcli直接集成
- 使用
-
nmcli完整示例
nmcli con mod eth0 \ +ipv4.routes "192.168.3.0/24 10.0.0.3" \ +ipv4.routing-rules "priority 100 from 192.168.1.100 table 100" nmcli con reload
-
典型故障场景
- 网关不可达:若网关未在同一子网,需先添加ARP记录或调整子网掩码
- 服务冲突:禁用传统network服务(
systemctl disable network
)避免与NetworkManager竞争 - 规则失效:通过
nmcli con show <连接名> | grep -E 'route|rule'
验证配置是否生效
-
诊断工具
ip route get <目标IP>
验证实际路由路径nft monitor
检查底层netfilter规则是否干扰路由journalctl -u NetworkManager -f
实时追踪服务日志
实践经验表明,复杂网络拓扑中建议将核心路由配置固化在Ansible/Terraform自动化脚本中,并优先使用nmcli而非手动编辑ifcfg文件以确保配置一致性。