DNS 记录
学到这里,我们来看看一个 DNS 记录具体长什么样子:
纯文本即可。IN 代表记录用于互联网,是 Intenet 的缩写。在历史上 Internet 起源于阿帕网,在同时代有很多竞争的网络,IN 这个描述也就保留了下来。
要解析的域名。A 是记录的类型,A 记录代表着这是一条用于解析 IPv4 地址的记录。从这条记录可知, IP 地址是 139.18.28.5。;是语句块的结尾,也是注释。
那么除了 A 记录,还有哪些 DNS 记录的类型呢?DNS 记录的类型非常多,有 30 多种。其中比较常见的有 A、AAAA、CNAME、MX,以及 NS 等。接下来我为你一个个介绍。
CNAME
CNAME(Canonical Name Record)用于定义域名的别名,如下面这条 DNS 记录:
// 定义的别名
. IN CNAME .
这条 DNS 记录定义了 是 的别名。用户在浏览器中输入 时候,通过 DNS 查询会知道 是 的别名,因此需要实际 IP 的时候,会去拿 的 A 记录。
这样用户如果在浏览器中输入 实际打开的就是 。因为走的是 DNS 查询的路径,速度很快(因为有缓存),不需要 HTTP 重定向等操作。
当你想把一个网站迁移到新域名,旧域名仍然保留的时候;还有当你想将自己的静态资源放到 CDN 上的时候,CNAME 就非常有用。
AAAA 记录
前面我们提到,A 记录是域名和 IPv4 地址的映射关系。和 A 记录类似,AAAA 记录则是域名和 IPv6 地址的映射关系。
MX 记录(Mail Exchanger Record)
MX 记录是邮件记录,用来描述邮件服务器的域名。
在工作中,我们经常会发邮件到某个同事的邮箱。比如说,发送一封邮件到 xiaoming@,那么拉勾网如何知道哪个 IP 地址是邮件服务器呢?
这个时候就可以用到下面这条 MX 记录:
IN MX mail.
这样凡是 @lagou 的邮件都会发送到 mail. 中,而 mail. 的 IP 地址可以通过查询 mail. 的 A 记录和 AAAA 记录获得。
NS 记录
NS(Name Server)记录是描述 DNS 服务器网址。从 DNS 的存储结构上说,Name Server 中含有权威 DNS 服务的目录。也就是说,NS 记录指定哪台 Server 是回答 DNS 查询的权威域名服务器。
当一个 DNS 查询看到 NS 记录的时候,会再去 NS 记录配置的 DNS 服务器查询,得到最终的记录。如下面这个例子:
. IN NS ns1..
. IN NS ns2..
当解析 地址时,我们看到 有两个 NS 记录,所以确定最终 的记录在 ns1. 和 ns2. 上。从设计上看,ns1 和 ns2 是网站 提供的智能 DNS 服务器,可以提供负载均衡、分布式 Sharding 等服务。比如当一个北京的用户想要访问 的时候,ns1 看到这是一个北京的 IP 就返回一个离北京最近的机房 IP。
上面代码中 配置了两个 NS 记录。通常 NS 不会只有一个,这是为了保证高可用,一个挂了另一个还能继续服务。通常数字小的 NS 记录优先级更高,也就是 ns1 会优先于 ns2 响应。配置了上面的 NS 记录后,如果还配置了 的 A 记录,那么这个 A 记录会被 NS 记录覆盖。
整理自:《计算机网络通关29讲》