我有一个域名在我自己的linode下bind9我也有一个VPC在AWS中,我想维护一个DNS子域下Route53。 我试着按照下面的说明: http : //docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingSubdomain.html
对我的/etc/bind9/named.conf进行了以下更改:
zone "aws.starshine.org" { type slave; file "/var/lib/bind/aws.starshine.org"; masters { 205.251.197.214; 205.251.195.5; 205.251.198.215; 205.251.192.111; }; };
那里的IP地址是从这里收集的:
for i in "ns-1494.awsdns-58.org" "ns-773.awsdns-32.net" "ns-1751.awsdns-26.co.uk" "ns-111.awsdns-13.com"; do echo -en "$i\t"; dig +short "$i"; done
…这些命令的输出粘贴了这些名字:
aws route53 get-hosted-zone --id /hostedzone/Z24Z8xxxxxxxIN
如果我运行如下命令: dig aws.starshine.org。 @ ns-111.awsdns-13.com我看到了SOAlogging。 如果我添加ns,我会看到Amazon NSlogging。 但是,如果我通过正常的NDS或通过我自己的权威DNS服务器查询starshine.org我没有看到代表团。
下面是我从几个挖掘命令中得到的结果:
dig aws.starshine.org @ns.starshine.org. ; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> aws.starshine.org @ns.starshine.org. ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 49466 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;aws.starshine.org. IN A apogee:/var/lib/bind# dig aws.starshine.org ;; ... ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 41291 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;aws.starshine.org. IN A ;; AUTHORITY SECTION: starshine.org. 200 IN SOA ns1.starshine.org. hostmaster.starshine.org. 2014091602 2000 1000 691200 600
我不明白为什么我要在这些情况下获得NXDOMAIN和SERVFAIL。 我已经完全重新启动我的BIND服务器进程( /etc/init.d/bind9 restart )。
我在我的日志中看到以下内容:
Nov 23 05:26:26 apogee named[1438]: zone aws.starshine.org/IN/internal-in: Transfer started. Nov 23 05:26:27 apogee last message repeated 2 times
那么,我的代表团在做什么呢? 我需要在AWS Route53端启用某些function吗? 它向我展示了一个SOA和NSlogging(以及一个我已经添加并且可以查询的Alogging。
(将我的resolv.conf (在我的VPC上的节点上)设置为指向AWS DNS名称服务器,可以让我看到子域名(正如我们所期望的那样)。(然而,使用以下消息打破所有其他DNS: Status:REFUSED和警告:recursion请求但不可用 。
我忘了在我以前的文章中提到它,但是我也有IN NS“glue”logging到我的starshine.org区域文件中,如下所示:
;; GLUE for aws.starshine.org hosted in AWS: aws.starshine.org. IN NS ns-1494.awsdns-58.org. IN NS ns-773.awsdns-32.net. IN NS ns-1751.awsdns-26.co.uk. IN NS ns-111.awsdns-13.com. ns-1494.awsdns-58.org. IN A 205.251.197.214 ns-773.awsdns-32.net. IN A 205.251.195.5 ns-1751.awsdns-26.co.uk. IN A 205.251.198.215 ns-111.awsdns-13.com. IN A 205.251.192.111
我也尝试在我的named.conf中添加一个转发器列表:
zone "aws.starshine.org" { type forward; forwarders { 205.251.197.214; 205.251.195.5; 205.251.198.215; 205.251.192.111; }; };
正如ChrisV所说,看起来你正试图build立一个你不能做的区域转移。
要为子域进行委派,只需要为父域的子域创buildNSlogging。
所以在starshine.org的zonefile中:
aws IN NS ns-1494.awsdns-58.org. aws IN NS ns-773.awsdns-32.net. aws IN NS ns-1751.awsdns-26.co.uk. aws IN NS ns-111.awsdns-13.com.
然后你为aws.starshine.org.定义所有的loggingaws.starshine.org. 路由53名称服务器中的区域。
看起来我在我的starshine.org区域文件中有一些其他错误,导致我的starshine.org名称服务器给我SERVFAIL响应。 我想这也是给二级备份的caching响应,错误在我的日志中并不明显。
什么工作是安装nslint软件包(Debian)…运行它,并走过每个错误,修复它,直到错误消失。
在这种情况下,代表团只使用我的区域文件中的“胶水”logging…而我并不试图从属,甚至无法在我的named.conf中定义转发器。