5154

Good Luck To You!

查询linux系统dns在哪里

Linux系统DNS配置主要位于/etc/resolv.conf,由nameserver指令指定,若使用NetworkManager,则需通过nmcli或图形界面修改连接

Linux系统DNS配置详解

DNS配置文件核心位置

/etc/resolv.conf 文件

参数 说明
nameserver 指定DNS服务器IP地址(可配置多个)
search 定义本地域名后缀(可选)
options 设置DNS查询选项(如ndots参数控制点分隔符解析规则)

示例文件内容:

查询linux系统dns在哪里

# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 8.8.4.4
search example.com
options ndots:1

特殊说明

  • 文件特性:系统启动时自动生成,可能被网络管理工具覆盖
  • 权限要求:需root权限修改
  • 生效方式:修改后立即生效(无需重启服务)

主流发行版DNS管理方式

Debian/Ubuntu系

管理工具 配置文件路径 特点
NetworkManager /etc/NetworkManager/NetworkManager.conf 图形化界面优先,支持多连接独立配置
resolvconf /etc/resolvconf/resolv.conf.d/ 传统方式,已逐步被弃用

RedHat/CentOS系

管理工具 配置文件路径 特点
NetworkManager /etc/sysconfig/networkscripts/ifcfg* 网络脚本集中管理
systemdresolved /etc/systemd/resolved.conf 现代系统默认DNS解析器

ArchLinux系

管理工具 配置文件路径 特点
netctl /etc/netctl/<profile> 纯文本配置文件管理
systemdresolved /etc/systemd/resolved.conf 与systemd集成度高

DNS管理工具操作指南

NetworkManager操作

# 查看当前DNS配置
nmcli dev show | grep DNS
# 临时添加DNS服务器
nmcli con mod "Wired connection" ipv4.dns "8.8.8.8"
# 永久修改DNS配置
echo e "[connection]
interfacename=eth0
dns=8.8.8.8" >> /etc/NetworkManager/systemconnections/eth0.nmconnection

systemdresolved配置

# 修改配置文件
vim /etc/systemd/resolved.conf
# 添加以下内容:
[Resolve]
DNS=8.8.8.8
DNS=8.8.4.4
Domain~.=example.com
# 重新加载配置
systemctl restart systemdresolved

传统方式直接修改

# 编辑配置文件
vim /etc/resolv.conf
# 添加DNS服务器
nameserver 114.114.114.114
nameserver 1.1.1.1

DNS故障排查流程

基础检查命令

命令 功能说明
dig www.baidu.com 测试DNS解析过程
nslookup 交互式DNS查询工具
systemdresolve status 查看systemdresolved服务状态(如果启用)
journalctl u named 查看DNS服务日志(适用于运行named服务的系统)

常见问题解决方案

症状 可能原因 解决方案
无法解析域名 DNS服务器配置错误/网络中断 检查/etc/resolv.conf配置
测试网络连通性ping 8.8.8.8
解析结果不正确 缓存未更新/搜索域配置错误 清除DNS缓存systemdresolve flushcaches
检查search参数配置
DNS服务启动失败 端口被占用/配置文件语法错误 检查named服务状态
验证配置文件语法

高级配置技巧

多DNS服务器策略

# 配置多个备用DNS服务器(按优先级排序)
nameserver 1.1.1.1      # Cloudflare公共DNS
nameserver 8.8.8.8      # Google公共DNS
nameserver 114.114.114.114 # 阿里公共DNS

自定义搜索域

# 添加本地搜索域
search local.domain
# 配置域名生成规则(ndots参数)
options ndots:2          # 当主机名包含至少2个点时才进行完整域名查询

安全增强配置

# 启用DNSSEC验证(需要上游支持)
options edns0 trustad

相关问题与解答

Q1:如何彻底清除Linux系统的DNS缓存?

A:根据系统使用的DNS解析服务选择对应命令:

查询linux系统dns在哪里

  • systemdresolved: systemdresolve flushcaches
  • nscd: sudo systemctl restart nscd
  • 无缓存服务: 直接删除/var/cache/ldns/目录下的缓存文件

Q2:修改DNS配置后不生效怎么办?

A:按以下步骤排查:

查询linux系统dns在哪里

  1. 检查配置文件:确认/etc/resolv.conf或对应管理工具配置已正确修改
  2. 重启相关服务
    • NetworkManager: systemctl restart NetworkManager
    • systemdresolved: systemctl restart systemdresolved
  3. 验证网络连接:使用ping测试DNS服务器连通性
  4. 检查防火墙:确保UDP 53端口未被阻断(`firewallcmd list

发表评论:

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

«    2025年6月    »
1
2345678
9101112131415
16171819202122
23242526272829
30
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.