DNS相关内容学习笔记2


第二篇搁置了一段时间,整理一下发出来。

文章目录

  • DNS查询工具
    • nslookup
    • dig
  • 域名解析
    • DNS 记录
      • A记录
      • CNAME记录
      • MX记录
      • SOA记录
      • TXT记录
      • NS 记录
      • SRV记录
      • CAA记录
      • PTR记录
    • 顶级域访问
    • URL显性/隐性转发
      • 1 . URL隐性转发
      • 2 . URL显性转发
      • TIPs

DNS查询工具

nslookup

windows系统中的工具,主要用来查询域名系统 (DNS) 基础结构的信息。

  • 基本用法
    在命令行中输入nslookup 域名,查询并显示域名相关的信息。
  • 查询指定类型
    nslookup –qt=DNS类型 目标域名

dig

linux下的工具,有些发行版本没有自带这个工具,需要额外进行安装。

  • 基本命令
    dig www.isc.org
  • 指定类型
    dig yahoo.com A
  • 直接显示响应结果
    dig yahoo.com A +noall +answer

域名解析

DNS 记录(又名区域文件)是位于权威 DNS 服务器中的指令,提供一个域的相关信息,包括哪些 IP 地址与该域关联,以及如何处理对该域的请求。这些记录由一系列以 DNS 语法编写的文本文件组成。DNS 语法只是用作命令的字符串,用于告诉 DNS 服务器该做什么。所有 DNS 记录具有“TTL ”,代表的是生存时间,表示DNS 服务器多久刷新一次该记录。
这一部分的和DNS协议没有直接关系,目的是在实际使用域名进行测试时,有些操作内容需要结合自己服务商合适和测试来明确具体的实现情况。

DNS 记录

常见记录类型

记录类型 描述
A 保存域的 IP 地址的记录。了解有关 A 记录的更多信息。
CNAME 将一个域或子域转发到另一个域,不提供 IP 地址。了解有关 CNAME 记录的更多信息。
MX 将邮件定向到电子邮件服务器。了解有关 MX 记录的更多信息。
TXT 可使管理员在记录中存储文本注释。了解有关 TXT 记录的更多信息。
NS 存储 DNS 条目的名称服务器。了解有关 NS 记录的更多信息。
SOA 存储域的管理信息。了解有关 SOA 记录的更多信息。
SRV 指定用于特定服务的端口。了解有关 SRV 记录的更多信息。
PTR 在反向查询中提供域名。了解有关 PTR 记录的更多信息。

冷门记录类型

记录类型 描述
AFSDB 此记录用于由 Carnegie Melon 开发的Andrew File System(AFS)的客户端。AFSDB 记录的功能是查找其他 AFS 单元。
APL 用于指定地址范围列表的试验性记录。
CAA “证书颁发机构授权”记录,允许域所有者声明哪些证书颁发机构可以为该域颁发证书。如果不存在 CAA 记录,则任何人都可以为该域颁发证书。子域也会继承这些记录。
DNSKEY 包含用于验证域名安全系统扩展(DNSSEC)签名的公钥。
CDNSKEY 这是 DNSKEY 记录的子副本,应将其转移给父级。
CERT 用于存储公钥证书。
DCHID 用于存储有关动态主机配置协议(DHCP)的信息,该协议是 IP 网络上使用的标准化网络协议。
DNAME 记录创建域别名,类似CNAME一样,但会重定向所有子域。例如,如果“example.com”的所有者购买了域名“website.net”并为其提供了指向“example.com”的 DNAME 记录,则该指针还将扩展到“blog.website.net”以及任何其他子域。
HIP “主机身份协议”,这是一种分隔 IP 地址角色的方式;此记录最常用于移动计算。
IPSECKEY “IPSEC 密钥”记录与 Internet 协议安全(IPSEC)、端到端安全协议框架以及 Internet 协议套件(TCP/IP)的一部分配合使用。
LOC 包含域的地理信息,采用经度和纬度坐标形式。
NAPTR 可将“名称权威指针”记录与 SRV 记录相结合,以便基于正则表达式动态创建指向的 URI。
NSEC 用于证明所请求的 DNS 资源记录不存在。
RRSIG 存储用于根据 DNSSEC 对记录进行身份验证的数字签名。
RP 存储域负责人的电子邮件地址。
SSHFP 该记录存储“SSH 公钥指纹”;SSH 代表安全外壳,这是一种可在不安全网络上实现安全通信的加密网络协议。

A记录

