当前位置:首页>Linux>以openEuler为例,linux永久路由配置|告别重启丢配置,运维人必看实操指南

以openEuler为例,linux永久路由配置|告别重启丢配置,运维人必看实操指南

  • 2026-09-02 18:55:33
以openEuler为例,linux永久路由配置|告别重启丢配置,运维人必看实操指南

作为运维人,你是否遇到过这样的坑?—— 在openEuler系统中手动添加路由,测试连通性一切正常,可一旦重启服务器,路由直接“消失”,业务瞬间中断,只能连夜紧急恢复...

其实问题根源很简单:你添加的是临时路由,并未做永久化配置。openEuler作为企业级Linux发行版,网络稳定性是核心需求,而永久路由配置,正是保障服务高可用的基础操作。

今天就结合实操,把openEuler永久路由的两种核心配置方法讲透,新手也能一步到位,彻底告别“重启丢路由”的烦恼!

先搞懂:临时路由vs永久路由,别再用错了

在开始配置前,先明确一个关键区别,避免踩坑:

✅ 临时路由:用 ip route 或 route 命令直接添加,配置简单、即时生效,但系统重启、网络服务重启后会完全丢失,仅适合调试、排障场景。

❌ 生产环境禁忌:绝对不能把临时路由当长期方案!比如依赖特定路由访问内部数据库的服务,重启后路由丢失会直接导致业务雪崩。

✅ 永久路由:通过配置文件或官方工具设置,写入系统配置,无论重启服务器还是网络服务,路由都会自动恢复,是企业级部署的唯一选择。

核心前提:搞懂openEuler的网络管理逻辑

openEuler的网络管理是“双轨并行”,两种模式对应不同的配置方法,先确认你的系统用哪种,避免做无用功:

1.  默认模式(推荐):使用 NetworkManager 服务(系统默认开启),对应 nmcli 命令配置,是官方推荐的现代方案。

2.  传统模式:禁用NetworkManager,使用传统 network 服务,对应配置文件方式,适合老运维、遗留系统兼容场景。

👉 快速判断方法:执行命令 systemctl is-active NetworkManager,返回 active就是默认模式,返回 inactive 就是传统模式。

方法一:传统配置文件法(兼容老系统,稳妥不出错)

这种方法沿用RHEL/CentOS的经典逻辑,配置直观、兼容性极强,适合所有openEuler版本,尤其适合习惯传统运维的同学。

核心原理

在 /etc/sysconfig/network-scripts/ 目录下,为每个网络接口(如ens33、ens160)创建 route-接口名 文件,写入路由规则,系统启动时会自动加载。

一步一步实操(以ens33接口为例)

步骤1:确认网络接口名称(关键!不能错)

执行命令,查看当前激活的网络接口:

ip -br addr show# 输出示例:ens33            UP             192.168.1.100/24

记住接口名 ens33(你的可能是ens160、eth0等)。

步骤2:创建/编辑路由配置文件

用root权限创建文件 route\-ens33(接口名对应上一步):

sudo vi /etc/sysconfig/network-scripts/route-ens33

写入路由规则(推荐用CIDR格式,简洁不易错),示例:

# 访问10.10.10.0/24网段,下一跳网关192.168.1.254,通过ens33接口10.10.10.0/24 via 192.168.1.254 dev ens33

👉 规则说明:目标网络/掩码位数 via 网关地址 dev 接口名,每行一条路由,可添加多条。

步骤3:重启网络服务生效

根据系统网络服务,选择对应命令重启(二选一):

# 若用NetworkManager(默认)sudo systemctl restart NetworkManager# 若用传统network服务sudo systemctl restart network

步骤4:验证+终极测试

1.  验证路由是否生效:

ip route show# 若输出中有 10.10.10.0/24 via 192.168.1.254 dev ens33,说明生效

2.  测试持久性(关键!):

sudo reboot  # 重启服务器ip route show  # 重启后再次查看,路由仍存在即配置成功

