使用consul和dnsmasq进行反向dns查找

时间:2015-09-29 20:14:35

标签: dns dnsmasq consul

我已经设置了领事(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方案。

1 个答案:

答案 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

因此,该范围内的IP将转发到第二部分(在8600端口运行的consul代理dns)。