我想在本地 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"