罕用的 DNS 记录
CNAME
可能须要先大略介绍一下什么是 CNAME:一个域名能够有两种类型的指向,如果一个 域名指向 称为一个 记录(Record)的话,那么就有两种 记录类型(Record Type),别离是:
A 记录:指向一个 IP 地址
CNAME:指向一个其余的域名
DNS records
CNAME 设置
这里有两条 A 记录,一条 CNAME。两条 A 记录指向的就是我的博客所在的 VPS:第二条容易了解,就是将 www.zhouliang.pro 指向了 VPS 的 IP 地址,这样你应用 http://www.zhouliang.pro 就能够拜访我的博客了;第一条有点奇怪,这里是一个泛域名,也就是将 zhouliang.pro 也指向了这个 IP 地址,也就是说你用 http://zhouliang.pro 也能够间接拜访我的博客。
彩蛋:买域名的时候特地留神服务商是不是提供收费的泛域名解析服务,不提供的都是耍流氓,据我所知,万网就是在耍流氓。
第三条记录就是一个 CNAME 指向,兴许你曾经在浏览器中关上了 http://i.zhouliang.pro,我将 i.zhouliang.pro 转向了网易轻博客服务,放了几张照片,你们感受一下,小清爽有木有。
dig 命令
学习 Linux 命令只有一条路,那就是:man dig,到控制台敲一下这个命令,输入略长。本文的目标是先大抵介绍一下,深刻理解还是得细读 man dig。
在控制台输出,输入后果如下:
$ dig i.zhouliang.pro
; <<>> DiG 9.8.3-P1 <<>> i.zhouliang.pro
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45515
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;i.zhouliang.pro. IN A
;; ANSWER SECTION:
i.zhouliang.pro. 14400 IN CNAME mydomain.lofter.com.
mydomain.lofter.com. 18000 IN A 54.248.125.234
;; Query time: 211 msec
;; SERVER: 192.168.106.1#53(192.168.106.1)
;; WHEN: Fri Jan 24 00:43:26 2014
;; MSG SIZE rcvd: 82
输入后果大抵分成 4 个局部,实际上可能还包含更多的内容,总共会有以下 6 个局部:
Dig 命令的输入剖析
Header : 包含软件版本,全局变量以及除音讯头以外的其余局部的信息,比方上例中,显示有 1 个 QUERY,2 个 ANSWER
QUESTION SECTION : 申请参数信息,也就是你的输出
ANSWER SECTION : 从 DNS 查问到的信息,也就是输入,显示 i.zhouliang.pro 是 CNAME,指向 mydomain.lofter.com,而后者是一个 A 记录,指向一个 IP 地址
AUTHORITY SECTION : 蕴含 DNS 域名服务器的受权信息,上例中不蕴含这一部分,如果用这个命令就能够看到 dig @ns1.redhat.com redhat.com,这里的 @ 符号用于指定查问所应用的 DNS 服务器
ADDITIONAL SECTION : 蕴含 AUTHORITY SECTION 中的域名服务器的 IP 地址,同样,上例中也不蕴含这一部分
Stats section : 最下方的一部分,显示了查问工夫等额定信息
另外,下面所有的以 ; 结尾的行实际上都是正文。
能够通过上面的参数来管制显示或者不显示下面的这些局部:
+nocomments – 不显示正文
+noauthority – 不显示 AUTHORITY SECTION
+noadditional – 不显示 ADDITIONAL SECTION
+nostats – 不显示 Stats section
+noanswer – 不显示 ANSWER SECTION
+noall – 不显示所有的信息,个别会这样用 dig zhouliang.pro +noall +answer
和下面参数对应还有 +comments,+answer 等,后文有示例,此处不赘述。另外,还有如下两个参数须要理解:
+short – 显示简短的信息
-t 指定查问的记录类型,能够是 CNAME、A、MX、NS,别离示意 CNAME、A 记录、MX 记录、DNS 服务器,默认是 A
-x 示意反向查找,也就是依据 IP 地址查找域名
dig 命令示例
上面来举几个实用的例子。
1. 查看域名
$ dig i.zhouliang.pro +noall +anwser
; <<>> DiG 9.8.3-P1 <<>> i.zhouliang.pro +noall +answer
;; global options: +cmd
i.zhouliang.pro. 10034 IN CNAME mydomain.lofter.com.
mydomain.lofter.com. 9183 IN A 54.248.125.234
特地留神这里输入了两行,第一行是 CNAME,先将 i.zhouliang.pro 解析成 mydomain.lofter.com,第二行是 A 记录,将 mydomain.lofter.com 解析成 IP 地址。这是一个残缺的域名解析过程。
2. 查找域名的 MX 记录:
$ dig zhouliang.pro -t MX +short
10 mxdomain.qq.com.
从输入能够看出,我用了 QQ 提供的域名邮箱服务。
3. 查找域名对应的 CNAME:
$ dig i.zhouliang.pro -t CNAME +short
mydomain.lofter.com.
从输入能够看出,我用了网易 Loft 提供的博客服务。另外,这个办法刚好解答了本文结尾所提到的那个问题。
4. 依据 IP 地址反向查找域名
$ dig -x 8.8.8.8 +short
; <<>> DiG 9.8.3-P1 <<>> -x 8.8.8.8 +noall +answer
;; global options: +cmd
8.8.8.8.in-addr.arpa. 79605 IN PTR google-public-dns-a.google.com.
从输入能够看出,Google 的这个 DNS 服务器有个域名叫做 google-public-dns-a.google.com
5. 查问域名的解析 DNS 服务器地址
$ dig zhouliang.pro ns +short
ns15.bigwww.com.
ns13.bigwww.com.
how to use dig to query DNS
Understanding DNS with dig command
Dig dns txt record