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):
-
sudo systemctl cat bind9.service | grep ExecStart
sudo systemctl cat bind9.service | grep ExecStart
。 这提供了用于启动bind9
守护程序的当前cmdline。 -
sudo systemctl edit bind9.service
。 出现一个空编辑器,允许覆盖服务定义的必需方面。 -
将
-4
标志添加到保存文件时前面提到的ExecStart
cmdline。 就我而言,它看起来像这样:[Service] ExecStart= ExecStart=/usr/sbin/named -4 -f -u bind
(注意:第一个空白的
ExecStart=
是预期的 – 参考前面提到的文章 )。 - 如果您想检查覆盖是否到位,可以重新运行:
systemctl cat bind9.service
-
systemctl restart bind9.service
- 从节点运行一些请求并检查一切是否正常:
systemctl status bind9.service
– 之前这已经充满了上面提到的错误。