CNAME记录

✍ dations ◷ 2025-11-01 15:43:14 #CNAME记录

真实名称记录(英语:Canonical Name Record),即CNAME记录,是域名系统(DNS)的一种记录。CNAME记录用于将一个域名(同名)映射到另一个域名(真实名称),域名解析服务器遇到CNAME记录会以映射到的目标重新开始查询。

这对于需要在同一个IP地址上运行多个服务的情况来说非常方便。若要同时运行文件传输服务和Web服务,则可以把和都指向DNS记录,而后者则有一个指向IP地址的A记录。如此一来,若服务器IP地址改变,则只需修改的A记录即可。

CNAME记录必须指向另一个域名,而不能是IP地址。

《RFC 1034》详细定义了CNAME记录的标准,并在《RFC 2181》的第十节中做了进一步规范。

CNAME记录在域名系统中的使用有诸多限制。当一个DNS解析服务器在查询各类记录时遇到一则CNAME记录时,它会立即重启查询,查询所映射到域名的对应记录。(除非是要查询CNAME记录本身,在那种情况下会返回所映射到的域名。)CNAME记录所映射的域名可以是域名服务中的任何域名。在同一服务器上,在远程服务器上,甚至在属于不同DNS zone(解析空间)的服务器上,都可以。

假设有下述DNS zone:

NAME                    TYPE   VALUE--------------------------------------------------bar.example.com.        CNAME  foo.example.com.foo.example.com.        A      192.0.2.23

当要查询的A记录时,域名解析器会查到对应的CNAME记录,即,随即开始查询该域名的A记录,查到192.0.2.23则返回结果。

可以使用CNAME记录将“”指向“”。因此,可能会有人随意的将称作是的“CNAME”。然而事实并非如此,的“CNAME”是,因为CNAME的意思是真实名称,而右侧才是真实名称,才是CNAME。

这则误会在《RFC 2181》“DNS规范的解释”一章中有提到。应当说左侧标签是右侧真实名称的一个同名。即下述CNAME记录:

bar.example.com.        CNAME  foo.example.com.

应当读作:

的真实名称是。请求访问的客户端会得到返回的结果。

foo.example.com.  CNAME  bar.example.com.bar.example.com.  CNAME  foo.example.com.
  • MX记录和NS记录永远都不应指向由CNAME记录标记的域名(《RFC 2181》第10.3节)。因此,解析空间不应有下述结构:
example.com.      MX     0   foo.example.com.foo.example.com.  CNAME  host.example.com.host.example.com. A      192.0.2.1
  • 根据(《RFC1912》)第2.4节,根网域(Root Domain)不应该被添加 CNAME 纪录。但部分 DNS 服务商(例如 DNSPod、NS1)可以忽略该 RFC 标准而针对根网域做出 CNAME 解析,比如:
example.com.  CNAME  foo.example.com.

但这样做会导致该网域若有用于邮箱服务,则可能造成错误,详见如下方。

而愿意遵守 RFC 标准的 DNS 供应商 (例如 Neustar UltraDNS、Cloudflare DNS)则采用了 Apex Alias 或 CNAME flattening 技术,这个技术将使得由 DNS 服务商自行处理 CNAME 解析的过程,并将最终解析的 A 纪录作为实际解析的结果,从而不与 RFC 标准抵触,比如:

example.com.  A      192.0.2.1
  • 用于邮箱服务的域名不应有CNAME记录。在实践中,这或许不会出错,但由于邮件服务的不同,可能会有意料之外的效果。

DNAME记录

DNAME记录,即代理名称记录,由《RFC 6672》定义(原《RFC 2672》已经废弃)。一条DNAME记录会将某个域名的整个解析子树映射到另一域名,而CNAME只映射设定的域名,不映射子域名。如同CNAME一样,在DNS查询过程中,会查找所映射到的新域名的地址。域名解析服务器会为每一个被查询的子域名生成一则CNAME记录。为某个域名设置DNAME记录和为该域名的所有子域名设置CNAME记录的效果是一样的。

例如下述记录:

foo.example.com.        DNAME  bar.example.com.bar.example.com.        A      192.0.2.23xyzzy.bar.example.com.  A      192.0.2.24*.bar.example.com.      A      192.0.2.25

查询的A记录不会返回任何结果。不同于CNAME记录,DNAME不会直接影响所设置域名的解析。

如果我们需要查询,则由于DNAME记录的映射会返回的A记录,即192.0.2.24。而如果将DNAME记录换成是CNAME记录的话,这样的请求则会报错提示无法找到。

