Ala*_*yne 5 dns dnsmasq resolve consul
我使用 Consul 进行 dns,并使用 dnsmasq 作为代理(https://www.consul.io/docs/guides/forwarding.html)。
除了直接查询consul(nslookup my.service.consul)之外,我还希望能够不带.consul后缀(nslookup my.service)进行查询。
乌班图16.04
search consul
nameserver 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
server=/consul/127.0.0.1#8600
server=8.8.8.8
server=8.8.4.4
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,查询my.service没有consulresolvconf 附加的搜索路径。
如果我更改/etc/resolv.conf为:
search consul service.consul
nameserver 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
然后仅搜索my( nslookup my),service.consul后缀正确附加到查询成功,地址为my.service.consul。
但即使配置相同,也不会consul附加到( )。这让我认为搜索域不会附加到点式查询中。my.servicenslookup my.service
我试过dns-search在/etc/network/interfaces. 没有不同。
我尝试使用 dnsmasq 的resolv-file选项来指定不同的文件。仍然没有搜索后缀添加到点式查询中。
我已经尝试了resolveconf ndots配置选项的各种选项,但这也不起作用。它正确地改变了是否实际尝试了点不足的查询(根据官方 resolvconf 文档),但它从未成功说服 resolvconf 将后缀添加.consul到点查询中:my.service。
(以及在我发现这是问题之前尝试过的这些文件和 dnsmasq 选项的其他组合的负载......但似乎不再相关。)
如何说服 resolvconfconsul为我的点式查询添加后缀my.serviceget my.service.consul?
另请记住,我确实希望service在我的查询中手动指定 ,并且不希望将其作为 resolv.conf 中 dns 搜索域的一部分。特别是因为 consul 对于数据中心等有相当动态的 dns 搜索工具,如果我尝试指定所有允许的组合,我很快就会达到 resolv.conf 中搜索条目的 6 个域限制。
| 归档时间: |
|
| 查看次数: |
3031 次 |
| 最近记录: |