top
本文目录
问题现象
常见原因
1. NetworkManager与传统network服务冲突
2. systemd-resolved服务干扰
3. 配置文件权限错误
4. 语法错误
解决方案
方法一:通过NetworkManager配置(推荐)
方法二:禁用systemd-resolved
方法三:使用chattr锁定配置文件
验证与测试
预防措施

CentOS配置DNS重启失败 | 排错指南

CentOS配置DNS重启失败:原因分析与解决方案

问题现象

在CentOS系统中修改DNS配置后,执行 systemctl restart networknmcli connection reload 命令时出现错误提示,例如:

Failed to restart network.service: Unit network.service not found

或DNS配置在重启后自动恢复为默认值,导致网络解析异常。

常见原因

1. NetworkManager与传统network服务冲突

CentOS 7/8默认使用NetworkManager管理网络。手动修改/etc/resolv.conf会被NetworkManager覆盖。

2. systemd-resolved服务干扰

启用systemd-resolved时,DNS请求会被重定向到127.0.0.53,导致自定义配置失效。

3. 配置文件权限错误

/etc/sysconfig/network-scripts/ifcfg-ethX文件权限异常(如属主非root)导致读取失败。

4. 语法错误

DNS配置文件中存在格式错误,如缺少引号、拼写错误:

DNS1=8.8.8.8, DNS2=8.8.4.4  # 错误:逗号应改为分号

解决方案

方法一:通过NetworkManager配置(推荐)

  1. 编辑网卡配置文件:
    vi /etc/sysconfig/network-scripts/ifcfg-ens192
  2. 增加参数:
    DNS1="8.8.8.8"
    DNS2="1.1.1.1"
    PEERDNS="no"   # 禁止自动修改resolv.conf
  3. 应用配置:
    nmcli connection reload
    nmcli connection up ens192

方法二:禁用systemd-resolved

systemctl stop systemd-resolved
systemctl disable systemd-resolved
rm /etc/resolv.conf  # 删除符号链接
echo "nameserver 8.8.8.8" > /etc/resolv.conf

方法三:使用chattr锁定配置文件

chattr +i /etc/resolv.conf  # 禁止任何修改
chattr -i /etc/resolv.conf  # 需要修改时解除锁定

验证与测试

# 检查DNS配置
cat /etc/resolv.conf

# 测试解析
nslookup example.com

# 查看NetworkManager状态
nmcli device show ens192 | grep DNS

预防措施

  • 优先使用nmclinmtui工具配置网络
  • 检查/etc/NetworkManager/NetworkManager.conf[main]部分是否包含dns=none(避免冲突)
  • 定期备份网络配置文件:cp /etc/sysconfig/network-scripts/ifcfg* ~/backup/

寰宇互联服务器4核4G云服务器1元/月,网络稳定、抗DDos、国际BGP、性能强劲,十年服务经验QQ:97295700 微信:huanidc

阅读剩余
THE END
icon
0
icon
打赏
icon
分享
icon
二维码
icon
海报