“A”代表“地址”,是 DNS 记录的最基本类型,指出给定域的 IP 地址。例如,如果提取 example.com 的 DNS 记录,其“A”记录目前会返回 IP 地址 12.34.56.78。“A”记录仅保存 Ipv4 地址,如果站点具有 Ipv6 地址,需要使用“AAAA”记录。

示例:

example.com record type value TTL
@ A 12.34.56.78 14400

此处的“@”表示这是根域的记录,“14400”这个值是 TTL(生存时间),以秒为单位。A 记录的默认 TTL 是 14400 秒。这意味着,如果更新 A 记录,则需要 240 分钟(14400秒)后才会生效。

绝大多数网站只有一个 A 记录,但可以有多个,可以将请求流量分配到托管相同内容的多个 IP 地址中的一个。

CNAME记录

当需要将域名指向另一个域名,再由另一个域名提供 IP 地址,就需要添加 CNAME 记录,最常用到 CNAME 的场景包括做 CDN、企业邮箱、全局流量管理等。
CNAME 记录可以指向另一个具有 CNAME 记录的另一个域或具有 A 记录的域。例如,假设 www.example.com 有一个 CNAME 记录,值是“example.com”(没有“www”)。当 DNS 服务器访问 www.example.com 的 DNS 记录时,它实际上会触发对 example.com 的另一个 DNS 查找,返回 example.com 的 IP 地址。在这种情况下,可以说 example1.com 是 example.com 的规范名称(或真实名称)。所有 CNAME 记录都必须指向一个域,而不是 IP 地址。

通常,当站点具有子域(例如 blog.example.com 或shop.example.com)时,这些子域将具有指向根域(example.com)的 CNAME 记录。这样,如果主机的 IP 发生更改,则仅需要更新根域的 DNS A 记录,并且所有 CNAME 记录都会跟随对根所做的任何更改。

一个常见的误解是 CNAME 记录必须始终解析为其指向的域所在的网站,但事实并非如此。CNAME 记录仅将客户端指向与根域相同的 IP 地址。客户端访问该 IP 地址后,Web 服务器仍将相应地处理 URL。例如,blog.example.com 可能有一个 CNAME 指向 example.com,从而将客户端定向到 example.com 的 IP 地址。但是,当客户端实际连接到该 IP 地址时,Web 服务器将查看 URL,发现它是 blog.example.com,并且提供博客页面而不是主页。

示例:

example1.com record type value TTL
@ CNAME example.com 32600

example1.com 指向 example.com。假设基于上面的A记录,最终会解析到 IP 地址 12.34.56.78。

MX记录

MX将电子邮件定向到邮件服务器。MX 记录指示如何根据简单邮件传输协议(SMTP,所有电子邮件的标准协议)路由电子邮件。与 CNAME 记录类似,MX 记录必须始终指向另一个域。
设置邮箱时,为了让邮箱通过域名找到邮箱服务器,顺利收到邮件,就需要添加 MX 记录。MX全称为mail exchanger,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。例如,当有人发邮件给“[email protected]”时,系统将对“example.com”进行DNS中的MX记录解析。如果MX记录存在,系统就根据MX记录的优先级,将邮件转发到与该MX相应的邮件服务器上。

1
MX优先级:输入内容通过联系邮箱注册商提供,MX 优先级的数值越低,优先级别就越高

示例:

example.com record type value TTL
@ MX 10 mailhost.example.com
@ MX 20 mailhost2.example.com

在这些 MX 记录的值条目中,域名前的数字表示优先级;服务器将始终首先尝试 mailhost1,因为 10 小于 20;如果消息发送失败,服务器将默认为 mailhost2。

SOA记录

“授权机构起始”(SOA)记录可以存储有关域的重要信息,如管理员的电子邮件地址、上次更新域的时间,以及服务器在刷新之间应等待的时间。

示例:

example.com record type value TTL
@ SOA admin.example.com 11200

此处的值表示一个电子邮件地址,可能会造成混淆,因为它缺少“@”符号;但在 SOA 记录中,admin.example.com 等效于 [email protected]

TXT记录

“文本”(TXT)记录让域管理员能够将文本输入到 DNS 记录中,如果希望对域名进行标识和说明,可以使用 TXT 记录。现在也可以将一些机器可读代码也放入 TXT 记录中。一个域可以具有许多 TXT 记录,通常用于发件人策略框架(SPF),这些代码可帮助电子邮件服务器判断邮件是否来自受信任的来源,有有助于域所有权验证。例如,某些网站管理员工具会要求将 TXT 记录添加到域中,以证明该域的真正所有者。 TXT 记录多用来做 SPF 记录(反垃圾邮件)。

