linux - Ubuntu Bind9 DNS 在互联网上不可用
问题描述
我正在尝试使用 Ubuntu 和 Bind9 在 Azure 中设置一个基本的公共 DNS 服务器。
我希望它可以通过 Internet 访问,并将所有请求转发到 Cloudflare 或 Google,但一个自定义区域除外。
我目前有两个问题:
- 我可以让它在本地网络上工作,在同一个子网上设置一个客户端并对公共站点进行 nslookup 转发工作完美,但是当将 Internet 客户端指向 DNS 服务器时,它会超时。
- 自定义区域不起作用,即使在本地网络上也是如此。我尝试将不存在的域设置为指向 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 没有打开。打开后一切正常。
推荐阅读
- firebase - 如何从firebase功能公开缓存数据?
- java - 排除所有依赖项中的工件
- node.js - 如何在exceljs中使用getcell检查空白单元格
- pandas - 简单的 Pandas DataFrame read_csv 然后 GroupBy 与 Count / KeyError
- javascript - electron "MAIN" : 要求你拥有 js 文件并从中调用函数
- reactjs - “未定义状态”,它还显示“此错误发生在构建期间,无法消除”,即使在定义状态之后也是如此
- apache-spark - 火花结构化 Delta 流的情况下的下推滤波器
- javascript - 如何使用角度创建搜索栏
- ios - 如何在使用自定义 TableViewCell 按钮执行 segue 之前更新数据?
- firebase - Firebase auth - 如何重新登录用户?