由此,查询会由于DNAME记录映射返回192.0.2.25。

部分DNS平台支持尚未被标准化的ALIAS或ANAME记录类型。此类伪记录由DNS服务器维护,类似于CNAME记录,但在(某些)客户端解析时等同于A记录。ANAME记录通常会被设置指向另一域名。但在被客户端请求时候,则会直接返回对应的IP地址。ANAME记录的标准化过程正在进行中,但已经有许多不同的实现,所以由于平台的不同,效果也多种多样。有些存在于域名解析区的顶端,有些则为了提供邮件服务而存在。ANAME记录相对CNAME记录的一大优势是速度。服务端解析A记录的速度通常比客户端快,同时可以缓存对应的IP地址以备查询。IETF正在讨论和考虑ANAME记录的标准化。

相关

  • 膝蓋膝,俗称膝盖,为位于大小腿之间的连接部位。膝的主要内部组成结构为半月板以及四条韧带。半月板为膝内部股骨下端和胫骨上端之间的接连处所垫的一块新月形的纤维软骨组织,作用是
  • 美国黑人民权运动非裔美国人白人优越主义非裔美国人民权运动(英文:Civil rights movement),是美国民权运动的一部分,是非裔美国人为争取与白人同等的地位而发起的群众性斗争运动,乃是经由非暴力的
  • 阿古拉山阿古拉山(英文:Agoura Hills),是美国加利福尼亚州洛杉矶县下属的一座城市。建市于1982年12月8日,面积 大约为7.79平方英里 (20.2平方公里)。根据2010年美国人口普查,该市有人口20,
  • 五陵原五陵原是以西汉王朝在咸阳原设立的五个陵邑而得名。又因帝王陵墓众多,气势宏伟、规模巨大,而被誉为中国的“金字塔群”。五陵原地处关中平原中部的咸阳北原上,南邻渭水、北接北
  • 卢飞白卢飞白(1920年—1972年),名吕经,笔名李经,山项卢家人。留美学人。诗人,书评家。小学、初中就读回浦附小、回浦中学。1935年考入杭州高级中学,后在云南昆明就读西南联合大学外文系。
  • 安德鲁·萨里斯安德鲁·萨里斯(1928-10-31 – 2012-6-20),美国影评人,美国作者论的首位倡导者。萨里斯生于纽约布鲁克林区,在皇后区的臭氧公园(英语:Ozone Park)(Ozone Park)附近长大,父母是希腊移民
  • 埃库尼亚坐标:12°20′S 15°30′E / 12.333°S 15.500°E / -12.333; 15.500埃库尼亚(葡萄牙语:Ecunha),是个位于安哥拉中部的城镇,由万博省负责管辖,北邻隆杜因巴利,面积1,677平方公里,2006
  • 上海画报 (1925年)上海画报于1925年6月6日由毕倚虹创办。每三天发行一次。印刷用纸为道林纸,因而可保存至久且报面清晰光洁。1933年终刊,是上海早期画报中出版期数最长者。画报主编先后由周瘦鹃
  • 大邦伯祠大邦伯祠是一座明代许氏祠堂,位于中国安徽省黄山市歙县许村镇东升村。大邦伯祠建于明嘉靖年间,是许村最大、最古老、也是保存最完整的祠堂。它与大郡伯第、五马坊、大墓祠等建筑,同为纪念许氏东支始祖汀州知府许伯升而建。大邦伯祠前后三进,面阔五开间,面积1080平方米。 2004年10月28日,大邦伯祠列为安徽省文物保护单位。2006年5月,大邦伯祠作为许村古建筑群的子项,被列为第六批全国重点文物保护单位。2008年6月到2009年4月,国家文物局拨款对许村古建筑群中的大邦伯祠和五马坊进行全面维修。注2:独山和金寨革
  • 卢卡·安东尼尼 卢卡·安东尼尼(Luca Antonini,1982年8月4日-),意大利职业足球运动员,能够胜任左右边后卫以及左右边前卫等多个位置,现效力于AC米兰。安托尼尼的足球生涯开始于AC米兰青年队,2001年进入职业球坛,此后先后效力过10支意大利球队,其中较为知名的有曾经和现在的意甲球队桑普多利亚、摩德纳、锡耶纳。2008至2009年球季,安托尼尼重返AC米兰,但由于球队亦有大国脚赞布罗塔的加盟,安托尼尼整季只能当作后备,出场次数有限,亦被外界一直评为后备力量的级数。但到了2009至2010年球季,