HCRM博客

CentOS网络脚本替代方案,三款亲测无忧的迁移方法

CentOS network-scripts被废弃后的替代方案

装完系统一瞅,/etc/sysconfig/network-scripts/里居然空荡荡,习惯了的ifcfg-eth0也没影,不少人当场傻眼。别急着回退老版本,红帽系早就把network-scripts标成“遗留件”,现在默认用NetworkManager管网卡,既省配置又带自动恢复,只是换了个玩法。把常用场景拆成三条路,照着抄命令就能上线,省得半夜被断网叫醒。

CentOS网络脚本替代方案,三款亲测无忧的迁移方法-图1

为什么network-scripts突然消失

早年的network-scripts靠一堆ifcfg-*文件+network服务,脚本层层调用,改个IP得翻好几处,一旦写错UUID就全军覆没。Systemd一统江湖后,NetworkManager自带D-Bus接口,能热插拔、能自动检测Wi-Fi、能配合云厂商的metadata,维护成本直线下降。红帽干脆把network-scripts踢出发行版,源码仓库留一份仅供考古,默认安装镜像里连包都不带,于是出现“文件去哪了”的幻觉。

方案一:nmcli一行命令搞定固定IP

最无痛的切法就是直接拥抱nmcli。它把IP、网关、DNS、路由全部收进NetworkManager的连接配置文件,支持回滚,语法比旧日期的ifcfg简洁。

查看现有连接名:

nmcli connection show

CentOS网络脚本替代方案,三款亲测无忧的迁移方法-图2

假设设备名是ens33,先备份原配置:

nmcli connection modify 'Wired connection 1' ipv4.addresses 192.168.1.88/24 ipv4.gateway 192.168.1.1 ipv4.dns '223.5.5.5 8.8.8.8' ipv4.method manual

立即生效:

nmcli connection up 'Wired connection 1'

改完ifconfig看一眼,地址已经稳如老狗,重启机器也不会丢。需要多网卡 bonding ?继续用nmcli加模式即可,不用再手写ifcfg-bond0。

方案二:nmtui文本菜单,拯救手残党

CentOS网络脚本替代方案,三款亲测无忧的迁移方法-图3

有人嫌背命令麻烦,可以进nmtui,在字符界面里上下键勾选。启动命令:

nmtui

选“Edit a connection”→找到对应网卡→IPv4 CONFIGURATION改成Manual→Addresses、Gateway、DNS一条条填完→OK→Back→Quit,全程不用敲长串参数。退出后NetworkManager自动写配置到/etc/NetworkManager/system-connections/,权限0600,root以外谁也改不了,比当年ifcfg的644安全得多。

方案三:原生keyfile,脚本批量下发

机房一次性上架五十台机器,点菜单能点到手抽筋,这时直接怼keyfile最快。keyfile其实就是INI风格,放在/etc/NetworkManager/system-connections/,例如static_ens33.nmconnection:

[connection]

id=static_ens33

uuid=7b2c8e4a-5d1e-4e12-a744-3c7a3b5f3ab4

type=ethernet

interface-name=ens33

[ethernet]

mac-address-blacklist=

[ipv4]

address1=10.0.0.30/24,10.0.0.254

dns=114.114.114.114;1.2.4.8

method=manual

[ipv6]

method=disabled

写好模板后,Ansible、SaltStack循环替换IP、UUID,分发到目标机,再执行:

nmcli connection reload && nmcli connection up static_ens33

十秒完成整列机柜,比scp过去再/etc/init.d/network restart爽太多。

老脚本还能抢救吗

实在想继续用ifcfg格式,可以手动装废弃包:

yum install network-scripts

接着systemctl enable network && systemctl start network,世界瞬间回到十年前。但注意,红帽已停止维护,新内核若改驱动参数,network-scripts没人帮你适配,哪天启动失败只能自己啃日志。生产环境别赌命,迁到NetworkManager才是正道。

常见坑排雷

1. 装了双栈,NetworkManager默认开启IPv6,若上游没分配,ssh会卡三秒,记得在连接里method=disabled。

2. ifcfg文件和keyfile同时存在,优先级以keyfile为准,老文件成摆设,别傻傻改半天没效果。

3. 云主机内部经常靠cloud-init第一次写配置,手工nmcli改后会被下次重启覆盖,要么禁用cloud-init网络模块,要么把自定义脚本放到/etc/cloud/cloud.cfg.d/,让优先级高于默认。

network-scripts已成历史,nmcli、nmtui、keyfile三件套无缝接班,功能只增不减;早点换,早点睡整觉。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/41975.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~