Ubuntu Bind9 DNS 在互联网上不可用

问题描述

我正在尝试使用 Ubuntu 和 Bind9 在 Azure 中设置一个基本的公共 DNS 服务器。

我希望它可以通过互联网访问并将所有请求转发到 Cloudflare 或 Google,但一个自定义区域除外。

我目前有两个问题:

  1. 我可以让它在本地网络上工作,在同一子网上设置一个客户端并对公共站点执行 nslookup 转发工作完美,但是当将互联网客户端指向 DNS 服务器时,它超时。
  2. 自定义区域不起作用,即使在本地网络上也是如此。我尝试将不存在的域设置为指向 IP 并设置单独的区域文件,但没有任何反应。即使在 dns 服务器上,我也无法让它工作。

我不认为问题 1 是防火墙问题,为了进行测试,我已允许打开所有端口和 IP,并在 DNS 服务器防火墙上打开端口 53。 我认为这两个问题都与 Bind9 配置有关,我对此知之甚少。也许你们可以帮忙。

这是配置文件:

/etc/bind/named.conf.local:

zone "fakehostname.com" {
        type master;
        file "/etc/bind/zone.fakehostname.com";
};

/etc/bind/named.conf.options:

options {
  directory "/var/cache/bind";

  forwarders {
    1.1.1.1; // Cloudflare
    8.8.8.8; // Google
  };

  allow-query { any; };

  dnssec-validation auto;

  auth-nxdomain no;
  listen-on-v6 { any; };

  recursion yes;
  querylog yes;
  version "not available";
};

/etc/bind/zone.fakehostname.com:

$TTL    604800
@       IN      SOA     fakehostname.com. admin.fakehostname.com. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
@       IN      NS      localhost.
@       IN      A       10.10.10.10
mail    IN      A       10.10.10.10
@       IN      MX      10 mail.fakehostname.com.
@       IN      TXT     "hello"

解决方法

抱歉,这是一个错误,配置正确,问题出在 Azure NSG 防火墙配置中。我以为我已允许所有端口进行测试,但 UDP 53 未打开。打开后一切正常。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...