分类写成教程了,其实就是闲谈,平时我们如果注意观察嘅话就会发现成日唔少大厂域名嘅DNS都比较有个性,比如qq.com呢个域名嘅DNS服务器系NS1.QQ.COM——NS4.QQ.COM,而我们自己嘅DNS服务器基本上就系千篇一律嘅f1g1ns1.dnspod.net/xxx.dnspod.net/dns(1-32).hichina.com/ns(1-8).alidns.com等等,噉点样用自己嘅域名做域名DNS服务器地址令我们嘅域名服务器看起上嚟更加个性化呢?答案就系贴牌(当然有能力你都可以自建)。
所谓贴牌DNS就系使用解析厂商提供嘅解析服务,但系DNS服务器嘅域名,换成你自己嘅,呢个东西叫法比较多,包括似系:贴牌DNS/Vanity Nameservers/DNS Branding/Custom Nameservers/white-label name servers等等,我比较喜欢Vanity Nameservers呢个名称,直译过嚟就系“虚荣嘅域名服务器”,满足自己嘅虚荣心哈哈哈(开个玩笑),呢个东西对一般人来讲其实冇咩用,不过如果你系域名代理商、云厂商呢种唔想自建DNS服务又想给用户提供解析搞个还系可以嘅,当然如果你有能力自建DNS服务嘅话,噉就更加好了。

前提条件

  • 域名:呢个域名咩后缀都得,但注册商必须支持加DNS host(Glue record),国内我试过嘅有腾讯云同阿里,其他厂商唔太清楚(厂商基本上都有呢个能力,但系能唔能自助注册就系另一个问题喇),国外嘅话大多数都支持。
  • 解析服务商:唔需要睇厂商本身系唔系支持贴牌DNS,但解析厂商需要满足以下条件:第一点,支持设置SOA同NS记录(首先可以排除DNSPod、Azure dns 同阿里云,甚至国内大部分嘅域名解析服务商喇),第二点,唔指向呢个厂商嘅DNS服务器厂商唔会把你解析停咗嘅。满足上面嗰两个条件嘅国内似乎太少喇(之前有华为云),国外嘅话还系挺多嘅,比如CloudNS、Route53、NS1、GCP DNS等等,当然除咗呢啲之外还有好多其他嘅厂商都支持,呢度就唔过多赘述喇。

操作步骤

本来想以华为云为例写个详细教程嘅,写教程嘅时候发现华为云唔支持设置SOA喇,既然噉就只写流程啦。

找解析服务商

按照上面嘅条件找一家解析服务商:

  1. 支持设置SOA同NS记录
    满足呢两个条件嘅国内厂商基本冇喇,似系阿里云、腾讯云DNSPod、华为云都仅支持设置NS记录,唔支持设置SOA(唔支持设置SOA好似也冇咩大问题),其中腾讯云设置NS记录还要通过API,唔能够直接操作,建议大家去国外搵搵,大多数都支持,我个人用嘅系cloudNS。
    2.唔指向呢个厂商嘅DNS服务器厂商唔会把你解析停咗嘅
    比如腾讯云DNSPod免费版,长时间唔指向佢哋嘅DNS服务器就会暂停解析,我们打造自己品牌嘅名称服务器肯定唔会指向佢哋嘅,噉呢种就唔得喇。

在解析服务商加域名

把域名加入到你选择嘅解析服务商平台,并记录下解析服务商比你分配嘅DNS服务器地址,比如谷歌比我嘅系ns-cloud-c1.googledomains.com,ns-cloud-c2.googledomains.com,ns-cloud-c3.googledomains.com,ns-cloud-c4.googledomains.com。

获取服务商提供嘅DNS服务器对应嘅IP地址

喺呢度我们需要获取服务商提供嘅DNS服务器对应嘅IP地址,刚刚已经叫大家记住咗原本嘅NS记录,现在我们需要获取服务商提供嘅DNS服务器对应嘅IP地址,比如上面Google Cloud DNS比我嘅系ns-cloud-c1.googledomains.com,ns-cloud-c2.googledomains.com,ns-cloud-c3.googledomains.com,ns-cloud-c4.googledomains.com,噉我们就需要获取呢四个DNS服务器对应嘅IP地址,喺呢度我们可以用nslookup命令嚟获取,举个例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
rttw@Kincaid:~$ nslookup ns-cloud-c1.googledomains.com
Server: 192.168.160.1
Address: 192.168.160.1#53

Non-authoritative answer:
Name: ns-cloud-c1.googledomains.com
Address: 216.239.32.108
Name: ns-cloud-c1.googledomains.com
Address: 2001:4860:4802:32::6c

rttw@Kincaid:~$ nslookup ns-cloud-c2.googledomains.com
Server: 192.168.160.1
Address: 192.168.160.1#53

Non-authoritative answer:
Name: ns-cloud-c2.googledomains.com
Address: 216.239.34.108
Name: ns-cloud-c2.googledomains.com
Address: 2001:4860:4802:34::6c

去域名注册商添 DNS host(Glue Record)

