我正在尝试配置本地bind
DNS 服务器以通过 AWS Route 53 解析域。
到目前为止,我已经在 Route 53 中创建了一个托管区域,为此我拥有了名称服务器:
ns-1474.awsdns-56.org.
ns-189.awsdns-23.com.
ns-2002.awsdns-58.co.uk.
ns-892.awsdns-47.net.
现在是棘手的部分。在我的本地机器上,我已经安装bind
并创建了一个应该将其转发到 AWS 的区域文件,但它没有。
(免责声明,我已将真实域名替换为ha-test.com
)
;
; BIND data file for ha-test.com
;
$TTL 604800
@ IN SOA ha-test.com. root.ha-test.com. (
10 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
;ha-test.com. IN A 192.168.1.100
ha-test.com. IN NS ns-1474.awsdns-56.org.
ha-test.com. IN NS ns-189.awsdns-23.com.
ha-test.com. IN NS ns-2002.awsdns-58.co.uk.
ha-test.com. IN NS ns-892.awsdns-47.net.
如果我取消注释A
,它确实将域解析为 IP,否则,它不起作用。
我希望将 NS 设置为上述那些足以bind
转发到 DNS,但显然,我错了。
这是的输出dig
:
dig @127.0.0.1 ha-test.com
; <<>> DiG 9.16.1-Ubuntu <<>> @127.0.0.1 ha-test.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60486
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 99e2f6f74458640b01000000600eed92f545a3c7ada5b428 (good)
;; QUESTION SECTION:
;ha-test.com. IN A
;; AUTHORITY SECTION:
ha-test.com. 604800 IN SOA ha-test.com. root.ha-test.com. 10 604800 86400 2419200 604800
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: пон јан 25 17:10:58 CET 2021
;; MSG SIZE rcvd: 121
如果我做
dig @ns-1474.awsdns-56.org ha-test.com
它可以正确解决。
更新
设法解决它,但我不确定这是否是正确的方法:
在named.conf.local
中,我有一个这样的区域:
zone "ha-test.com" IN {
type master;
file "/etc/bind/zones/ha-test.com";
};
将其替换为转发区域后:
zone "ha-test.com" {
type forward;
forwarders { 205.251.194.241; };
};
上面的IP是我得到的IP ns-1474.awsdns-56.org
。我可以从所有 NS 中放置多个 IP,但这似乎有点不对劲。不是吗?