DNS是什么

jimmy 2018年04月01日 2,509次浏览

聊聊DNS相关知识

什么是DNS

DNS是Dimain Name System 的缩写,中文翻译就是领域名称系统,不过还是叫着DNS顺口,就像GDP缩写一样大家都习惯了,没人说Gross Domestic Product 。

DNS本质是一个类似key-value的存储系统,如果那全球的电话来比喻, 他存储的就像姓名和电话号码的映射,没人能记住自己好友的所有联系号码,但是你起码能记住名字,这样你告诉DNS我想要张三的电话号码,DNS就返回你张三的电话号码。但是DNS实际存储的是域名和IP的映射,打电话需要电话号码,网络通信需要IP地址,没人记得百度的IP地址是180.97.33.108 ,但是大家都知道百度的域名是 www.baidu.com ,通过DNS来完成域名和IP地址的映射,我们就无需记住百度的IP也能上网了。

DNS 报文

现在我们来测试下dns的请求和相应都是什么,通过抓包来完成。

在centos执行 ping www.qq.com ,系统将自动进行dns域名解析。从下图可以看出,dns基于udp协议,其中10.10.51.1是我的默认dns代理服务器。序号47是dns请求,序号48是dns相应,序号48是ping的请求,序号52是ping的响应。

请输入图片描述

请输入图片描述

下图是请求报文,查询www.qq.com的A记录

请输入图片描述

下图是响应的结果,www.qq.com对应的IP地址是180.163.26.39

请输入图片描述

DNS的常见类型

A类型:地址记录,这个是最常用的类型,返回域名对应的IP地址,可以配置多个,相当于负载均衡了。
AAAA类型:和A类型类似,返回域名对应的IPv6地址。
CNAME类型:如果需要将域名指向另一个域名,再由另一个域名提供ip地址。和http协议的302状态码有点类似,告诉请求方你需要访问另一个地址。
TXT:在这里可以填写任何东西,长度限制255。绝大多数的TXT记录是用来做SPF记录(反垃圾邮件)。
NS:域名服务器记录,如果需要把子域名交给其他DNS服务商解析,就需要添加NS记录。
MX:如果需要设置邮箱,让邮箱能收到邮件,就需要添加MX记录,比如自己申请了一个域名,想用自己的域名作为邮箱后缀,使用第三方的邮箱服务就需要配置一个MX记录。

详细可参考

DNS配置

进行DNS配置的前提条件你是需要有一个域名,中国的万网,国外的godaddy等等都可以申请。申请一个域名以后我们就可以给这个域名配置解析了,一般域名提供商都会提供一个web管理页面,我们只需要登录上面去配置就可以了。但是我在godaddy购买的域名,我想使用国内的域名解析服务怎么配置呢? 我这里使用的是dnspod的提供的域名解析服务,就需要将dnspod的dns地址F1G1NS1.DNSPOD.NET和F1G1NS2.DNSPOD.NET在godaddy网站输入,这样dnspod就有权限对我购买的域名进行解析了。以后域名服务器收到我的域名解析请求的时候会将请求转发到dnspod的服务器。接下来就需要去dnspod注册个账号,进行域名的各种解析配置了。

这个是dnspod的域名配置页面

请输入图片描述

公共的DNS服务器

当我们进行pppoe拨号上网的时候,运营商会返回两个默认的DNS服务器,但是经常会出现广告,就是当我们解析一个不存在的域名的时候就会跳转到一个广告页面。所以一般我们使用公共DNS,不会出现这个问题。

google: 8.8.8.8 8.8.4.4

IBM:9.9.9.9

opendns: 208.67.222.222 208.67.220.220

114DNS:114.114.114.114 114.114.115.115

阿里DNS: 223.5.5.5 223.6.6.6

百度: 180.76.76.76

DNSPod: 119.29.29.29

如何设置公共DNS

可参考链接

Windows

通过单击「开始」按钮 「开始」按钮的图片,然后单击“控制面板”,打开“网络连接”。 在搜索框中,键入适配器,然后在“网络和共享中心”下,单击“查看网络连接”

右键单击要更改的连接,然后单击“属性”。 需要管理员权限 如果系统提示您输入管理员密码或进行确认,请键入该密码或提供确认

单击“联网”选项卡。在“此连接使用下列项目”下,单击“Internet 协议版本 4 (TCP/IPv4)”或“Internet 协议版本 6 (TCP/IPv6)”,然后单击“属性”

![请输入图片描述][13]

单击“使用下面的 DNS 服务器地址”,然后在“首选 DNS 服务器”和“备用 DNS 服务器”框中,键入主 DNS 服务器和辅助 DNS 服务器的地址