DNS
Domain Name System
域名和IP地址相互映射的一个分布式数据库。
记录类型
- 主机记录(A记录):特定的主机名映射到对应主机的IP地址
- 别名记录:将某个别名映射到A记录上,不需要再次重新映射到新IP上。
- IPV6主机记录(AAAA记录):与A记录对应,用于将特定的主机名映射到一个主机的IPV6地址。这应该是区别于早期大量使用的IPV4。
域名解析
- 把域名指向空间网站IP;
- 由域名服务器DNS完成;
为了缓解缓解网络上的流量压力,一般的域名服务器都会把上游的解析记录暂存下来,以供下次可以立即提供服务,这种服务器被称为非权威应答。
比如,我现在需要访问onedrive。
nsloopup onedrive.live.com
出现
服务器: public1.114dns.com
Address: 114.114.114.114
非权威应答:
名称: l-0004.l-msedge.net
Address: 13.107.42.13
Aliases: onedrive.live.com
odc-web-geo.onedrive.akadns.net
odc-web-brs.onedrive.akadns.net
odwebpl.trafficmanager.net.l-0004.dc-msedge.net.l-0004.l-msedge.net
用google的dns服务器查看:
nsloopup onedrive.live.com 8.8.8.8
出现:
服务器: google-public-dns-a.google.com
Address: 8.8.8.8
DNS request timed out.
timeout was 2 seconds.
名称: onedrive.live.com
Address: 204.155.146.93
DNS污染
一般,连上互联网的电脑都会使用互联网服务供应商提供的域名服务器,通常都会将客户曾经请求过的域名。而局域(相对而言)的网络服务供应商提供的缓存解析记录 会有可能有意无意的受到纂改,从而导致客服对某些域名无法正确的访问。
解决方法
真正的dns解析:
https://dns.google.com/
onedrive.live.com 8.8.8.8
8.8.8.8 是谷歌的DNS服务器。
{
"Status": 0,
"TC": false,
"RD": true,
"RA": true,
"AD": false,
"CD": false,
"Question": [
{
"name": "onedrive.live.com.",
"type": 1
}
],
"Answer": [
{
"name": "onedrive.live.com.",
"type": 5,
"TTL": 111,
"data": "odc-web-geo.onedrive.akadns.net."
},
{
"name": "odc-web-geo.onedrive.akadns.net.",
"type": 5,
"TTL": 232,
"data": "odc-web-brs.onedrive.akadns.net."
},
{
"name": "odc-web-brs.onedrive.akadns.net.",
"type": 5,
"TTL": 232,
"data": "odwebpl.trafficmanager.net.l-0004.dc-msedge.net.l-0004.l-msedge.net."
},
{
"name": "odwebpl.trafficmanager.net.l-0004.dc-msedge.net.l-0004.l-msedge.net.",
"type": 5,
"TTL": 114,
"data": "l-0004.l-msedge.net."
},
{
"name": "l-0004.l-msedge.net.",
"type": 1,
"TTL": 114,
"data": "13.107.42.13"
}
]
}
其中的data就是真正的IP:“data”: “13.107.42.13”(当然排除dns.google.com网站被劫持后)
我们需要在onedrive的解析文件hosts增加:
13.107.42.13 onedrive.live.com
结果
还是解决不了lol。。。晕死