centos7配置dns文件

编辑/etc/resolv.conf文件,添加nameserver行(如8.8.8.8),保存后重启网络服务

CentOS 7 配置 DNS 文件详细指南

DNS 基础概念

1 什么是 DNS?

DNS(Domain Name System)是互联网的核心服务之一,负责将人类可读的域名(如 www.example.com)转换为计算机可识别的 IP 地址(如 168.1.1),在 Linux 系统中,DNS 配置直接影响网络访问速度和稳定性。

2 DNS 的工作流程

  1. 客户端请求:系统向 DNS 服务器发起域名解析请求。
  2. 递归查询:DNS 服务器逐级查询权威 DNS 服务器。
  3. 缓存优化:系统缓存解析结果以加速后续访问。

CentOS 7 DNS 配置文件位置

CentOS 7 的 DNS 配置主要涉及以下文件:
| 文件路径 | 作用描述 |
|||
| /etc/resolv.conf | 主配置文件,定义 DNS 服务器和选项 |
| /etc/sysconfig/networkscripts/ifcfg* | 网络接口配置文件,部分旧版网络服务在此配置 DNS |
| /etc/NetworkManager/systemconnections/ | NetworkManager 管理的连接配置文件(图形界面工具生成) |


配置方法详解

1 直接编辑 /etc/resolv.conf

步骤:
  1. 备份原文件

    cp /etc/resolv.conf /etc/resolv.conf.bak
  2. 编辑文件

    centos7配置dns文件

    nano /etc/resolv.conf
  3. 添加 DNS 服务器(示例):

    # 阿里云公共 DNS
    nameserver 223.5.5.5
    nameserver 223.6.6.6
    # Google 公共 DNS
    nameserver 8.8.8.8
    nameserver 8.8.4.4
注意事项:
  • nameserver 按顺序优先查询,建议将响应速度快的 DNS 放在前面。
  • 仅修改此文件适用于传统网络服务(service network restart 生效)。

2 通过 NetworkManager 配置(推荐)

步骤:
  1. 打开网络连接编辑界面
    nmtui # 或使用图形界面命令 `nmconnectioneditor`
  2. 选择目标网络连接,进入 IPv4 设置
  3. 手动配置 DNS
    • DNS 服务器:填写 8.8.8, 8.8.4.4(逗号分隔)。
    • 自动获取 DNS 信息:取消勾选。
  4. 保存并重启网络
    systemctl restart NetworkManager
优势:
  • 配置持久化,重启后自动生效。
  • 支持多连接独立配置。

3 通过 ifcfgeth0 配置(旧版方法)

适用场景:

未使用 NetworkManager 的静态网络配置。

步骤:
  1. 编辑网络接口文件
    nano /etc/sysconfig/networkscripts/ifcfgeth0
  2. 添加 DNS 配置
    DNS1=8.8.8.8
    DNS2=8.8.4.4
  3. 重启网络服务
    service network restart

DNS 配置验证

1 使用 nslookup

nslookup www.baidu.com

输出示例

centos7配置dns文件

Name:    www.a.shifen.com
Address: 180.101.49.11

2 使用 dig

dig +short www.google.com @8.8.8.8

输出示例

250.72.196

3 查看 DNS 缓存

/var/lib/NetworkManager/dnsresolver # NetworkManager 缓存目录

高级配置与优化

1 配置 DNS 搜索域

/etc/resolv.conf 中添加:

search example.com # 简化域名输入(如输入 `host` 等效于 `host.example.com`)

2 启用 DNSSEC 验证

/etc/resolv.conf 中添加:

centos7配置dns文件

options edns0 trustanchor=/root/trustanchor.key # 需要下载根密钥文件

3 使用本地 DNS 缓存服务

安装 dnsmasq
yum install dnsmasq y
配置 /etc/dnsmasq.conf
cachesize=1000
noresolv
server=8.8.8.8
启动服务:
systemctl start dnsmasq

常见问题与解决方案

问题描述 解决方案
DNS 解析失败 检查 /etc/resolv.conf 语法错误;确认网络连通性;尝试更换 DNS 服务器
配置不生效 确认修改的是正确配置文件(如 NetworkManager 配置优先于 resolv.conf
域名解析延迟高 添加多个公共 DNS 服务器(如阿里、Google、腾讯);启用本地缓存服务

相关问题与解答

Q1: 如何临时切换 DNS 服务器?

A1: 直接编辑 /etc/resolv.conf,修改后无需重启网络服务即可生效,但此方法在重启后可能被覆盖(需配合永久配置)。

Q2: CentOS 7 中 NetworkManager 与 /etc/resolv.conf 的优先级关系?

A2: NetworkManager 会覆盖 /etc/resolv.conf 的配置,若两者冲突,应以 NetworkManager 的配置文件为准,建议统一通过 NetworkManager 管理 DNS

来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/196015.html

Like (0)
小编小编
Previous 2025年4月29日 20:38
Next 2025年4月29日 20:50

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注