我正在编写一个动态 DNS 服务,它应该根据数据库查询返回结果。
我的 DNS 服务器是用 node.js 编写的,它查询数据库以获取实际 IP。
我的域名托管在 Route53 上,但我不确定如何将所有子域名指向我的服务器。
所以基本上,我在 route53 下注册了 example.com,并且我想将所有 *.dyn.example.com 指向我的 DNS 服务器(ec2 实例),这样它就可以将其解析为正确的 IP。
我尝试创建一个新的名称服务器条目,但 route53 不允许使用通配符。我在那里还有很多其他子域,这就是为什么我只想将 *.dyn.example.com 指向我的 DNS 服务器,而不是 *.example.com。
任何帮助都将不胜感激...
答案1
您需要dyn.example.com
在 Route53 上配置 NS 记录,该记录指向运行自定义名称服务器的 EC2 实例,该服务器对域具有权威性dyn.example.com
。现在,对 下的主机名的 DNS 查询dyn.example.com
将到达您的 EC2 实例。所有其他资源记录都将位于此 EC2 名称服务器上,以便它可以响应查询。
类似这样的事情应该有效。
dyn.example.com. 172800 IN NS ec2.example.com.
您不需要为 NS 记录添加通配符条目。如果您为 EC2 实例提供的主机名位于dyn.example.com
你可能只需要使用Route53 API根据您的应用程序逻辑创建/修改/删除 DNS 记录并使用 Route53 本身来托管区域,在这种情况下您不需要运行单独的名称服务器。