먼저 몇 가지 Q/A를 확인한 결과 다음 사항이 충족되었는지 확인할 수 있었습니다.
IGMP 스누핑은 스위치/라우터로 필터링되지 않습니다.
Bonjour 서비스(
mDNSResponder.exe
)가 방화벽에 부여되어 허용됩니다.UDP 포트 5353(창쪽).Avahi가 올바르게 구성되었으며(ipv6가 비활성화됨)
nssitch.conf
필요한 수정이 이루어졌습니다.hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
Avahi-daemon 및 Bonjour 서비스가 실행 중입니다.
ipv6
활성 네트워크 인터페이스에서는 Windows 측이 비활성화되어 있으며 avahi-daemon도 ipv6을 사용하지 않도록 구성되어 있습니다use-ipv6=no
.
Pi의 mDNS 문제
잠시 후 Windows에서 실행한 후 Raspberry Pi에 해당하는 호스트 이름이 .local
더 이상 ping pi.local
확인되지 않고 부팅 시 완벽하게 응답하며 avahi-daemon을 다시 시작하면 문제가 다시 발생하기 전에 일시적으로 해결됩니다.
mdns 확인이 실패한 직후 파일에서 다음 명령을 실행했는데 avahi-resolve -n pi.local
ipv6( )이 표시되었습니다. fe80::xxaa:yybb:zzde:ee
앞서 언급했듯이IPv6 비활성화avahi 구성에서 이번에 동일한 명령을 다시 실행한 직후에 응답으로 ipv4가 나왔습니다.
pi.local 192.168.1.7
핑도 다시 응답하는 것 같습니다.
폴리스티렌
Linux 파이 4.4.38-v7+ #938 실행
Windows v2.0.2용 Bonjour 인쇄 서비스 사용:https://support.apple.com/kb/DL999, 서비스로 실행됩니다.
avahi-resolve -n pi.local
192.168.1.7
ipv6 대신 ipv6 명령 반환만 비활성화했지만 문제는 여전히 지속됩니다.
/var/log/messages
Avahi와는 아무 관련이 없습니다.
문제의 원인에 대한 아이디어가 있습니까?
avahi-daemon
잠시 후 재부팅하고 위의 구문 분석 명령을 syslog로 보냅니다.
18:21:47 pi systemd[1]: Stopping Avahi mDNS/DNS-SD Stack...
18:21:47 pi avahi-daemon[427]: Got SIGTERM, quitting.
18:21:47 pi avahi-daemon[427]: Leaving mDNS multicast group on
interface wlan0.IPv4 with address 192.168.1.7.
18:21:47 pi avahi-daemon[427]: avahi-daemon 0.6.31 exiting.
18:21:47 pi systemd[1]: Starting Avahi mDNS/DNS-SD Stack...
18:21:47 pi avahi-daemon[1143]: Process 427 died: No such process;
trying to remove PID file. (/var/run/avahi-daemon//pid)
18:21:47 pi avahi-daemon[1143]: Found user 'avahi' (UID 105) and group
'avahi' (GID 110).
18:21:47 pi avahi-daemon[1143]: Successfully dropped root privileges.
18:21:47 pi avahi-daemon[1143]: avahi-daemon 0.6.31 starting up.
18:21:47 pi avahi-daemon[1143]: Successfully called chroot().
18:21:47 pi avahi-daemon[1143]: Successfully dropped remaining
capabilities.
18:21:47 pi avahi-daemon[1143]: Loading service file
/services/multiple.service.
18:21:47 pi avahi-daemon[1143]: Loading service file
/services/udisks.service.
18:21:47 pi avahi-daemon[1143]: Joining mDNS multicast group on
interface wlan0.IPv4 with address 192.168.1.7.
18:21:47 pi avahi-daemon[1143]: New relevant interface wlan0.IPv4 for
mDNS.
18:21:47 pi avahi-daemon[1143]: Network interface enumeration
completed.
18:21:47 pi avahi-daemon[1143]: Registering new address record for
fe80::f2f:3b5b:ab5b:35c1 on wlan0.*.
18:21:47 pi avahi-daemon[1143]: Registering new address record for
192.168.1.7 on wlan0.IPv4.
18:21:47 pi avahi-daemon[1143]: Registering HINFO record with values
'ARMV7L'/'LINUX'.
18:21:47 pi systemd[1]: Started Avahi mDNS/DNS-SD Stack.
18:21:48 pi avahi-daemon[1143]: Server startup complete. Host name is
pi.local. Local service cookie is 2501181696.
18:21:49 pi avahi-daemon[1143]: Service "pi"
(/services/udisks.service) successfully established.
18:21:49 pi avahi-daemon[1143]: Service "pi"
(/services/multiple.service) successfully established.
답변1
나에게도 같은 문제가 있는데 "수정"할 수는 없지만 깔끔한 해결 방법이 있습니다. 레코드가 만료되기 전에 avahi-daemon을 다시 시작하는 것입니다. TTL은 120초인 것으로 보입니다( dns-sd -G v4 pi.local
macOS 데이터에 따르면).
sudo crontab -e
# Add the following line to the crontab
*/1 * * * * systemctl restart avahi-daemon.service
# Save and exit
답변2
즉, 대상 장치(예: Raspberry Pi)에서 먼저 방화벽 서비스를 일시적으로 중지하여 디버깅합니다. 이것이 도움이 된다면 당신과 나에게도 같은 문제가 있다는 뜻입니다. TCP/UDP 연결만 허용됨대상 장치에서포트 548, 5353, 5354.
나는 슈퍼유저에게 같은 질문에 대답했습니다. 확인하시기 바랍니다이것더 알아보기.