我正在使用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
答案 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服务器上的每台计算机。两者都是有效的选择。