CentOS 7怎么修改DNS地址
作者:NorthPath
时间:2026-08-06
浏览:0
CentOS7中要持久修改DNS,需要编辑网卡配置文件ifcfg,添加DNS1和DNS2后重启network服务。若NetworkManager已启用,则需在配置文件中设置dns=none,以防止其自动覆盖。注意:直接修改/etc/resolv.conf仅临时生效,重启服务后会被还原。采用此方法可确保DNS配置永久生效。
说起来,直接改 /etc/resolv.conf 确实最快,但你大概率会发现——重启网络或重启系统后,它就又变回原样了。因为背后有 NetworkManager 或 network 服务在覆盖它。真正可靠的办法,还是老老实实写进网卡配置文件。
改网卡配置文件(推荐,持久生效)
CentOS 7 默认用 network 服务管理传统网卡(比如 ens33),DNS 配置要写入对应接口的 ifcfg 文件。具体步骤:
- 先查网卡名:
ip -br a或ls /sys/class/net/,常见的是ens33、eth0 - 编辑配置文件:
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33 - 在文件末尾追加(支持多个,空格分隔):
DNS1=114.114.114.114
DNS2=8.8.8.8 - 重启网络服务:
sudo systemctl restart network - 验证:
cat /etc/resolv.conf应该已经同步更新,再用nslookup google.com测试一下,能通就对了

禁用 NetworkManager 覆盖(如果启用了 NM)
如果系统同时运行着 NetworkManager(桌面版或最小化安装后手动启用的情况很常见),它默认会接管 DNS 并覆写 /etc/resolv.conf。这时候需要做两步:
- 先确认状态:
systemctl is-active NetworkManager - 临时禁止接管:在
/etc/NetworkManager/NetworkManager.conf的[main]段下面加一行:dns=none - 重启 NM:
sudo systemctl restart NetworkManager - 这样一来,不管你是改 ifcfg 文件还是手动改
/etc/resolv.conf,都不会被覆盖了
直接改 /etc/resolv.conf(仅临时调试)
这个文件由 resolver 库直接读取,改完立刻生效,但风险也很明确:
- 执行:
echo "nameserver 1.1.1.1" | sudo tee /etc/resolv.conf - 马上生效,用
dig @1.1.1.1 github.com就能验证 - 但只要执行
systemctl restart network或dhclient -r && dhclient,内容就会被还原 - 注意:不要删掉原有的
search或domain行,否则本地主机名解析可能出问题
最容易忽略的坑是 NetworkManager 和 network 服务共存时的冲突——不弄清楚到底谁在管 DNS,只改 resolv.conf 就像往漏水的桶里灌水,白费力气。
作者最新文章
贵州省住建厅与贝壳集团签署旅居战略合作:五大维度落地方案解析
2026-09-08 18:13
上海链家安住APP:业主主动卖房功能与成交数据解析
2026-09-08 18:11
如何批量将PPT转成PDF格式?PPT转PDF工具怎么选?
2026-09-04 16:03
PDF文件怎么压缩?3个小技巧帮你减小体积
2026-09-03 18:03
小批量试产总结报告:新产品量产导入评审实战指南
2026-09-02 19:48
上一篇:
Linux怎么查看物理扇区错误具体位置
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多


































