每次重新启动 tinydns 时都会发生这种情况:
2023-11-08 13:36:48.528525500 starting tinydns
2023-11-08 13:36:48.532457500 ff9ea461:d90c:3be5 + 001c mydomain.ca
2023-11-08 13:36:48.655592500 ff0c2164:7ed2:a831 + 0001 b.ns.otherdomain.com
2023-11-08 13:36:48.763519500 ff0c2164:67b7:479c + 001c a.ns.otherdomain.com
2023-11-08 13:36:50.370836500 ff1514a6:faea:296a + 0001 differentone.ca
2023-11-08 13:36:50.783076500 ff6ace95:97d5:0000 / 0000 .
2023-11-08 13:36:50.840002500 ff6ace98:2c61:0000 / 0000 .
2023-11-08 13:36:50.874248500 ff6ace49:5c57:0000 / 0000 .
并且 0000 / 0000 行将继续用于所有其他查询(几天或几周后才重新启动)。
这可能与将 Ubuntu 20.04 升级到 22.04(即内核 5.4.0 升级到 5.15.0)同时开始。我从 2002 年左右开始在各种服务器上运行 djbdns,在本例中是在 Ubuntu virtualbox VM 上运行。它是从 djb 的 1.05 .tar.gz 构建的,除了臭名昭著的 errno.h 更改外什么都没有。
答案1
有一个解决方案:Qmail 邮件列表存档
我使用了“lenin at hasiru”的 djbdnslimit.patch
按照他的指示:
tar zxvf djbdns-1.05.tar.gz
wget http://hasiru.net/djbdnslimit.patch
patch -p0 <djbdnslimit.patch
cd djbdns-1.05
echo gcc -O2 -include /usr/include/errno.h > conf-cc
然后我必须做出改变error.h
:
old: extern int errno;
new: #include <errno.h>
- 谢谢内韦姆特夫关于相关问题。
最后:
make setup check
还必须更改我的/service/tinydns/run
文件以便softlimit -d600000
tinydns 在回答 6-20 个查询后始终停止回答查询(记录[...] 0000 / 0000 .
)。现在它很稳定。