Debian 11은 .local 이름을 확인할 수 없습니다.

Debian 11은 .local 이름을 확인할 수 없습니다.

업데이트(2021년 12월 6일):
avahi 또는 libnss_mdns에 버그가 있는 것 같습니다.https://github.com/lathiat/nss-mdns/issues/81
타이밍이 좋지 않습니다.

나는 Debian 11을 실행하는 2대의 단일 보드 컴퓨터를 가지고 있는데, 둘 다 기본적으로 mDNS를 사용하여 .local 도메인의 호스트를 확인할 수 없습니다. 실행 중 ping의 출력입니다.지역 쓰레기:

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

원자 로컬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.53Ubuntu PC에서 복사했는데 모든 것이 잘 작동합니다! 또한 Google의 8.8.8.8을 사용하여 동일한 결과를 얻었습니다.

이제 질문이 있습니다. mDNS를 올바르게 구성하는 방법은 무엇입니까? Google DNS 서버에서 잘 작동하는 이유는 무엇입니까? 이 사이트에서 수많은 가이드와 답변을 읽은 후 약간 혼란스러워졌습니다.

내 nsswitch.conf에는 다음 줄이 있습니다.

hosts:          files mdns4_minimal [NOTFOUND=return] dns

아바히 솔루션그리고아바히 찾아보기이 기계에서는 잘 작동합니다.

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

최소 서버 설치의 경우 다음 조합을 사용하면 충분합니다.시스템 네트워크+체계적 분석.

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

드디어 성공했다, 이야!

관련 정보