注意事项(避坑重点)

  • 接口名必须精确匹配:route-ens33 只能对应 ens33 接口,网卡更换后需手动更新文件名。

  • 文件权限:确保文件权限为644(所有者root),否则服务会拒绝加载。

  • 默认网关:不要在这个文件中设置默认网关,默认网关需在ifcfg-ens33 文件中配置。

方法二:nmcli命令法(官方推荐,现代高效)

这是openEuler官方主推的方法,与NetworkManager深度集成,配置实时生效,无需重启整个网络服务,适合现代部署场景,也是未来的主流方向。

核心优势

✅ 实时生效:添加路由后立即生效,无需重启服务,不影响在线业务;

✅ 自动持久化:配置直接写入系统连接文件,重启后自动恢复;

✅ 操作灵活:支持添加、删除、批量配置,适配复杂网络场景。

一步一步实操(以ens33连接为例)

步骤1:确认网络连接名称

注意:这里的“连接名称”不是接口名(虽通常一致,但需确认):

nmcli connection show# 输出示例:NAME    UUID                                  TYPE      DEVICE#          ens33   5e0d1a4c-xxx-xxx                      ethernet  ens33

记住 NAME 列的 ens33(即连接名称)。

步骤2:添加永久静态路由

假设需要访问 10.10.10.0/24 网段,下一跳网关 192.168.1.254,执行命令:

nmcli connection modify ens33 +ipv4.routes "10.10.10.0/24 192.168.1.254"

👉 关键说明:+ipv4.routes 中的 + 表示“追加”路由,不加 + 会覆盖所有现有路由(极其危险!)。

步骤3:验证配置

1.  查看路由是否写入配置:

nmcli connection show ens33 | grep ipv4.routes# 输出示例:ipv4.routes:            10.10.10.0/24, 192.168.1.254

2.  查看内核路由表(确认生效):

ip route show

步骤4:补充操作(常用)

  • 添加多条路由:用分号分隔,示例:sudo nmcli connection modify ens33 +ipv4.routes "10.10.10.0/24 192.168.1.254; 172.16.0.0/12 192.168.1.253"

  • 删除路由:替换 + 为 -,示例:sudo nmcli connection modify ens33 -ipv4.routes "10.10.10.0/24 192.168.1.254"

  • 设置默认网关:sudo nmcli connection modify ens33 ipv4.gateway 192.168.1.1

两种方法对比,怎么选?

很多运维同学会纠结选哪种,直接看表格,按需选择即可:

配置方法
适用场景
推荐度
核心优势
配置文件法(route-接口名)
传统运维、遗留系统、兼容性需求高
⭐⭐⭐⭐
稳定、兼容所有版本、易审计
nmcli命令法
现代部署、NetworkManager管理、频繁调整
⭐⭐⭐⭐⭐
实时生效、操作灵活、官方推荐

常见故障排查(运维必备)

配置过程中遇到问题,不用慌,对照以下场景快速解决:

  • 🔸 重启后路由丢失:要么没重启网络服务,要么接口名写错(比如route-eth0对应ens33),要么文件语法错误(缺空格、中文标点)。

  • 🔸 网络服务启动失败:大概率是路由文件语法错误,临时重命名该文件(如route-ens33.bak),重启服务后再逐行排查。

  • 🔸 路由存在但无法通信:检查下一跳网关是否可达(ping网关),或防火墙是否拦截,多网卡场景需显式指定dev接口。

最后总结

openEuler永久路由配置,核心就两种方法:

1.  保守稳妥选「配置文件法」,兼容所有场景,适合追求稳定性的生产环境;

2.  高效灵活选「nmcli命令法」,官方推荐,实时生效,适配现代运维需求。

记住:生产环境绝对不能用临时路由!无论是哪种方法,配置后一定要重启服务器验证持久性,避免因路由丢失导致业务中断。

收藏这篇指南,下次配置openEuler路由,直接对照操作,省时又避坑~


本站昨晚更新了头像和名称:

最新文章

随机文章