使用带有Consul的dnsmaqs和递归的混淆

时间:2017-06-27 14:26:05

标签: consul

我正在使用dnsmasq,但我对于在哪里设置了什么有点困惑。一切都按预期工作,但我不确定我的任何配置参数是否多余或会导致问题。

1 - 我是否需要在Consul的配置中设置recusors选项?

2 - 我是否仍然需要nameservers中的/etc/resolv.conf条目?

3 - 我是否需要所有Consul客户端或仅服务器上的dnsmasq?

#/etc/dnsmasq.d/dnsmasq.conf`

server=/consul/127.0.0.1#8600

我的Consul配置如下:

{
    "server": false,
    "client_addr": "0.0.0.0",
    "bind_addr": "0.0.0.0",
    "datacenter": "us-east-1",
    "advertise_addr": "172.16.11.144",
    "data_dir": "/var/consul",
    "encrypt": "XXXXXXXXXXXXX",
    "retry_join_ec2": {
      "tag_key": "SOMEKEY",
      "tag_value": "SOMEVALUE"
    },
    "log_level": "INFO",
    "recursors" : [ "172.31.33.2" ],
    "enable_syslog": true
}

我的/etc/resolv.conf看起来像这样:

nameserver 127.0.0.1
nameserver 172.31.33.2 

1 个答案:

答案 0 :(得分:1)

1)阅读文档:https://www.consul.io/docs/agent/options.html#recursors如果您在Consul中注册了外部服务,那么设置recursor是很好的,否则它可能没什么问题。您可能不希望DNS流量的 ALL 直接命中consul,只需要特定的领事DNS流量。

2& 3:

这取决于你。有些人在每台机器上运行dnsmasq。有些人将dnsmasq集中在他们的内部DNS服务器上。两者都是有效的配置。如果你在每台机器上运行它,那么你可能只需要1个nameserver条目,指向localhost。如果您集中运行它(即仅在您的内部DNS服务器上),那么您只需指向内部DNS服务器上的每台计算机。两者都是有效的选择。