centos网络dns配置文件

CentOS网络DNS配置文件为/etc/resolv.conf或/etc/sysconfig/networkscripts/

CentOS网络DNS配置文件详解

DNS基础概念

1 什么是DNS

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

2 DNS工作流程

  1. 客户端发起域名解析请求
  2. 系统查询本地DNS配置文件
  3. 逐级查询DNS服务器直至获取结果
  4. 返回IP地址并建立连接

核心配置文件解析

1 /etc/resolv.conf文件

参数 说明 示例
nameserver 指定DNS服务器地址 nameserver 8.8.8.8
search 定义域名后缀搜索域 search example.com
options 设置DNS查询选项 options ndots:2

典型配置示例:

# 默认DNS服务器配置
nameserver 114.114.114.114
nameserver 8.8.8.8
search localdomain
options singlerequestreopen

2 网络接口配置文件

路径:/etc/sysconfig/networkscripts/ifcfg[接口名]

参数 说明 取值示例
DEVICE 网络接口名称 eth0
BOOTPROTO 启动协议类型 static/dhcp
IPADDR IP地址 168.1.100
NETMASK 子网掩码 255.255.0
GATEWAY 默认网关 168.1.1
DNS1 主DNS服务器 8.8.8
DNS2 备用DNS服务器 8.4.4
DEFDOMAIN 默认搜索域 local.net
PEERDNS 是否使用对端DNS配置 no/yes
PEERROUTES 是否使用对端路由配置 no/yes

完整配置示例:

DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
DEFDOMAIN=local.net
PEERDNS=no
PEERROUTES=no
ONBOOT=yes

%ignore_a_3% NetworkManager配置

路径:/etc/NetworkManager/systemconnections/[连接名称].nmconnection

centos网络dns配置文件

关键字段:

  • [ethernet][wireless] 段下的dns配置
  • dns 数组参数(优先于/etc/resolv.conf)
  • ignoreautodns 参数控制是否忽略DHCP分配的DNS

配置片段示例:

[ethernet]
...
dns=["114.114.114.114", "223.5.5.5"];
ignoreautodns=true;
...

静态与动态配置方式

1 静态配置方法

  1. 直接编辑/etc/resolv.conf
  2. 修改网络接口配置文件中的DNS参数
  3. 通过NetworkManager图形界面配置

2 动态配置场景

当BOOTPROTO=dhcp时:

  • DNS服务器由DHCP服务器自动分配
  • 记录保存在/var/lib/dhclient/*目录
  • 需设置PEERDNS=yes启用自动分配的DNS

配置验证与排错

1 验证命令集锦

命令 功能说明 示例输出
cat /etc/resolv.conf 查看当前DNS配置 nameserver 8.8.8.8
nmcli connection show 查看NetworkManager配置 DNS: 8.8.8.8, 8.8.4.4
systemctl status network 检查网络服务状态 active (running)
nslookup www.baidu.com 测试域名解析 125.114.114
dig +short github.com 快速查询IP地址 82.121.4
hostname I 显示所有IP地址 168.1.100

2 常见问题解决方案

问题1:DNS配置不生效

centos网络dns配置文件

  • 检查/etc/resolv.conf权限(应为root:root 644)
  • 确认NetworkManager未覆盖配置(设置managed=false
  • 重启网络服务:systemctl restart network

问题2:域名解析延迟高

  • 更换公共DNS服务器(推荐阿里DNS 223.5.5.5)
  • 增加DNS服务器数量(最多3个)
  • 检查防火墙设置(放行UDP 53端口)

高级配置技巧

1 自定义DNS搜索域

通过/etc/resolv.confsearch参数或网络脚本的DEFDOMAIN参数,可实现:

  • 简化域名输入(如输入server相当于server.local.net
  • 多搜索域配置格式:search local.net example.com

2 DNS缓存配置

编辑/etc/sysctl.conf

# 增加以下参数
vm.namecache_size=1500
vm.dirty_ratio=10

应用配置:sysctl p

centos网络dns配置文件

常见问题与解答

Q1:如何永久设置Google公共DNS?

解答步骤:

  1. 编辑网络接口配置文件:
    vi /etc/sysconfig/networkscripts/ifcfgeth0
  2. 添加/修改以下参数:
    DNS1=8.8.8.8
    DNS2=8.8.4.4
  3. 重启网络服务:
    systemctl restart network
  4. 验证配置:
    cat /etc/resolv.conf

Q2:NetworkManager总是覆盖我的DNS配置怎么办?

解决方法:

  1. 打开NetworkManager配置文件:
    vi /etc/NetworkManager/NetworkManager.conf
  2. 添加以下内容:
    [main]
    dns=none
  3. 重启NetworkManager服务:
    systemctl restart NetworkManager
  4. 手动编辑`/etc/resolv

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

Like (0)
小编小编
Previous 2025年5月7日 19:38
Next 2025年5月7日 19:47

相关推荐

发表回复

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