我有一个配置了 mDNS 的 Raspberry Pi,它连接到我的家庭 LAN (WiFi)。
我只用了几次就可以ssh
进入它。这个问题似乎是间歇性的,我不确定我的笔记本电脑设置或 WiFi 设置有什么问题。sshpass -p raspberry ssh [email protected]
这些命令只有一半的时间有效:
avahi-resolve-host-name raspberrypi.local
ping -c 5 raspberrypi.local
它们显示错误消息,例如:
# avahi
Failed to resolve host name 'raspberrypi.local': Timeout reached
# SSH
ssh: Could not resolve hostname raspberrypi.local: Name or service not known
# ping
ping: raspberrypi.local: Name or service not known
然而这个命令总是找到我的 Raspberry Pi - 我可以识别输出中的 IP 地址:
# I found MY_GATEWAY_IP with "ip route | grep default | awk '{ print $$3 }'"
nmap -O -sS -F ${MY_GATEWAY_IP}/24
我的笔记本电脑配置文件/etc/nsswitch.conf
包含以下条目:
hosts: files dns mdns4_minimal
所以我认为我应该始终能够通过 mDNS 解析我的 Raspberry Pi。
我怎样才能确保raspberrypi.local
始终有效?
答案1
我认为你混淆了一些事情。 nmap 始终有效,因为您正在扫描 /24 网络,这与 mDNS 解析不同。问题是PI通过wifi获取不同的IP?如果是这样,也许这就是问题所在。最简单的解决方案是仅静态 IP PI 并将其地址粘贴到主机文件中。或者您想了解 mDNS 不起作用的原因吗?