本文深入浅出讲解域名的注册、建站和管理,通过文章可以了解以下问题:
众所周知,互联网中的地址其实是 IP 地址,有 IPV4 和 IPV6 两种类型,但 IP 地址比较难记忆,因此发明了有特殊含义的域名方便用户使用。
下图为域名的结构,每个域名都是有根域,如 http://www.volcengine.com 其实应该是 www.volcengine.com. ,其中域名末尾的点就是根域名,很多情况下根域名是可以省略掉的。
在上述例子中,.com 为顶级域名,http://volcengine.com 是二级域名或主域名,http://www.volcengine.com 是子域名或分域名。值得注意的是,顶级域名可以由多个标签组成,例如 .http://com.cn。
域名最常见的作用是为网站提供访问地址,例如 http://www.volcengine.com 和 http://volcengine.com。如果想创建自己的网站,并希望用户可以使用 www.wenteng.site 和 wenteng.site 这两个域名访问你的网站,则需要将这两个域名指向你的网站服务。
假设你已经完成了页面代码编写和服务部署(页面资源已使用 Vercel 或 GitHub Pages 部署,并通过 dig 域名获取了服务对应的负载均衡服务器 VIP),接下来需要知道如何获取域名并将域名指向你的服务,本小节将帮助你解决这个问题。
首先,要创建自己的网站,第一步是获取 www.wenteng.site 和 wenteng.site 这两个域名。通过使用火山引擎域名服务/域名注册搜索,你会发现可以找到 wenteng.site,但是却无法找到 www.wenteng.site。这是因为只有二级域名是可以注册的,而子域名则是基于二级域名的配置,而非注册出来的资源。
因此,如果想拥有这两个域名,你只需要在域名注册平台注册 wenteng.site 这个二级域名,之后在 DNS 解析平台中配置两个主机记录,分别为空(通常使用 @符号)和 www 的子域名即可。
火山引擎域名注册主流程
总的来说,域名的注册和线上购物很类似,询价->加购->付款。不同点在于,通过中国内地的域名代理商注册域名之前,需要先添加持有者信息模板用于实名认证,实名认证成功后才可以绑定模板购买域名(国外不需要这一环节)。
域名下单后,国内的域名注册商会对用户购买的域名进行命名审核,检查域名是否包含敏感词汇。命名审核通过,该域名在国内国外均可以使用;命名审核失败,.cn 等 CNNIC 管理的后缀域名会注册失败,其他后缀域名会被保留,但将处于 serverhold 状态,在国内无法使用。
用户购买域名后,需要关注下域名的状态,防止域名过期未续费导致域名被其他人抢注。
域名的有效性状态说明
域名购买成功后,即拥有了域名这个资源,但是域名正常使用还需要在 DNS 管理平台(如云解析 DNS)配置解析来实现域名到 IP 的映射。二级域名购买后,即拥有了该二级域名以及二级域名下子域名的 DNS 解析配置权限。
以上文两个域名为例,假设服务器 IP 为 76.76.21.22,对于 wenteng.site,需要添加一条主机记录为空(通常使用 @符号),记录值为 76.76.21.22 的记录;对于 www.wenteng.site,需要添加一条主机记录为 www,记录值为 76.76.21.22 的记录。
配置完毕,当用户访问这两个域名时,DNS 解析会将该域名解析为 76.76.21.22,之后用户的访问流量就会到达这个 IP 的服务器。
因为本网站只是测试使用,不对外发布,服务器也在境外,因此无需备案和合规悬挂,在 DNS 解析配置完毕即可正常访问。感兴趣的读者可以分别点击 www.wenteng.site 、wenteng.site 这两个域名访问对应的网站。
想要将域名解析至中国内地的服务器上对外提供服务,根据相关规定,需要进行域名 ICP 备案。此外,各网站在工信部进行 ICP 备案成功后,还需要进行公安联网备案。
ICP(Internet Content Provider )备案是由工信部管理要求,由接入商协助代申请。如果没有进行 ICP 备案,全网都无法访问网站。如果是在多家云厂商申请服务,就需要在每家厂商进行备案,彼此之间的备案和接入互相独立。需要注意的是,DNS 不受备案与否的影响,因为配置解析不校验域名备案状态,可以随意配置。
公安备案是公安部对网站域名的管辖要求。自网络正式联通之日起三十日内,相关主体须到所在地的省、自治区、直辖区人民政府公安机关指定的受理机关办理备案手续。未公安备案不会影响流量的访问,但是如果网站被举报或相关人员发现网站对外可访问却没有备案,相关部门会对网站负责人进行处罚。
ICP 备案成功后,需要在 ICP 备案成功的网站底部悬挂工信部下发的 ICP 备案号,并生成链接指向工信部网站:https://beian.miit.gov.cn/
公安联网备案审核通过后,需要复制网站公安机关备案号和备案编号 HTML 代码,下载备案编号图标,并编辑网页源代码将公安联网备案信息放置在网页底部。
下图为域名各级管理机构,ICANN 为最顶层的域名管理机构,负责管理国内外所有域名,但是国内域名还需要受工信部和 CNNIC 的管理。通常来说,域名购买行为发生在域名注册商/代理商处,但是本质上域名的注册是在各注册局进行的。
域名注册商代理多个顶级域名,给用户提供基于顶级域名的二级域名注册服务。域名机构中最重要的是注册局,它直接负责顶级域名的管理。以 .com 域名对应的注册局为例,该注册局会负责 .com 顶级域名服务器的维护以及 .com 下的二级域名的资源管理。
域名本质上是 IP 的别名,域名到 IP 的映射是通过 DNS 解析实现的,以 wenteng.site 为例:
二级域名注册前后差异点在于二级域名对应的顶级域名服务器(此例中为 .site 对应的注册局维护的 DNS 服务器)处是否存在二级域名的 NS 记录(NS 记录会指明下一跳需要查询的 DNS 服务器的地址)。因此可以推断,二级域名的注册本质上是在其对应的顶级域名服务器中为该二级域名插入 NS 记录。除了插入 NS 记录,域名注册时注册局还会管理该域名的资源信息,记录新注册的二级域名的注册商、域名持有人、注册时间等信息。
此外,域名是没有国内域名和国外域名之分的,注册一个域名可以全球使用。DNS 是域名与 IP 的映射,IP 有国内国外之分,域名是没有的,将域名解析到国外的 IP 就可以访问国外的服务,将域名解析到国内的 IP 就可以访问到国内的服务。虽然 .cn 之类的顶级域名是中国管理的,但是仍然可以将这些顶级域名下的域名解析到国外的服务。
域名支持很多管理操作,如续费、赎回、修改联系人信息、开关更新锁、开关转移锁等,这些操作都不涉及太多技术问题,因此本文不再赘述。接下来主要介绍修改域名 DNS 服务器、域名转入转出、自定义 DNSHost 以及域名的 Whois 信息。
上文提到,域名注册的过程本质上是在其对应的顶级域名服务器中为该二级域名插入 NS 记录的过程,NS 记录指明这个二级域名的权威服务器。域名注册时,域名注册商/代理商会调用注册局的接口将二级域名的 NS 记录设置为默认的 DNS 服务器域名,如火山引擎域名服务会为新注册的域名设置 DNS 服务器为云解析 DNS 提供的权威服务器域名(http://ns1.volcdns.com……http://ns5.volcdns.com)。
当然用户也可以在域名注册商处自由修改域名的 DNS 服务器,比如将在其他云服务商注册的域名的 DNS 服务器改为火山云解析 DNS 服务器。修改域名 DNS 服务器,本质上改的依然是顶级 DNS 服务器处该域名的 NS 记录。
如果想要把二级域名从一家域名注册商转入到另一家注册商,需要进行域名的转入转出操作,这个转入只是管理权的转入,注册局只需修改该域名的资源信息(域名的注册商信息)即可完成域名的转入转出。
当用户发起二级域名的转出操作时,注册局会给用户下发一个转移密码,之后用户将该密码提供给转入注册商发起域名的转入操作,火山引擎域名服务会将该密码提交给注册局核对,核对成功后注册局会更新该域名的注册商信息,域名转入成功。
域名转入虽然本质上只是二级域名资源信息的更新,但是根据注册局的规定,域名转入时需在原期限上续费 1 年,因此,域名转入时需要相应支付 1 年的域名续费费用。
如果你转入域名后,希望通过云解析 DNS 管理二级域名及其子域名的解析记录,你可以先在云解析中配好相应域名的解析记录,之后在火山引擎域名服务中修改 DNS 服务器即可。
自定义 DNS Host 指的是搭建自己的权威 DNS 服务器,自己可以给自己的域名提供解析服务。搭建好 DNS 服务器后,只需要将域名的 DNS 服务器改为自建的 DNS 服务器的域名即可。搭建自己的 DNS 服务器并不复杂,购买一个云服务器并在该云服务器中安装 DNS 服务器软件就可以使其成为一个 DNS 服务器。拥有自己的 DNS 服务器,除了可以为公网域名提供解析,还可以结合自己搭建的 local DNS 一起实现私网 DNS。
DNS 服务器创建完毕,需要为 DNS 服务器分配至少一个子域名(如 http://dns.example.com)用来作为 NS 记录值使用。子域名与 IP 的绑定需要在两处进行:
DNS 服务器的使用可以参考这个例子,用户在云服务商 DNS 管理平台配置了子域名 http://a.b.com 的解析,现在想使用自己搭建的 DNS 服务器 http://dns.example.com 为其子域名提供解析,那么用户就需要在云服务商 DNS 管理平台将 http://a.b.com 的解析记录改为 NS 记录,值为 http://dns.example.com。此外,用户还需要在自己搭建的 DNS 服务器中添加 http://a.b.com 的解析记录为目标服务器的 IP 地址。
第二处绑定很好理解,当用户需要用你的 DNS 服务器为其个别子域名(如果二级域名下所有子域名都改用其他 DNS 服务器,可以直接在二级域名管理处修改 DNS 服务器)提供解析时,需要更改其子域名的解析记录为 NS 记录,值为你的 DNS 服务器的域名,但是这个域名(如 http://dns.example.com)是需要再进行 DNS 解析得到 IP 的,因此,为了保证你的 DNS 服务器可以为子域名提供解析,你需要在 DNS 管理平台为 http://dns.example.com 添加解析记录。
第一处绑定就有些复杂了,如果对 DNS 解析和胶水记录足够了解,其实可以推断出这一步自定义 DNSHost 的过程其实就是添加胶水记录的过程。胶水记录其实是一个 IP ,即 NS 记录值所对应的 IP。顶级域名服务器返回二级域名记录 NS 记录时,通常会在返回报文的 additional section 字段中携带 NS 记录域名对应的 IP,这个 IP 就是胶水记录。
很明显,胶水记录的存在可以省去再解析 NS 记录获得 DNS 服务器 IP 的过程,也可以回答第一台权威 DNS 服务器的域名是被谁解析的问题。当用户在使用 http://dns.example.com 注册二级域名或修改二级域名的 DNS 服务器为 http://dns.example.com 时,http://dns.example.com 如果进行过自定义 DNS 服务器操作,当该二级域名解析到顶级域名服务器这一节点时,顶级域名服务器就会在返回 NS 记录的同时携带胶水记录(你的 DNS 服务器的 IP)。
您可以通过 WHOIS 查询获取已注册域名的持有者信息、注册时间、域名状态等信息,每个域名至少有一个状态码,但也可以有多个,如 active(OK)表示域名正常,serverHold 表示注册局设置暂停解析。
从技术实现角度来说,whois 信息的获取来源有两个:ICANN 或注册局
两种方式均有利弊,ICANN 的接口较慢,而且容易封禁,但是对接方便;使用注册局的接口速度快,准确性高,但是需要对接所有的注册局。
火山引擎域名服务提供 whois 查询功能,可以通过 通过火山引擎 whois 服务查询 wenteng.site 的 whois 信息,如果心仪的域名已经被人抢注了,还可以通过火山引擎域名服务发起委托购买。wenteng.site 的 whois 信息,如果心仪的域名已经被人抢注了,还可以通过火山引擎域名服务发起委托购买。
基本概念
工信部:中国的域名既要受 ICAMN 执行规则的限制,也要遵循工信部的规定(比如 ICP 备案)。