我已经设置了领事(http://consul.io/)和dnsmasq,以便我可以拥有自己的内部DNS分辨率。我用dig测试过consul支持反向dns查找:
$ dig @127.0.0.1 -p 8600 +noall +answer -x 11.0.16.69
69.16.0.11.in-addr.arpa. 0 IN PTR ip-11-0-16-69.node.dc1.consul.
然而,通过dnsmasq反向dnslookup失败。如何配置dnsmasq以将反向查找条目转发给consul?
我目前正在使用默认配置运行consul。每个节点都有一个如此启动的consul代理:
consul agent -data-dir=/tmp/consul -bind <ip> -node <short hostname>
Dnsmasq在每个节点上都运行默认配置,除了单个设置将dns请求转发到端口8600的consul。/etc/dnsmasq.d/10-consul
有一个文件用内容执行此操作:
server=/consul/127.0.0.1#8600
最后,我在/etc/resolve.conf
中添加了一个条目指向localhost,因此使用了dnsmasq:
search us-gov-west-1.compute.internal
nameserver 127.0.0.1
nameserver 11.0.0.2
我在AWS上,至关重要的是我仍然可以利用他们在环境中提供的DNS服务以及我自己的内部DNS方案。
答案 0 :(得分:1)
添加以下行:
server=/16.0.11.in-addr.arpa/127.0.0.1#8600
到/etc/dnsmasq.d/some_name
16.0.11代表cidr 11.0.16/24
因此,该范围内的IP将转发到第二部分(在8600端口运行的consul代理dns)。