我正在测试Debian 10服务器升级到Debian 11的过程。服务器运行bind9作为许多域的主要权威DNS,而Debian 10已经运行了两年。(Bin.9.11.5)在一个新的测试Debian 11 VPS (BIND 9.16.15)上,站点特定的配置文件被复制(目前只复制一个测试域),bind9在通过IPv4发送查询(A、AAAA、MX)时正常工作,但使用IPv6时没有响应。
我有一个nftable防火墙,它允许端口53的传入数据包,如果我为UDP 53打开防火墙日志记录,IPv6和IPv4查询包都会显示出来。
当bind9启动时,它在syslog中报告它正在监听IPv6地址。
ss显示了在IPv6上监听的过程。
如果我使用rndc querylog并查看日志文件,则会记录IPv4查询,但不会记录IPv6查询。
就好像传入的UDP数据包在防火墙和bind9之间丢失了一样。
没有其他进程正在监听端口53,因为如果我停止运行bind9,ss就不会列出任何内容。
其他服务(如SSH)在IPv6上工作得很好。
我的named.conf.options看起来是这样的:
options {
directory "/var/cache/bind";
allow-query-cache { none; };
allow-query { any; };
recursion no;
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
dnssec-validation auto;
listen-on-v6 port 53 { any; };
};那么,我还能做什么测试来解决这个问题呢?
( BIND的第二个问题可能与此无关:在区域传输到辅助DNS期间出现“拒绝权限”错误。)
发布于 2021-08-17 19:47:57
通过重新启动来修复!
最近完成了自动内核升级之后,我可能就应该这样做了。这种行为当然没有任何意义。
更新:再次遇到类似的问题后,我现在怀疑这是因为我的系统以前安装了其他软件安装的iptable。如果iptables还在安装,它的规则可能会在内核的网络配置中持续存在,这在nftable中是看不见的。要解决这个问题,我必须同时删除iptables包并清除内核中的任何iptables规则;当我重新启动时,后者就会发生。
https://serverfault.com/questions/1074668
复制相似问题