mirror of
https://github.com/ZSCNetSupportDept/website.git
synced 2025-12-26 21:11:12 +08:00
78 lines
3.7 KiB
Markdown
78 lines
3.7 KiB
Markdown
---
|
||
|
||
description: DNS是什么,我们的日常工作中有什么和DNS有关系?
|
||
|
||
---
|
||
|
||
# DNS
|
||
## 背景知识
|
||
|
||
因为计算机网络上的计算机彼此之间只能用 IP 地址才能相互识别,这就导致了一个问题,IP 地址很难被人们记住,举个例子,我们中山学院网络维护科的官网的 IP 地址是 `47.52.33.166` ,记住这个 IP 地址是困难的。
|
||
|
||
于是互联网的前辈们想了一个方法,用域名来进行访问,例如访问 `www.zsxyww.com` 就可以访问到网维的官网,不需要去记住 IP 地址了,`www.zsxyww.com` 这个有意义的字段很容易记住(中山学院网维的拼音缩写嘛)。
|
||
|
||
然后问题就来了:计算机之间只能用 IP 地址识别,我们使用域名,计算机没法识别怎么办?
|
||
|
||
对于这个问题,互联网前辈们想了个法子,使用 DNS 服务器作为一个中介,我们使用浏览器访问 `www.zsxyww.com` 的时候,会先请求 DNS 服务器获取该域名对应的计算机的 IP 地址,然后与该 IP 地址对应的计算机(网维服务器)沟通。
|
||
|
||
## 定义
|
||
|
||
DNS 是进行域名和与之相对应的 IP 地址转换的服务器。DNS 中保存了一张域名和与之相对应的 IP 地址的表,以解析消息的域名。
|
||
|
||
简单来说就是 DNS 是一个服务器,能够返回域名对应的服务器的 IP 地址。
|
||
|
||
## 需要理解的简单的浏览器工作机制
|
||
|
||

|
||
|
||
## 缓存机制
|
||
|
||
为了节约资源及加快速度,互联网前辈还想了个 DNS 缓存机制。
|
||
|
||
计算机会按照下列顺序方式进行查询
|
||
1. 浏览器缓存
|
||
2. 操作系统缓存
|
||
3. 各级 DNS 服务器(这边也有缓存)
|
||
|
||
## 日常工作相关
|
||
|
||
- 怎么判断是否是 DNS 的问题?
|
||
|
||
特征就是使用 IP 地址能够正常访问(例如 QQ),而使用域名访问却没法访问。
|
||
|
||
一般来说遇到的会是所有域名都没法访问,不过偶尔也会遇到部分域名能访问,部分域名没法访问的情况。
|
||
|
||
- 怎么查询本地 DNS 缓存?
|
||
|
||
- 查询浏览器缓存
|
||
- Chrome 浏览器访问 `chrome://net-internals/#dns`,可查询浏览器缓存
|
||
- 同理,基于Chromium内核的浏览器(比如Brave,Edge...)也可以使用。需要查询对应的协议段代号。如Edge对应`edge://net-internals/#dns`
|
||
- Firefox(Gecko)需要在地址栏输入:`about:networking#dns`
|
||
- Safari需要按如下步骤操作:`偏好设置` --> `高级`,`在菜单栏中显示 “开发” 菜单`,随后在顶栏的`开发`菜单中进行操作
|
||
需要注意的是,对于Safari来说,其更依赖MacOS的DNS缓存。
|
||
- 查询操作系统缓存
|
||
- Windows 系统 使用命令 `ipconfig /displaydns` 查询,可以使用 `ipconfig /flushdns` 清除操作系统缓存
|
||
- macOS 系统不同版本的清除方法不同,可以尝试:
|
||
`sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder`
|
||
适用于macOS 10.15 (Catalina)以上
|
||
- Linux 系统根据发行版的不同也有着不同的清除方法。可以尝试以下命令:
|
||
`sudo resolvectl flush-caches`
|
||
`sudo /etc/init.d/nscd restart`
|
||
`sudo systemctl restart dnsmasq`
|
||
刷新 DNS 缓存后,可以使用 dig 命令验证缓存是否已成功清除:
|
||
`dig baidu.com `
|
||
如果查询时间值大于 0 毫秒,则缓存已成功清除。
|
||
|
||
- 怎么解决 DNS 的问题?
|
||
|
||
更换 DNS 服务器、使用神器清除本机 DNS 缓存即可。
|
||
|
||
常见的 DNS 服务器地址:
|
||
|
||
```text
|
||
8.8.8.8 Google(不推荐作为主 DNS 服务器,可以作为次 DNS 服务器)
|
||
114.114.114.114 114(疑似存在劫持?)
|
||
223.5.5.5 223.6.6.6 阿里
|
||
119.29.29.29 腾讯
|
||
```
|