记录值:常用情况TXT 记录是用来做 SPF 反垃圾邮件的,最典型的 SPF 格式的 TXT 记录例子为“v=spf1 a mx ~all”,表示只有这个域名的 A 记录和 MX 记录中的 IP 地址有权限使用这个域名发送邮件。

示例:

example.com record type value TTL
@ TXT Test 32600

NS 记录

NS 代表“名称服务器”,此记录指示哪个 DNS 服务器对所给域具有权威(哪一服务器含有实际的 DNS 记录)。如果需要把子域名交给其他 DNS 服务商解析,就需要添加 NS 记录。一个域通常会有多个 NS 记录,这些记录可以指示该域的主要和备用名称服务器。

示例:

example.com record type value TTL
@ NS ns1.exampleserver.com 21600

SRV记录

SRV 记录用来标识某台服务器使用了某个服务,常见于微软系统的目录管理。“服务”记录指定特定服务的主机和端口,例如 IP 语音 (VOIP)、即时消息等。

支持的设置内容

1
2
3
4
5
6
记录类型: 选择 SRV 。
主机记录: 格式为 服务的名字.协议的类型。
例如:_sip._tcp
解析线路:默认 为必选项,未设置默认线路会导致部分用户无法解析
记录值:格式为 优先级 权重 端口 目标地址 ,每项中间需以空格分隔。
例如:0 5 5060 sipserver.example.com

示例:

example.com record type value TTL
@_sip._tcp.example.com. SRV 8080 exampledomain.com 41200

在上面的示例中,“_sip”指示服务类型,“_tcp”指示协议,“8080”指示端口,而“example.com”是主机。

CAA记录

CAA(Certificate Authority Authorization),即证书颁发机构授权。是一项新的可以添加到DNS记录中的额外字段,通过DNS机制创建CAA资源记录,可以限定域名颁发的证书和CA(证书颁发机构)之间的联系。未经授权的第三方尝试通过其他CA注册获取用于该域名的SSL/TLS证书将被拒绝。

域名设置 CAA 记录使网站所有者可授权指定CA机构为自己的域名颁发证书,以防止HTTPS证书错误签发,从而提高网站安全性。
CAA记录的记录格式

CAA记录的格式为:[flag] [tag] [value],是由一个标志字节的[flag]和一个被称为属性的[tag]-[value](标签-值)对组成。可以将多个CAA字段添加到域名的DNS记录中。

字段 说明
flag 0-255之间的无符号整数,用于标志认证机构。通常情况下填0,表示如果颁发证书机构无法识别本条信息,就忽略。
tag 支持 issue、issuewild 和 iodef。

tag值描述

1
2
3
issue:CA授权单个证书颁发机构发布的 任何类型 域名证书。
issuewild:CA授权单个证书颁发机构发布主机名的 通配符 证书。
iodef:CA可以将违规的颁发记录URL发送给某个电子邮箱。

value CA的域名或用于违规通知的电子邮箱。

PTR记录

“指针”记录与“A”记录正好相反;PTR 地址将为提供与给定 IP 地址关联的域。PTR 记录在反向查询区域中用于反向 DNS 搜索。

此处的值表示一个电子邮件地址,可能会造成混淆,因为它缺少“@”符号;但在 SOA 记录中,admin.example.com 等效于 [email protected]

顶级域访问

一般是指子域名的前缀(如需创建子域名为www.dns-example.com, 主机记录输入 www;如需实现dns-example.com,主机记录输入 @)

URL显性/隐性转发

1 . URL隐性转发

URL隐性转发一般用的是iframe框架技术,非重定向技术。

实现后的效果描述:

为浏览器地址栏输入http://a.com 回车,打开网站内容是目标地址http://www.b.com/ 的网站内容,但地址栏显示http://a.com的地址。

2 . URL显性转发

支持URL转发301永久重定向、302暂时性定向。

实现后的效果描述:

为浏览器地址栏输入http://a.com回车,打开网站内容是目标地址http://www.b.com的网站内容,且地址栏显示目标地址http://www.b.com

TIPs

添加 URL 转发记录时,多数厂商要求转发前后的两个域名都需完成备案且两个域名的备案接入商都为自己。

一般对于URL转发各个厂家的云解析不提供攻击防护服务,如遇攻击黑洞时无法使用URL转发,需要人工将转发的主机记录配置为A或CNAME记录。

1
2
3
4
URL转发时记录值不能为IP地址
URL转发通常不支持泛解析设置。
URL转发的目标域名可能不支持中文域名。
URL转发前域名支持HTTP,不支持HTTPS,转发后的目标地址支持HTTP、HTTPS。