업데이트(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 수정 중 일부 결과를 얻었습니다.
- 네임서버 192.168.0.1이는 기본 DNS 서버(내 라우터)이며 .local 호스트를 확인할 수 없습니다. ISP의 DNS 서버를 사용하면 결과는 동일합니다.
- 네임서버 127.0.0.1.local 이름은 확인되었으며 명백한 이유로 인해 다른 이름은 없습니다.
- 네임서버 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
드디어 성공했다, 이야!