avahi-resolve는 작동하지만 mdns

avahi-resolve는 작동하지만 mdns

최신 Debian 11(bullseye) 설정이 있고 avahi를 사용하여 로컬로 연결된 컴퓨터에 연결하고 싶습니다.

avahi의 작동 방식은 다음과 같습니다.

avahi-resolve -n4 prag11mono.local 

prag11mono.local 10.0.0.105어느 것이 맞는지 알려주세요 . 그러나 ping(또는 ssh) 동일한 호스트의 경우

ping prag11mono.local
PING prag11mono.local.rpz.GS.local (127.0.0.2) 56(84) bytes of data.
64 bytes from 127.0.0.2 (127.0.0.2): icmp_seq=1 ttl=64 time=0.035 ms

rpz.GS.local여기서 나는 이 추가가 어디서 왔는지 이해하지 못합니다 . 추가되지는 않지만 ssh prag11mono.local요청은 입니다 127.0.0.2.

내가 /etc/nsswitch.conf가지고 있는

호스트: 파일 mdns4_minimal [NOTFOUND=return] dns mdns4

하지만 getent는 bhutan.local을 호스팅합니다.

아무것도 반환하지 않습니다. /etc/mdns.allow파일이 없습니다 .

avahi-daeomon와 사이의 연결은 mdns4수수께끼입니다. systemctl을 사용하여 avahi-daemon을 다시 시작할 수 있지만 어떻게 해야 합니까 mdns?

일부 설치를 놓친 것이 걱정됩니다. 패키지 설치를 시도했는데 불스아이에서 작동할 것입니다 nss-mdns. "/lib/libnss_mdns*"에 필요한 파일이 있는지 unable to locate package설치 하고 확인했습니다.libnss-mdns

없어진 물건 있어요? 디버깅하는 방법?

답변1

현재 Debian 11(Bulls Eye) 솔루션이 어디에 적용되는지에 대해 많은 혼란이 있습니다. 나는 그것을 설치하지 않았고 bind9(관련된 특정 패키지만) 필요하다는 것을 발견했습니다.

systemctl enable named-resolvconf

기본값이 nsswitch.conf괜찮을 것 같아요. 달리기 와 함께 named-resolvconf. 이전과 같이 프롬프트가 반환되지 dig않습니다 rpz. 하지만 난 달릴 필요가 없어

systemctl status systemd-networkd
systemctl status systemd-resolved

둘 다 반환합니다 disabled; inactive. 이것이 필요할 수 있지만 추가 구성이 필요할 수 있다는 몇 가지 힌트가 있습니다.

유사한 기능을 수행하지만 호환되지 않는 과 를 구별하는 것이 resolvconf중요할 수 있습니다 . 내 솔루션은 및 systemd-resolved에 의존하는 것 같습니다 .resolvconfbind9

답변2

최근 Debian 커널(Raspberry Pi OS)에서도 동일한 문제가 발생했습니다. nss-mdns 문서와 인터넷에서 수많은 지침을 읽은 후 mdns및 및 조합을 시도했지만 mdns_minimal모두 동일한 결과를 얻었지만 핑이 작동하지 않습니다.

그런 다음 나는 strace ping ...그것이 얼마나 멀리 들어 갔는지 libnss-mdns조사 avahi-daemon하고 두 옵션 모두 파일을 읽으려고 시도 mdns하고 파일이 없으면 포기한다는 것을 발견했습니다. 이는 파일이 발견되지 않으면 그들이 생각한다고 주장하는 여러 곳과 반대입니다. 기본값은 "*"와 같습니다. - 큰 거짓말입니다!mdns_minimal/etc/mdns.allow

그래서 누락된 파일을 추가했습니다 /etc/mdns.allow.

# /etc/mdns.allow
.local.
.local

보라, 작동하기 시작했다.

관련 정보