5154

Good Luck To You!

如何打开dns配置文件

nux用sudo vi/nano /etc/resolv.conf;Windows在C:\Windows\System32\drivers\etc找文件并用记事本打开;macOS用文本编辑器开/etc/resolv.conf

Linux系统下的DNS配置

全局配置文件(以CentOS/RHEL为例)

  • 路径: /etc/named.conf
    这是BIND DNS服务的主配置文件,用于定义服务的整体行为。
    操作命令:
    sudo vi /etc/named.conf

    🔍 关键修改点: 将默认监听地址从localhost改为any以允许外部访问。
    ⚠️ 注意保存后需重启服务:systemctl restart named.service

区域文件配置

  • 正向解析域(如example.com):
    复制模板并编辑:
    cd /var/named; cp named.localhost example.com.zone
    vi example.com.zone

    📝 添加记录格式示例:

    IN NS dns.example.com.      ;指定权威NS
    A 192.168.1.100             ;对应IP地址
  • 反向解析域(IP反查域名):
    同理创建反向区域文件并设置PTR记录。

权限问题排查

若出现解析失败错误(如“UnKnown”),可能是文件权限不足导致,此时需执行:

   chown R root.named example.com.zone

Ubuntu系统的DNS管理方式

方法 适用版本 操作命令 特点
直接编辑/etc/resolv.conf 旧版 sudo nano /etc/resolv.conf 简单直接但可能被动态覆盖
Netplan(推荐) Ubuntu≥22.04 修改YAML文件→netplan apply 系统级持久化配置
Systemdresolved Ubuntu≥22.04 禁用该服务后手动指定DNS 避免与Netplan冲突

📌 示例:通过Netplan设置DNS

  1. 创建或编辑配置文件:sudo nano /etc/netplan/99_custom.yaml 如下:
    network:
      version: 2
      renderer: networkd
      ethernets:
        eth0:
          dhcp4: no
          addresses: [192.168.1.5/24]
          dns: [8.8.8.8, 8.8.4.4]  # Google公共DNS
  2. 应用配置:sudo netplan apply

Windows系统的DNS设置

图形界面配置

  • 步骤:
    右键点击任务栏网络图标→“打开网络和Internet设置”→更改适配器选项→选中当前连接→属性→双击IPv4协议→手动输入首选/备用DNS服务器地址(如8.8.8)。
    ✔️ 验证命令: ipconfig /all查看是否生效;ipconfig /flushdns刷新缓存。

命令行工具(高级用户)

使用netsh实现自动化管理:

   netsh dnsclient add dnsserver name="本地连接" address=8.8.8.8 index=1 validate=yes

参数说明见下表:

参数 作用 示例值
add 添加新的DNS服务器 add dnsserver
set 修改现有配置 set dnsserver source=static
delete 删除指定服务器 delete dnsserver address=8.8.8.8
show 显示当前所有设置 show state

Hosts文件本地映射

路径:C:\Windows\System32\drivers\etc\hosts
格式示例:

   192.168.1.100 mywebsite.local

💡 此方法可绕过DNS直接解析特定主机名,常用于测试环境。


常见问题与解答

Q1: Ubuntu修改/etc/resolv.conf后为何不生效?

A: 因为Ubuntu 22.04+默认使用systemdresolved动态生成该文件,解决方案是改用Netplan或禁用该服务:

sudo systemctl stop systemdresolved && sudo systemctl disable systemdresolved

然后通过Netplan永久配置DNS。

Q2: Windows中设置了正确的DNS却无法解析域名?

A: 可能原因包括:①防火墙阻止了UDP/TCP端口(默认53);②路由器未转发请求到外网DNS;③存在陈旧缓存,建议依次执行以下操作:

  1. 以管理员身份运行CMD,执行ipconfig /flushdns
  2. 暂时关闭防火墙测试;
  3. 检查路由器的DNS转发功能是否开启。

跨平台小编总结对比表

操作系统 主要配置文件路径 推荐工具 备注
Linux (CentOS) /etc/named.conf, /var/named/*.zone vi, systemctl BIND服务需手动启动
Ubuntu /etc/netplan/*.yaml netplan apply 现代版本优先使用Netplan
Windows 注册表、hosts文件 netsh, 控制面板 图形界面适合基础需求
通用应急手段 Hosts文件静态映射 文本编辑器 快速定位问题,但不适合大规模部署

通过以上步骤,您可以根据实际需求在不同系统中灵活配置DNS,对于生产环境,建议优先使用系统提供的标准化工具(如Netplan或BIND),以确保稳定性和

发表评论:

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

Powered By Z-BlogPHP 1.7.3

Copyright Your WebSite.Some Rights Reserved.