一、FQDN
了解域名,首先需要了解FQDN,它的全称是Fully qualified domain name。
二、DNS记录类型
DNS记录包含以下类型:
A, AAAA, CNAME, MX, NS, TXT, PTR, SRV, SOA
1. A记录---Address record(IPv4)
格式:[FQDN] IN A [IP地址]
例子:ns1.exmaple.com. IN A 192.168.0.1
查询:nslookup -qt=A example.com (Windows)
nslookup -q=A example.com (Linux,务必注意Linux下类型参数为-q而不是-qt,下同)
A就是Address的首字母,这种记录就是将域名映射到一个IPv4地址上,这也是最常用的DNS记录类型。
A记录必须指向一个IP地址,不能指向另一个DNS记录。
此外,A记录还可用于email路由,比如一个域名的MX记录可以指向一个A记录,这个A记录指向该域名邮件服务器的IP地址。
2. AAAA记录---Address record(IPv6)
格式:[FQDN] IN AAAA [IP地址]
例子:ns1.exmaple.com. IN AAAA 8fe0::8f61:ac8:30cd:a16e
查询:nslookup -qt=AAAA example.com
与A记录类似,AAAA记录是将域名映射到IPv6地址上。
3. CNAME记录---Canonical name record
格式:[域名1別名] IN CNAME [域名1]
例子:sub.example.com. IN CNAME my.example.com.
查询:nslookup -qt=CNAME sub.example.com
CNAME记录就是别名记录,一个常用的例子是将短域名指向www域名,比如: example.com IN CNAME www.example.com
4. MX记录---Mail exchange record
格式:[FQDN] IN MX [优先级] [邮件服务器]
例子:example.com. IN MX 10 mail.example.com.
mail.example.com. IN A 10.8.0.1
查询:nslookup -qt=MX sub.example.com
MX记录是DNS中非常重要的一类记录,它用于email邮箱地址解析。如果没有配置example.com的MX记录,那么发往example.com域名的所有邮件均无法送达。
注意:
(1) MX记录中的优先级数值越低,它的优先级越高;
(2) 可以配置多个MX记录,邮件送达时首选优先级最高的邮件服务器,如果该邮件服务器不可用,则选择次高优先级的服务器。
网易邮箱的配置:
5. NS记录---Name server record
格式:[FQDN] IN NS [DNS服务器]
例子:example.com. IN NS ns1.example.com.
查询:nslookup -qt=NS example.com
Name server用于存储DNS记录并将其信息提供给需要查询的客户端。当创建一个DNS服务时,需要创建一个NS记录。
NS记录将会为DNS服务指定名称和IP地址,一条NS记录可以包含多个DNS服务器。
163.com的NS配置:
6. TXT记录---Text record
格式:[FQDN] IN TXT [任意字符串]
例子:ns1.exmaple.com. IN TXT "联系电话:XXXX"
查询:nslookup -qt=TXT example.com
TXT记录用于存储一些文本数据,这种类型的DNS记录可被用于校验域名所有者。
当为一个域名(比如example.com)添加一个TXT记录时,需要指定doamin,TTL和value:
(1) domain:TXT所对应的域名;
(2) TTL:time to live,DNS服务器用于缓存该TXT记录的时间;
(3) value:TXT的文本信息。
添加TXT记录48小时候会在全网生效。
baidu.com的TXT配置:
7. PTR记录---Pointer record
格式:[IP] IN PTR [FQDN]
例子:10.8.0.1 IN PTR example.com.
查询:nslookup -qt=PTR 208.67.222.222
与上面提到的域名与IP的映射相反,PTR记录是将IP地址映射为域名,主要用于反向解析。
208.67.222.222的PTR配置:
8. SOA记录---Start of Authority record
格式:@ IN SOA [NS name] (
2023010801 ;Serial number
12h ;Refresh
15m ;Retry every 15 minutes
3w ;Expire
2h ;Minimum TTL
)
例子:@ IN SOA ns.example.com. (
2023010801 ;Serial number
12h ;Refresh
15m ;Retry every 15 minutes
3w ;Expire
2h ;Minimum TTL
)
查询:nslookup -qt=SOA ns1.baidu.com
SOA记录用于声明一个域名服务(Name Server),它常被包含在一个Zone中,SOA记录声明了与域名相关的很多重要的信息,包括域名管理员的邮箱、TTL、域名的序列号(Serial Number)和刷新间隔。
ns1.baidu.com的SOA记录:
三、参考
https://cloudinfrastructureservices.co.uk/dns-records-types-a-cname-aaaa-mx-txt-ns-ptr-srv-soa/
https://www.jianshu.com/p/b483300378af