Resolvconf不会将搜索域添加到带点

时间:2016-09-01 17:19:19

标签: dns resolve consul dnsmasq

我正在尝试做什么

我正在使用Consul用于dns,dnsmasq充当代理(https://www.consul.io/docs/guides/forwarding.html)。

除了直接查询领事(nslookup my.service.consul)之外,我还希望能够在没有.consul后缀(nslookup my.service)的情况下进行查询。

环境

Ubuntu 16.04

配置

的/etc/resolv.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的查询没有resolvconf附加的consul搜索路径。

如果我将/etc/resolv.conf更改为:

search consul service.consul
nameserver 127.0.0.1

然后只搜索mynslookup my),service.consul后缀正确地附加到查询成功,地址为my.service.consul

但是consul <\ n> <{>} my.servicenslookup my.service),即使配置相同。这让我觉得搜索域不会附加到虚线查询。

我尝试过的事情

我在dns-search中尝试了/etc/network/interfaces。没有区别。

我尝试使用dnsmasq的resolv-file选项指定其他文件。仍然没有为点缀查询添加搜索后缀。

我已尝试过resolveconf ndots配置选项的各种选项,但这也不起作用。它正确地改变了是否实际尝试了点数不足的问题(根据官方的resolvconf文档),但它从未设法说服resolvconf将.consul后缀添加到虚线查询中:my.service。< / p>

(在我解决之前我尝试过这些文件和dnsmasq选项的其他组合的负载,这是问题......但这似乎不再相关。)

所以我的问题最终是......

如何说服resolvconf为我的虚线查询consul添加my.service后缀以获取my.service.consul

还请记住,我希望在我的查询中手动指定service,并且不要将它作为resolv.conf中dns搜索域的一部分。特别是因为consul有一个非常动态的数据中心dns搜索工具,如果我尝试指定所有允许的组合,我将很快达到resolv.conf中搜索条目的6域限制。

1 个答案:

答案 0 :(得分:0)

在resolv.conf中:options ndots:2