Ubuntu MAAS DNS不转发请求

我正在尝试MAAS,但我无法让节点到达互联网。 这是我的设置:

3台物理机,其中1台有两块网卡作为网关,集群控制器和区域控制器。 网关/控制器设置为有一个接口从公司网络接收IP,而另一个接口由MAAS管理(DHCP和DNS)。

从网关,我没有问题伸出手,但节点不能。 我查看了控制器/网关,我可以看到bind9正在运行。

$ service bind9 status * bind9 is running 

dig ubuntu.com给我结果。 但如果我dig @127.0.0.1 ubuntu.com ,我就得不到回报。 我也查看了bind配置,一切似乎都是有序的(转发器已经设置好了。)我错过了什么?

这是相关的绑定配置

 $ cat /etc/bind/named.conf include "/etc/bind/named.conf.options"; include "/etc/bind/named.conf.local"; include "/etc/bind/named.conf.default-zones"; $ cat /etc/bind/named.conf.options options { directory "/var/cache/bind"; dnssec-validation auto; include "/etc/bind/maas/named.conf.options.inside.maas"; auth-nxdomain no; listen-on-v6 { any; }; }; $ cat /etc/bind/maas/named.conf.options.inside.maas forwarders { 172.24.3.136; }; 

看起来像“得到不安全的回应”是个问题。 从StackOverflow找到此解决方案: https ://stackoverflow.com/a/14923549/1692452

这与新的DNSSECfunction有关,现在默认启用该function。 这可能表示您使用的DNS解析器/转发器不支持DNSSEC,因此响应似乎对您的服务器不安全。

您可以使用支持DNSSEC的解析程序,也可以暂时禁用服务器上的function。 要禁用它,只需在“named.conf”中使用这些参数:

dnssec-enable no; dnssec-validation no;

除了OP的答案中报告的dnssec问题( no valid RRSIG resolving ... ),我也遇到了IPv6的问题,这表现了如下:

 maas1 named[1532]: network unreachable resolving './NS/IN': 2001:503:c27::2:30#53 

解决方案是仅在v4模式下启动bind9 。 为实现这一目标,我利用了这篇文章 (我在运行systemd的Xenial上使用MAAS 2.1):

  1. sudo systemctl cat bind9.service | grep ExecStart sudo systemctl cat bind9.service | grep ExecStart 。 这提供了用于启动bind9守护程序的当前cmdline。
  2. sudo systemctl edit bind9.service 。 出现一个空编辑器,允许覆盖服务定义的必需方面。
  3. -4标志添加到保存文件时前面提到的ExecStart cmdline。 就我而言,它看起来像这样:

     [Service] ExecStart= ExecStart=/usr/sbin/named -4 -f -u bind 

    (注意:第一个空白的ExecStart=是预期的 – 参考前面提到的文章 )。

  4. 如果您想检查覆盖是否到位,可以重新运行: systemctl cat bind9.service
  5. systemctl restart bind9.service
  6. 从节点运行一些请求并检查一切是否正常: systemctl status bind9.service – 之前这已经充满了上面提到的错误。