Debian 11 无法解析 .local 名称

Debian 11 无法解析 .local 名称

更新(2021 年 12 月 6 日):
avahi 或 libnss_mdns 中似乎有一个错误,请参阅https://github.com/lathiat/nss-mdns/issues/81
时机不佳。

我有 2 台运行 Debian 11 的单板计算机,其中没有一台能够使用开箱即用的 mDNS 解析 .local 域中的任何主机。这是运行时 ping 的输出本地垃圾

brain@junk:~$ ping atom.local    
ping: atom.local: Name or service not known

pinging原子局部在我运行 Ubuntu 的电脑上,工作正常:

brain@home:~$ ping atom.local
PING atom.local (192.168.0.135) 56(84) bytes of data.
64 bytes from atomic (192.168.0.135): icmp_seq=1 ttl=64 time=0.394 ms

使用 Ubuntu 21.10、Windows 和 iOS 都可以通过名称“atom.local”和“junk.local”访问它们。硬件相同,两台机器都通过路由器上的 DHCP 服务获取网络设置。上原子局部网络由网络(基本服务器安装)管理,在本地垃圾- 通过 NetworkManager(桌面 + KDE 安装)。我尝试了很多指南,配置 avahi、nsswitch、systemd-resolved、NetworkManager,但没有一个对我有用。修改 /etc/resolv.conf 我得到了一些结果

  1. 名称服务器 192.168.0.1这是默认的 DNS 服务器(我的路由器),无法解析 .local 主机。如果我使用 ISP 的 DNS 服务器,结果相同。
  2. 名称服务器 127.0.0.1.local 名称已被解析,由于显而易见的原因,没有其他任何内容。
  3. 名称服务器 127.0.0.53我从我的 Ubuntu PC 上复制了它,一切正常!另外,我使用 Google 的 8.8.8.8 得到相同的结果

现在我有一个问题:如何正确配置 mDNS?为什么它与 Google DNS 服务器运行良好?在阅读了该网站上的大量指南和答案后,我有点困惑。

在我的 nsswitch.conf 中我有这一行:

hosts:          files mdns4_minimal [NOTFOUND=return] dns

avahi 解决avahi 浏览在这些机器上运行良好。

如果我使用 127.0.0.53 或 8.8.8.8 作为名称服务器,我将获得 IPV6 地址

brain@junk:~$ getent hosts atom.local
fe80::207:32ff:fe4e:7d17 atom.local

那么这mdns4_minimal根本没有任何作用吗?现在我完全困惑了。

答案1

对于最小的服务器安装,使用组合就足够了systemd-networkd+systemd 解析

sudo nano /etc/systemd/resolved.conf 取消注释MulticastDNS=yes

sudo nano /etc/systemd/network/10-lan.network 我使用了简单的配置:

[Match]
Name=enp1s0 #Put your interface here

[Network]
DHCP=ipv4
MulticastDNS=yes

使能够网络化解决服务,启动它们:

sudo systemctl enable systemd-networkd
sudo systemctl enable systemd-resolved
sudo systemctl start systemd-networkd
sudo systemctl start systemd-resolved

禁用/屏蔽默认网络服务:

sudo systemctl disable networking

重命名或删除旧的网络内容,此步骤对于保留/etc/resolv.conf受控制于解决服务:

sudo mv /etc/network/interfaces /etc/network/interfaces.save

终于成功了,耶!

相关内容