configurationLXC使用特定的DNS服务器而不是DNSMASQ

开箱即用,我的LXC容器连接到正在运行的dnsmasq实例,该实例由lxc-net服务启动。

就我而言,我正在运行一个本地未绑定的DNS服务器,该服务器连接到一个名为ncdns的东西,它允许我浏览通过Namecoin注册的.bit域。

这两个冲突。 我的lxc容器依赖DNS的dnsmasq ,在端口53上运行。同时,我的unbound服务器必须在端口53上运行,以便我到达.bit域。 (请参阅这个post的评论,因为不能使用非标准端口在resolv.conf中包含一个名称服务器;我也在一个IRC频道上询问,基本上知道将resolv.conf指向一个非标准端口上的DNS服务器是基本上不可能)。

所以我需要做的是创build一个支持LXC的东西的组合DNS服务器,也可以parsing.bit域,并在端口53上运行THAT。

可以假定我的unbound服务器recursionparsing.bit域,并将所有其他域转发到我的路由器,因此它可以有效地解决所有域。

问题如下:

1:你如何告诉lxc-net不要启动dnsmasq?

2:我假设没有进一步configuration, unbound不会作为我的LXC容器的DNS服务器。 我如何configurationunbound以便它做什么dnsmasq为我的lxc容器做? (这个问题的答案可能是由lxc-net(我还没有find)启动时使用的dnsmasq conf文件的位置,以便我可以尝试复制该configuration下的unbound或其他文档与lxc-net使用的dnsmasq conf文件具有相同的信息)

好吧,我想我知道了。 我会接受这个答案,但记下我的话,我会发表另外一个问题,如果在这条路上结果不起作用。

我在这台电脑上仍然运行3(!)个DNS服务器: dnsmasq因为它带有LXC(不像“它来了”,见下文), ncdns是Namecoin DNS服务器,并且没有unbound

再一次,我只能在端口53上运行一个DNS服务器,所以我必须为该端口select一个或另一个。 我可以把我的unbound设置,并扩展它做什么dnsmasq做,反之亦然。 由于dnsmasq似乎已经被错综复杂地configuration为与LXC一起工作,并且还作为一个不受约束的不能做的DHCP服务器,我决定以此为出发点。

我使用以下内容创build了一个/etc/dnsmasq.conf文件:

 listen-address=127.0.0.1 resolv-file=/etc/resolv.dnsmasq.conf server=/bit./127.0.0.1#5301 

第一dnsmasq能够监听我的本地地址,不仅为LXC容器parsing名称,还为我的PCparsing名称。 第二行告诉dnsmasq使用一个特殊的resolv文件,我从resolv.conf中复制和粘贴(如果有人在意,指向我的路由器的IP地址)。 第三行和最后一行添加了一个.bit存根域,请求被转发到我在端口5301上运行的unbound服务器。

我也改变了我的resolv.conf文件

 nameserver 127.0.0.1 

这样所有的DNS查询都由dnsmasq完成。