我想做的是
我正在使用dns领事,使用dnsmasq作为代理(https://www.consul.io/docs/guides/forwarding.html)。
除了直接查询领事(nslookup my.service.consul)之外,我还希望能够在没有.consul后缀(nslookup my.service)的情况下进行查询。
环境
Ubuntu 16.04
配置
/etc/conv.conf
search consul
nameserver 127.0.0.1/etc/dnsmasq.conf
server=/consul/127.0.0.1#8600
server=8.8.8.8
server=8.8.4.4/etc/网络/接口
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.10.10.102
netmask 255.255.255.0
gateway 10.10.10.1问题
我遇到的问题是,对于my.service的查询没有解析器附加的consul搜索路径。
如果我将/etc/resolv.conf更改为:
search consul service.consul
nameserver 127.0.0.1然后只搜索my (nslookup my),将service.consul后缀正确地附加到查询成功后,并为my.service.consul提供一个地址。
但是consul并没有附加到my.service (nslookup my.service)中,尽管配置是相同的。这让我认为搜索域没有附加到虚设的查询中。
我试过的东西
我试过dns-search in /etc/network/interfaces。没什么区别。
我尝试使用dnsmasq的resolv-file选项来指定不同的文件。仍然没有搜索后缀添加到虚设的查询中。
我已经尝试过解决方案的各种配置选项,但这也不起作用。它正确地更改了是否实际尝试了点数不足的查询(按照正式的解析文档),但它始终无法说服解析器将.consul后缀添加到虚设的查询:my.service。
(还有大量其他文件和dnsmasq选项的组合,在我发现这是个问题之前我就试过了.但这似乎与此无关。)
所以我的问题最终是..。
如何说服解析器为我的虚线查询my.service添加my.service后缀以获取my.service.consul
还请记住,我确实希望在我的查询中手动指定service,并且不希望它作为resolv.conf中dns搜索域的一部分。特别是由于领事对数据中心等具有相当动态的dns搜索设施,如果我试图指定所有允许的组合,我将很快达到resolv.conf中搜索条目的6个域限制。
发布于 2016-09-02 13:36:15
在resolv.conf:options ndots:2中
https://stackoverflow.com/questions/39277449
复制相似问题