网站LOGO
博客 | 棋の小站
页面加载中
2月21日
网站LOGO 博客 | 棋の小站
记录学习,心得,状态,生活。
菜单
  • 热评
    用户的头像
    首次访问
    上次留言
    累计留言
    我的等级
    我的角色
    打赏二维码
    打赏博主
    用EdgeOne打造个性DNS服务器
    点击复制本页信息
    微信扫一扫
    文章二维码
    文章图片 文章标题
    创建时间
  • 一 言
    确认删除此评论么? 确认
  • 本弹窗介绍内容来自,本网站不对其中内容负责。
    按住ctrl可打开默认菜单

    用EdgeOne打造个性DNS服务器

    · 原创 ·
    技术分享 · 实用教程
    共 7890 字 · 约 7 分钟 · 616

    文章
    摘要

    这篇文章介绍了如何通过腾讯云EdgeOne的自定义NS功能,为自己的网站定制一个个性化的DNS服务器。作者在文章中详细说明了使用EdgeOne的步骤,包括将接入方式改为NS接入、修改DNS服务器、使用自定义NS服务等。文章还提供了使用其他解析服务商进行贴牌DNS的教程,并强调了前提条件和操作步骤。最后,作者分享了一些常见问题的解决方法,并鼓励读者在遇到问题时寻求帮助。

    不知道各位知不知道WHOIS,这是一个查询域名注册信息的系统,互联网上有很多查询WHIOS的平台,其中就可以查询到这个域名的DNS服务器。如果你有专门查询过大厂的域名,你会发现它们的DNS服务器都是具有特色的域名,比如qq.com使用的就是ns1.qq.com到ns4.qq.com。那我们有没有方法为自己的网站定制一个DNS服务器呢?请往下看。

    本人建站其实追求域名一致性,其实就是网站内引用的内容都是来源于同一域名。比如我博客内的CSS、JS资源就来源于本地(blog.qi1.zone),图片则来源于我自己的图床(p.qi1.zone),必应壁纸使用的是自己的API(api.qi1.zone/api/bing)。今天在为博客设置EdgeOne的一些功能时,偶然发现腾讯云新出了一个功能:自定义NS,于是我就研究了一下,发现这玩意和DNS解析有关。既然是自定义NS,应该可以自定义DNS服务器吧。于是研究了一晚上加今天一中午,在课余时间搞完了这个。可以看看成果。

    自定义DNS服务器自定义DNS服务器

    等我上课回来就写一篇教程,教大家如何搭建和我同款的DNS服务器。

    使用EdgeOne

    我是在EdgeOne搭建的NS服务器,操作很简单。首先将接入方式改为NS接入(若你是CNAME接入则改为NS接入)。

    改变接入方式改变接入方式
    提示:在改变接入方式之前,一定一定要备份好原来的DNS解析记录。因为NS接入是使用了EdgeOne的DNS服务,你的所有DNS记录都由EdgeOne管理,这是一个全新的DNS管理,和原来的一般不互通,就连和DNSPod的也不互通,都需要迁移。

    然后修改DNS服务器。用腾讯云的话就是在这里修改:【域名注册】控制台 - 【我的域名】 - 你购买的域名 - 【修改DNS服务器】。我现在用的是自定义的DNS服务器,改变接入方式后先改成EdgeOne提供的DNS服务器。

    更改DNS服务器更改DNS服务器
    当你把DNS服务器改成EdgeOne的服务器后,DNS服务就由EdgeOne接管了。你可以在EdgeOne管理你的解析记录,像以前使用其他管理解析记录一样。

    随后回到EdgeOne,在加速域名的【域名服务】中有一个【DNS配置】,里面有一个【自定义NS服务】。

    自定义NS服务自定义NS服务

    这里面给了两个配额。你可以点击右边的编辑,自定义两个DNS解析域名。

    自定义DNS域名自定义DNS域名

    在定义了这两个域名后,EdgeOne会自动为我们添加A记录,不过这个记录是在EdgeOne控制台内看不到的。如果你尝试重复添加就会报错:NS记录和已有DNS记录冲突。

    在定义了DNS域名后,前往【域名注册】控制台,选择【自定义DNS Host】,点击【添加DNS Host】,DNS Host填你刚刚添加的域名,IP就是【自定义DNS域名】中给的服务器IP。

    添加DNS Host添加DNS Host

    然后将你的DNS服务器改成这两个域名就可以了。

    大功告成,网站一体性又增强了。

    补充

    这里给出一个使用其他厂商提供的DNS服务器自定义DNS域名的教程,是转载自别人的,感兴趣的可以试一试。原文:https://r2wind.cn/articles/20230208.html

    分类写成教程了,其实就是闲谈,平时我们如果注意观察的话就会发现挺多大厂域名的 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 命令来获取,举个例子:

    BASH 代码:
    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 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 服务器和邮箱地址,其他的可以不用管,比如笔者的是:

    BASH 代码:
    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修改示例1

    这是Google Cloud DNS,修改示例:

    修改示例2修改示例2
    PS:在 DNS 记录中,邮箱地址中的 @ 符号需要用 . 代替。是不是有同学还想问主名称服务器是啥,假如你想自定义的 NS 是 ns1.vanitydns.com 和 ns2.vanitydns.com,那么 ns1.vanitydns.com 就是主名称服务器,ns2.vanitydns.com 就是备用名称服务器。(懂得自然懂,不懂照做就行)

    修改域名 DNS 服务器

    完成上面的所有步骤后你就可以修改域名的 DNS 服务器地址为你自己的了,具体如何修改请参考你的域名服务商的帮助文档。

    修改完成后就可以看效果了:

    BASH 代码:
    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: registrar-abuse@google.com
       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。
    修改失败修改失败
    声明:本文由 (博主)原创,依据 CC-BY-NC-SA 4.0 许可协议 授权,转载请注明出处。

    还没有人喜爱这篇文章呢

    现在已有

    24

    条评论
    发一条!
    1. 头像
      abcd
      头像 abcd
      • 等级:Lv.2
      • 角色:访客
      • 在线:三月内

      SOA能修改么?

      · · · 海外
      1. 头像
        abcd

        谷歌那个没试,EdgeOne改不了SOA,压根就不支持SOA解析

        · · · 海外
        1. 头像
          abcd
          头像 abcd
          • 等级:Lv.2
          • 角色:访客
          • 在线:三月内

          感谢回复,EdgeOne的使用体验咋样?被攻击是真的不计费么?

          · · · 海外
          1. 头像
            abcd

            刚才站点被盗刷了,由于我设置了用量封顶策略,在瞬间请求过多时edgeone会暂时关闭这个站点的加速。在刚才的几分钟内,我的站点被盗刷27GB+,而edgeone过滤后的安全流量为0。这个是我亲眼看到的,所以特来在此给你个准确的答案。

            · · · 海外
            1. 头像
              abcd
              头像 abcd
              • 等级:Lv.2
              • 角色:访客
              • 在线:三月内

              是这27G流量不计费么?

              · · · 海外
              1. 头像
                abcd

                是的,清洗后的流量为0
                就截止这次回复之前,这哥们又盗刷我一次,但是都没计入

                · · · 海外
                1. 头像
                  abcd
                  头像 abcd
                  • 等级:Lv.2
                  • 角色:访客
                  • 在线:三月内

                  好嘞,我入手看看防护功能咋样

                  · · · 海外
          2. 头像
            abcd

            EdgeOne我用了很久了,没有高额账单和后付费,使用体验非常好,至于攻击,其实我也不太确定我是否遭受过攻击,因为EdgeOne宣称流量清洗,后台看到的都是清洗后的数据,所以我也不太确定

            · · · 海外
            1. 头像
              abcd
              头像 abcd
              • 等级:Lv.2
              • 角色:访客
              • 在线:三月内

              我模拟攻击自己的网站,60s,TLS攻击,全球IP总共请求400多万(包含中国大陆),共拦截350万左右攻击,还有50多万次的请求没有拦截,清洗之后计费的流量1G多,请求数占大头,如果攻击久一点超出套餐额度就要计费了,提工单,还在排查是什么原因没拦截到……

              · · · 海外
              1. 头像
                abcd

                我也是刚收到通知,这次盗刷它没给清洗,因为它计费有延迟,不过只欠了30多,不好意思我的错,你还是别用了。
                不过我未来要换站点,就不用edgeone了,到时候是直接解析到服务器的,也不用担心盗刷问题。

                · · · 海外
                1. 头像
                  abcd
                  头像 abcd
                  • 等级:Lv.2
                  • 角色:访客
                  • 在线:三月内

                  用高防服务器么,我之前阿里和腾讯云服务器都被攻击过,1-2G UDP攻击就进黑洞了,一次封了几个小时。你提交工单了不,这30的欠费他们有免单不,我提交给他们他们说还在排查日志

                  · · · 广东-中山
                  1. 头像
                    abcd

                    不免 交工单了 我其实手欠把用量封顶策略关了 然后它就一直刷 其实开了最好

                    · · · 海外
    2. 头像
      Net
      头像 Net
      • 等级:Lv.1
      • 角色:访客
      • 在线:三月内

      这教程真不错,等后期自己需要了还得过来学习,目前在使用免费的。

      · · · 海外
      1. 头像
        Net

        嗯呢,感谢支持。
        前面的是我自己写的,后面是转载的,你可以关注一下作者的最新文章,看看它是否对这方面文章有更新。

        · · · 海外
    3. 头像
      TeacherDu
      • 等级:Lv.5
      • 角色:首页 · 好友
      • 在线:本月

      过来学习一下!

      · · · 北京-北京
      1. 头像
        TeacherDu

        下午好!

        · · · 河北-秦皇岛
    4. 头像
      wu先生
      • 等级:Lv.1
      • 角色:访客
      • 在线:很久之前

      套个假壳。

      · · · 湖北-黄冈
      1. 头像
        wu先生

        哈哈,确实,毕竟不是自己加的。

        · · · 河北-秦皇岛
    5. 头像
      完美者
      头像 完美者
      • 等级:Lv.2
      • 角色:访客
      • 在线:三月内

      你有个字体404

      · · · 四川-广元
      1. 头像
        完美者

        感谢提醒,已改正。

        · · · 河北-秦皇岛
    6. 头像
      obaby
      • 等级:Lv.4
      • 角色:综合 · 好友
      • 在线:本月

      越玩越高级

      · · · 山东-青岛
      1. 头像
        obaby

        哈哈,玩网站就得弄一些没弄过的,这样才有成就感。

        · · · 河北-秦皇岛
    7. 头像
      终成
      • 等级:Lv.3
      • 角色:访客
      • 在线:本月

      华为云就可以搞自己的DNS,也是免费的

      · · · 江苏-盐城
      1. 头像
        终成

        都能搞自己的DNS,但是DNS服务器不一定是免费的,看厂商提供不提供了。

        · · · 河北-秦皇岛
    博客logo 博客 | 棋の小站 记录学习,心得,状态,生活。
    ICP 冀ICP备2023007665号

    🕛

    本站已运行 299 天 10 小时 34 分

    🌳

    建站:Typecho 主题:MyLife

    👁️

    今日访问量:1579 昨日访问量:1607
    棋の小站 © 2024.
    网站logo

    博客 | 棋の小站 记录学习,心得,状态,生活。
     
     
     
     
    壁纸
     
     
     
     

    24

    1

  • 下一篇