有些DNS厂商提供DNS branding,即所谓DNS品牌服务。使用这个功能后,用户的域名虽然是托管在DNS服务商,但域名在DNS服务器里的任何信息,都看起来像是自己的专有服务器。
要实现DNS branding,用户需要设置两个地方:
- NS服务器信息,比如用户的域名是example.com,那么NS服务器就是ns1.example.com、ns2.example.com
- SOA记录数据,比如mname(主DNS)是ns1.example.com,rname(管理邮箱)是[email protected]
升龙云2.0的云解析服务,允许用户设置自己域名的DNS branding。用户可以在web面板里操作,也可以通过API调用来操作。步骤如下:
(一)在云解析系统添加一个域名:
curl -s -k https://resolver.yyclouds.com/api/createZone -d "email=xxx" -d "token=xxx" -d "zone=example.com"
输出结果:
(二)添加域名的NS服务器的A记录:
curl -s -k https://resolver.yyclouds.com/api/createRecord -d "email=xxx" -d "token=xxx" -d "zone=example.com" -d "host=ns2" -d "data=5.6.7.8" -d "ttl=300" -d "type=A"
输出结果:
上述添加了ns2.example.com的A记录,同样方法添加ns1.exampe.com的A记录,这样就有了2个NS服务器。当然,NS服务器的A记录的IP绝对不能随便乱指,必须指向服务商的权威NS服务器的IP地址。
(三)添加两笔NS记录,指向刚才设置的域名的NS服务器:
curl -s -k https://resolver.yyclouds.com/api/createRecord -d "email=xxx" -d "token=xxx" -d "zone=example.com" -d "host=" -d "data=ns2.example.com" -d "ttl=300" -d "type=NS"
输出结果:
上述添加ns2.example.com为域名的NS服务器,同样方法再添加ns1.example.com为NS服务器。
(四)查看已有的记录:
curl -s -k https://resolver.yyclouds.com/api/listRecords -d "email=xxx" -d "token=xxx" -d "zone=example.com"
输出结果包括:
我们看到自定义的域名NS记录已存在了。现在需要删除两个默认的NS服务器,即ns1.yyclouds.com和ns2.yyclouds.com
(五)删除两个默认的NS记录:
curl -s -k https://resolver.yyclouds.com/api/removeRecord -d "email=xxx" -d "token=xxx" -d "zone=example.com" -d "rid=13258"
curl -s -k https://resolver.yyclouds.com/api/removeRecord -d "email=xxx" -d "token=xxx" -d "zone=example.com" -d "rid=13261"
再运行第四步的方法,可看到默认的NS服务器已经删除。
(六)查询该域名默认的SOA记录:
curl -s -k https://resolver.yyclouds.com/api/checkSoa -d "email=xxx" -d "token=xxx" -d "zone=example.com"
输出结果:
上述mname(主DNS)和rname(管理邮箱)是我们需要更改的地方。
(七)变更SOA记录的数据:
curl -s -k https://resolver.yyclouds.com/api/updateSoa -d "email=xxx" -d "token=xxx" -d "zone=example.com" -d "mname=ns1.example.com" -d "[email protected]" -d "expire=604800" -d "minimum=300" -d "refresh=7200" -d "retry=1800" -d "serial=1040"
上述变更mname为ns1.example.com,rname为[email protected]。注意serial(序列号)每次变更都要比以前大。
再运行第六步的方法,可看到SOA数据已经更新了:
(八)最后直接查询该域名的权威NS服务器,验证上述所有修改是否生效。
先查询NS记录:
dig example.com ns @ns1.yyclouds.com
输出结果:
再查询SOA记录:
dig example.com soa @ns1.yyclouds.com
输出结果:
所有信息验证正确,DNS branding设置完成。
如果用户要在实际中使用上述设置好的DNS branding,还要到注册商(registrar)那里去注册NS服务器,并且设置自己的域名,使用上述添加的两个自定义NS服务器。