什么是 cname 记录?
域名系统 (dns) 中使用规范名称 (cname) 记录来创建从一个域名到另一个域名的别名。一个常见的例子是 www 子域,用户访问“ www.example.com ”被转到“example.com”。
cname 记录的一些常见用途是:
- 为特定网络服务(例如电子邮件或 ftp)提供单独的主机名,并将该主机名指向根域
- 许多托管服务在服务提供商的域(例如 company.hostname.com)上为每个客户提供一个子域,并使用 cname 指向客户的域(www.company.com)。
- 在多个国家注册同一个域并将国家版本指向主“.com”域
- 从同一组织拥有的多个网站指向一个主网站
- 用于 ssl 证书申请时的域名验证,例如 _dnsauth.yryz.net cname mnwwgx3uijnhsvkyjezf6nlpkn4xotzrkjpto6tfgbbuu22g.dcv.httpsauto.com.
cname 记录的 dns 解析过程
- dns 客户端(例如浏览器或网络设备)请求地址 www.example.com ,并创建 dns 请求。
- dns 解析器接收请求并找到权威名称服务器,该服务器保存带有“example.com”域的 dns 记录的 dns 区域文件。
- dns请求被解析,cname记录返回给客户端。
- 客户端发现 www.example.com 只是真实地址“example.com”的别名(cname),并为“example.com”发出新的 dns 查询
- 重复该过程,解析器返回“example.com”的 a 记录,其中包含 ip 地址。
- dns 客户端现在使用其 ip 地址连接到“example.com”。
cname 记录的限制
- cname 不能放置在根域级别,因为根域是 dns 起始授权 (soa),它必须指向一个 ip 地址。
- cname 记录必须指向另一个域名,而不能指向 ip 地址。
- cname 记录中定义的主机名不得包含其他类型(mx、a 等)的其他资源记录,但 dnssec 记录(如 rrsig 和 nsec)除外。
- cname 记录可以指向其他 cname 记录,但这不是一个好的做法,因为它效率低下。
- mx 和 ns 记录绝不能指向 cname 别名。
- 用于电子邮件的域可能没有 cname 记录-这可能对不同的邮件服务器产生不期望的结果。
cname 和替代记录类型
cname 记录通常与其他类型的 dns 记录一起使用- a 记录和 alias 记录。
a 和 cname 的区别
a 记录将主机名映射到一个或多个 ip 地址,而 cname 记录将主机名映射到另一个主机名。
alias 和 cname 的区别
alias 记录与 cname 一样,也将一个主机名映射到另一个主机名。但是,alias 记录可以在同一主机名上拥有其他 dns 记录,而 cname 则不然。这使得在根域(dns 区域顶点)应用 alias 成为可能,这对于 cname 是不允许的。
此外,alias 的性能 比 cname 更好,因为它不需要 dns 客户端解析另一个主机名,它直接返回一个 ip。然而,alias 记录也需要在幕后进行递归查找,这会影响性能。
发表评论