在 dnsmasq 中设置 TXT 记录不起作用

在 dnsmasq 中设置 TXT 记录不起作用

我想在本地 dnsmasq 中配置一些 TXT 记录,该 dnsmasq 在单板计算机上运行,​​并在本地网络中提供 DHCP 和 DNS 服务器。

我使用它来使我在家里自行托管的服务可以通过与互联网相同的 FQDN 进行访问,但在 A 记录中使用本地 IPv4 地址。

效果很好。

但是我正在努力让 dnsmasq 解析 TXT 记录。在我尝试过但无法获得所需的记录进行解析后,我将示例 TXT 记录从 example.conf 复制到我的 dnsmasq.conf 中

#Example zeroconf
txt-record=_http._tcp.example.com,name=value,paper=A4

重新加载 dnsmasq 然后尝试

dig _http._tcp.example.com TXT @192.168.2.15

这会产生空结果。

然而 dnsmasq.log 说:

Sep 29 21:59:07 dnsmasq[725]: query[TXT] _http._tcp.example.com from 192.168.2.111                                               
Sep 29 21:59:07 dnsmasq[725]: forwarded _http._tcp.example.com to 12.23.45.57   

我试图用谷歌搜索这个,但我找到的只是 example.conf 或手册的链接。

我阅读了联机帮助页和配置文件,但我找不到任何配置开关,这似乎是在本地解析 TXT 记录所必需的。有人成功了吗?

谢谢!

答案1

我本来更愿意发表评论,但我的声誉不允许我这样做。但是,正如你的问题一样Has anybody succeeded?,我想用我自己的经验来回答就可以了。

简而言之,是的,我已经成功了,完全按照你所做的那样:

服务器端(Raspbian“破坏者”):

br@idril:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:        10
Codename:       buster

br@idril:~$ dnsmasq --version
Dnsmasq version 2.80  Copyright (c) 2000-2018 Simon Kelley
Compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify dumpfile
[...]

br@idril:~$ hostname -I
192.168.0.120

br@idril:~$ hostname -d
lan

br@idril:~$ grep ^txt /etc/dnsmasq.conf
txt-record=lan,"v=spf1 a -all"
txt-record=_http._tcp.lan,name=value,paper=A4

br@idril:~$ sudo systemctl restart dnsmasq.service

客户端(Ubuntu“impish”):

br@lorien:~$ lsb_release -a
LSB Version:    security-11.1.0ubuntu3-noarch
Distributor ID: Ubuntu
Description:    Ubuntu 21.10
Release:        21.10
Codename:       impish

br@lorien:~$ hostname -d
lan

br@lorien:~$ dig +short TXT _http._tcp.lan @192.168.0.120
"name=value" "paper=A4"

br@lorien:~$ dig +short TXT lan @192.168.0.120
"v=spf1 a -all"

相关内容