我哋刚刚已经攞到咗服务商提供嘅 DNS 服务器对应嘅 IP 地址,而家我们用呢啲 IP 地址来添 DNS host(Glue Record):
添加 DNS host(Glue Record)嘅方法喺度唔会介绍,大家自己去睇吓啱啱嘅域名注册商嘅文档吧,下面系腾讯云和阿里云嘅添文档:
腾讯云: https://cloud.tencent.com/document/product/242/54158
阿里云: https://help.aliyun.com/document_detail/59949.html
示例图:
添 DNS Host

留意:最少要有两组 DNS 服务器,比如作者想用嘅系 ns1.vanitydns.com同ns2.vanitydns.com,把上头攞到嘅 IP 地址平分到呢两组 DNS host 就得咯。

图文入面嘅域名同 IP 唔配套,大家唔使理,只系举个例子

去解析服务商度为名称服务器添 A 同 AAAA 记录

喺呢度我哋要去解析服务商度为名称服务器添 A 同 AAAA 记录,比如作者嘅系 ns1.vanitydns.com同ns2.vanitydns.com,噉我哋就要去解析服务商度为呢两个名称服务器添 A 同 AAAA 记录指向 DNS 服务器 IP 地址,留意喺度指向 DNS 服务器 IP 地址设置嘅要同之前添 DNS host(Glue Record)嘅 IP 地址一致,比如作者设置 DNS host 时:
ns1.vanitydns.com 指向 1.12.34.55,1.12.34.56,2402:4e00::1
ns2.vanitydns.com 指向 1.23.34.57,1.12.34.58,2402:4e00::2
噉喺去解析服务商度为呢两个名称服务器添 A 同 AAAA 记录,同上头 host 保持一致:
ns1.vanitydns.com. 3600 IN A 1.12.34.55
ns1.vanitydns.com. 3600 IN A 1.12.34.56
ns1.vanitydns.com. 3600 IN AAAA 2402:4e00::1
ns2.vanitydns.com. 3600 IN A 1.23.34.57
ns2.vanitydns.com. 3600 IN A 1.23.34.58
ns2.vanitydns.com. 3600 IN AAAA 2402:4e00::2

修改 NS 同 SOA 记录

添咗解析之后喺解析服务商度修改 NS 同 SOA 记录,NS 记录指嘅系你自定义名称服务器,好似笔者嘅系NS1.VANITYDNS.COM同NS2.VANITYDNS.COM,噉就把 NS 记录嘅值改做呢两个,留意 TTL 尽量设嘅长啲,好似 3600-86400,SOA 记录主要留意修改主 NS 服务器同电邮地址,其他嘅可以唔使理,好似笔者嘅系:

1
vanitydns.com. 300 IN SOA ns1.vanitydns.com. admin.vanitydns.com. 2023020601 3600 180 1209600 300

当中 300 係 TTL,ns1.vanitydns.com 係主 NS 服务器,admin.vanitydns.com 係电子邮件地址,2023020601 係序列号,3600 係刷新时间,180 係重试时间,1209600 係过期时间,300 係最小 TTL。需要改嘅就只有主 NS 服务器同电子邮件地址,其他嘅可以唔使理。
听落可能有啲难明,放个修改示例嘅截图啦:
呢个系笔者用嘅 cloudNS,修改示例:
修改示例1

呢个系Google Cloud DNS,修改示例:
修改示例2

PS:喺 DNS 记录当中,电子邮件地址中嘅 @ 符号需要用 . 来代替。系唔系有同学仲想问主名称服务器系咩嘢,假如你想自定义嘅 NS 系 ns1.vanitydns.com 同 ns2.vanitydns.com,噉 ns1.vanitydns.com 就系主名称服务器,ns2.vanitydns.com 就系备用名称服务器。(明白嘅自然明白,唔明白跟住做就得)

修改域名 DNS 服务器

完成上述所有步骤之后,你就可以改域名嘅 DNS 服务器地址做自己个嘅,点改就要参考下你域名服务商提供嘅帮助文件。
改好之后就可以睇效果啦:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
rttw@Kincaid:~$ whois vanitydns.com
Domain Name: VANITYDNS.COM
Registry Domain ID: 2754575975_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.google.com
Registrar URL: http://domains.google.com
Updated Date: 2023-01-29T07:52:29Z
Creation Date: 2023-01-29T00:16:12Z
Registry Expiry Date: 2024-01-29T00:16:12Z
Registrar: Google LLC
Registrar IANA ID: 895
Registrar Abuse Contact Email: [email protected]
Registrar Abuse Contact Phone: +1.8772376466
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Name Server: NS1.VANITYDNS.COM
Name Server: NS2.VANITYDNS.COM
DNSSEC: signedDelegation
DNSSEC DS Data: 49548 13 2 D6D5E60B35B2F10CA1052FAA6045E0BC0B201D46547AC3ED1DF5FC9A797BAD0A
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2023-02-08T12:31:14Z <<<

常見問題

  1. 睇完之後覺得有啲懵?
    確實,呢篇文章寫嘅有啲唔啱小白,遇到任何問題發電郵或者前往 GitHub 倉庫提 issue 都得。
  2. 更改 DNS 伺服器失敗?
    睇嚟大概係底下嘅樣子,如果您係騰訊雲註冊嘅域名,可以喺騰訊雲域名控制台搵到“技術交流群”點擊掃碼加群尋求幫助,其他域名服務商可以俾筆者發電郵或者前往 Github 倉庫提 issue。
    修改失敗