5154

Good Luck To You!

centos7编辑增加dns

CentOS 7中,可通过nmcli con mod ipv4.dns "DNS1 DNS2"命令或编辑/etc/resolv.conf文件添加DNS服务器

CentOS 7编辑增加DNS详细指南

在CentOS 7系统中,合理配置DNS服务器能够显著提升域名解析效率、增强网络稳定性并优化访问速度,以下是三种主流的配置方法,涵盖命令行工具、配置文件修改及图形化界面操作,适用于不同场景需求。


通过nmcli命令行工具快速设置(推荐方式)

此方法基于NetworkManager服务实现动态管理,适合需要即时生效且不影响其他网络参数的场景。

步骤如下:

  1. 查看当前可用的网络连接名称或UUID
    执行命令 nmcli connection show,获取如ens160这样的接口标识符,若存在多个连接,需准确选择目标设备。
  2. 修改指定连接的DNS服务器地址
    使用格式:nmcli con mod <连接名称> ipv4.dns "IP1 IP2 ..."
    示例:将ens160的DNS设置为阿里云和谷歌公共DNS:
    nmcli con mod ens160 ipv4.dns "114.114.114.114 8.8.8.8"
  3. 禁用自动获取DHCP分配的DNS(可选但建议)
    添加参数确保静态配置优先:
    nmcli con mod ens160 ipv4.ignoreautodns yes
  4. 重启网络连接使配置生效
    运行 nmcli con up ens160 或先下线再上线:
    nmcli con down ens160 && nmcli con up ens160
  5. 验证结果
    通过 cat /etc/resolv.conf 检查是否已更新为新DNS列表。

⚠️注意:该方法的优势在于无需手动干预底层文件,且支持多DNS冗余备份;但缺点是重启后可能因服务恢复导致配置丢失(可通过后续章节的方法固化)。


直接编辑网卡配置文件(传统静态方式)

当需要永久保留DNS设置时,可直接修改对应网卡的脚本文件,此方法不受NetworkManager干扰,适合服务器环境。

操作流程:

  1. 定位目标网卡的配置文件路径
    默认存放于 /etc/sysconfig/networkscripts/ 目录下,文件名格式为 ifcfg<接口名>,例如物理网卡通常为 ifcfgeth0,逻辑接口可能是 ifcfgens33 等,可通过 ls /etc/sysconfig/networkscripts/ 确认实际名称。
  2. 添加/修改DNS条目
    用文本编辑器打开文件后,设置以下参数:
    • DNS1=首选DNS服务器IP(必填)
    • DNS2=备用DNS服务器IP(可选) 如下:
      DNS1=8.8.8.8      # Google主DNS
      DNS2=8.8.4.4      # Google辅助DNS
      PEERDNS=no        # 关键!禁止从DHCP或其他来源自动更新DNS
  3. 重启网络服务应用变更
    执行命令:systemctl restart network
  4. 交叉验证配置一致性
    再次查看 /etc/resolv.conf,确认其内容与网卡配置完全匹配,若不同步,可能是由于NetworkManager仍在覆盖该文件(见下一章节解决方案)。

优势对比:相比nmcli方式,此方法更稳定可靠,尤其适用于生产环境中对网络稳定性要求较高的场景。


手动维护/etc/resolv.conf文件(临时性方案)

虽然直接编辑系统级解析器配置文件看似简单,但在默认情况下会被NetworkManager动态重置,仅推荐作为辅助手段使用。

实施细节:

  1. 备份原文件以防误操作
    建议先将当前配置存档:cp /etc/resolv.conf /root/backup_resolv.conf
  2. 按需追加新的nameserver记录
    例如添加国内高速节点:
    nameserver 223.5.5.5      # 阿里云DNS
    nameserver 114.114.114.114 # 中国电信DNS
  3. 阻止NetworkManager自动覆盖(关键步骤!)
    修改主控配置文件以解除自动管理模式:
    • 编辑 /etc/NetworkManager/NetworkManager.conf,在 [main] 部分加入一行:dns=none
    • 然后重启服务加载新策略:systemctl restart NetworkManager
  4. 测试连通性与解析效果
    尝试解析常见域名如 ping www.baidu.com,观察是否能正确返回IP地址。
方法类型 持久化能力 适用场景 典型命令示例
nmcli交互式配置 中等(依赖服务状态) 快速调试、临时调整 nmcli con mod ...; nmcli con up ...
网卡脚本直接编辑 服务器长期部署 vi ifcfgeth0; systemctl restart network
resolv.conf手工维护 低(易被覆盖) 临时测试、补充备用节点 vi /etc/resolv.conf; systemctl restart NetworkManager

常见问题与解答

Q1: 如果我希望同时使用企业内部自建DNS和公共DNS该如何操作?
✅ A: 可以在任一配置方法中按优先级顺序排列多个DNS IP,例如在网卡配置中写:
DNS1=192.168.1.100(内网主节点), DNS2=8.8.8.8(谷歌公共节点),系统会依次尝试每个服务器直至成功响应。

Q2: 修改后发现/etc/resolv.conf没有被更新怎么办?
✅ A: 这是由于NetworkManager仍在管理该文件导致的,解决方法有两种:①采用第二种方法直接编辑网卡配置文件并设置PEERDNS=no;②若坚持使用第三种方法,则必须修改/etc/NetworkManager/NetworkManager.conf中的dns=none选项来禁用自动刷新机制

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年8月    »
123
45678910
11121314151617
18192021222324
25262728293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.