我正在尝试设置Route53,以便与consul集群位于同一VPC上的实例可以访问.consul端点。
出于实验目的,我使用BIND(私有IP 172.31.56.55)设置了三个服务器节点中的一个,并使用DNS转发作为名称服务器,添加了allow-query { any; }
和listen-on port 53 { any; };
我有一个"consult."托管区,其中包含以下SOA、NS和a(粘合)记录:SOA:
ns1.consul. hostmaster.consul. 1 7200 900 1209600 86400
NS:
ns1.consul.
ns1.领事A:
172.31.56.55
如果我在挖掘命令中指定@ns1.consult,它会起作用,但如果我省略它,它就不会起作用。我缺少什么/配置错误?
[ec2-user@ip-172-31-56-55 ~]$ dig @ns1.consul consul.service.dc1.consul
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.39.amzn1 <<>> @ns1.consul consul.service.dc1.consul
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46403
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;consul.service.dc1.consul. IN A
;; ANSWER SECTION:
consul.service.dc1.consul. 0 IN A 172.31.51.192
consul.service.dc1.consul. 0 IN A 172.31.56.55
consul.service.dc1.consul. 0 IN A 172.31.52.9
;; Query time: 5 msec
;; SERVER: 172.31.56.55#53(172.31.56.55)
;; WHEN: Sat Oct 17 18:07:32 2015
;; MSG SIZE rcvd: 91
ec2-user@ip-172-31-56-55 ~]$ dig consul.service.dc1.consul
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.39.amzn1 <<>> consul.service.dc1.consul
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 24575
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;consul.service.dc1.consul. IN A
;; AUTHORITY SECTION:
consul. 60 IN SOA ns1.consul. hostmaster.consul. 1 7200 900 1209600 86400
;; Query time: 2 msec
;; SERVER: 172.31.0.2#53(172.31.0.2)
;; WHEN: Sat Oct 17 18:20:34 2015
;; MSG SIZE rcvd: 94
在Route 53中,似乎没有使用私有托管区域进行设置的选项:https://forums.aws.amazon.com/thread.jspa?threadID=218389
一种解决方案可以是将公共IP地址分配给领事服务器,将领事配置为在其域内使用有效的TLD(例如my consume zone.com),并使用公共托管区域。
我认为问题是绑定不能很好地与执政官配合,我没有深入研究这个问题,所以我无法判断哪一方有问题,一旦我让执政官充当DNS服务器(在非本地主机接口的端口53上侦听),一切都很好。