586 字
3 分钟

DNS

2026-07-23
浏览量 加载中...

DNS 是什么?#

它的作用是把域名:

www.baidu.com

转换成计算机通信所需要的 IP 地址:

110.242.68.66

DNS 查询大概怎么进行?#

执行:

Terminal window
ping www.baidu.com

系统需要先查到 www.baidu.com 的 IP:

程序
检查 /etc/hosts
询问 DNS 服务器
获得 IP 地址
连接该 IP

当然了,更完整的 DNS 查询可能涉及:

本机 → DNS 递归服务器 → 根 DNS → .com DNS → baidu.com 权威 DNS

/etc/resolv.conf#

这是 Linux 中常见的 DNS 解析配置文件

查看:

Terminal window
cat /etc/resolv.conf

看到:

nameserver 127.0.0.53
search localdomain
options edns0

nameserver#

nameserver 8.8.8.8

表示系统查询域名时,向 8.8.8.8 这台 DNS 服务器询问。

常见公共 DNS:

8.8.8.8 Google DNS
1.1.1.1 Cloudflare DNS
223.5.5.5 阿里公共 DNS
119.29.29.29 腾讯公共 DNS
nameserver 127.0.0.11

这是 Docker 提供的内部 DNS。

例如:

search example.com

当你查询:

Terminal window
ping server

系统可能尝试查询:

server.example.com

/etc/hosts#

/etc/hosts 是本机的静态域名映射文件。

查看:

Terminal window
cat /etc/hosts

常见内容:

127.0.0.1 localhost
::1 localhost

格式:

IP地址 域名

例如加入:

192.168.1.20 test.local

以后执行:

Terminal window
ping test.local

系统会把它解析为:

192.168.1.20

这就是涉及一个dns优先解析的说法了,之前大学长给我提一个在白宫官网挂黑页的时候,我一开始就是学习到了这个方法,就是让白宫这个域名指向我们本地弄好的黑页网站。

通常系统会先查询 /etc/hosts,再查询 DNS。

dig#

功能最完整,适合查看 DNS 详细信息:

Terminal window
dig baidu.com

只看返回的 IP:

Terminal window
dig +short baidu.com

可能输出:

110.242.68.66
39.156.66.10

指定 DNS 服务器查询:

Terminal window
dig @8.8.8.8 baidu.com

其中:

@8.8.8.8

表示向 8.8.8.8 查询。

nslookup#

比较容易使用:

Terminal window
nslookup baidu.com

可能显示:

Server: 127.0.0.53
Address: 127.0.0.53
Name: baidu.com
Address: 110.242.68.66

其中:

  • Server:当前使用的 DNS 服务器
  • Name:查询的域名
  • Address:解析出的 IP

指定服务器:

Terminal window
nslookup baidu.com 8.8.8.8

host#

输出比较简洁:

Terminal window
host baidu.com

可能显示:

baidu.com has address 110.242.68.66

反向查询 IP 对应的域名:

Terminal window
host 8.8.8.8

常见 DNS 记录类型#

类型作用
A域名指向 IPv4 地址
AAAA域名指向 IPv6 地址
CNAME域名指向另一个域名
MX邮件服务器
NS域名使用的 DNS 服务器
TXT文本信息、域名验证等
PTRIP 反向解析为域名

查询指定记录:

Terminal window
dig baidu.com A
dig baidu.com AAAA
dig baidu.com MX
dig baidu.com NS
dig baidu.com TXT

image-20260723184148397


  • 版权声明:本文由 余林阳 创作,转载请注明出处。

喜欢这篇文章吗?

点击右侧按钮为文章点赞,让更多人看到!

DNS
https://sliver-yu.cc/posts/知识点/dns/
作者
余林阳
发布于
2026-07-23
许可协议
CC BY-NC-SA 4.0

评论区

目录