无法通过局域网中的主机名访问Raspberry Pi [关闭]


42

无法通过其局域网中的主机名发现我的Raspberry Pi。

我在局域网中还有其他几台Ubuntu计算机,它们都可以通过其主机名ping通。

在我的Raspberry Pi上:

pi@raspberrypi ~ $ hostname
raspberrypi

在同一局域网中的另一台计算机上:

ping raspberrypi
ping: unknown host raspberrypi

重复的问题:unix.stackexchange.com/questions/77189/…。由于这是一个普遍的Linux网络问题,因此与Raspberry Pi无关,因此已关闭。
Jivings

如果我有一个使用Ubuntu 14.04的Odroid,一个使用Debian的MÎNIX以及我在同一网络中使用Ubuntu 15.10引导的虚拟PC,而没有这个问题,为什么它不依赖Raspberry Pi?自从我升级到Jessie以来,只有在具有Raspian的Raspberry Pi 2上才出现此问题。
Shy Robbiani

只是作为一个旁注,这可能不会影响大多数阅读此书的人,但是有些人可能已经安装了avahi,并且想知道为什么它对他们不起作用->一种可能性是您的网络配置不支持多播。
Lukas16年

@clamp不应该ping raspberrypi.local,我认为这一.local部分至关重要
LinusUnnebäck18年

Answers:


15

您是否尝试过使用IP地址执行ping测试?如果可行,您的问题通常是将名称解析为IP地址。

有很多方法可以解决此问题。你可以

  • 使用pi的static-ip和主机名将条目添加到/ etc / hosts文件中
  • 将静态保留添加到dhcp服务器,并将记录添加到本地dns服务器(如果路由器支持)
  • 在您的pi上运行NIS,Avahi或Samba之类的服务。选择取决于您要ping的操作系统。
    • Windows客户端将从安装Samba中受益。
    • OS / X客户将从Avahi或Samba中受益。
    • 根据安装的内容,Linux客户端可能会从NIS或Samba中受益。我想Ubuntu计算机使用samba来公布其主机名。

是的,通过ip ping是可以的,但是它没有静态ip地址。
夹紧

您要从哪个操作系统ping pi和ubuntu盒?如果你是一个Linux机器上你能看到的价值hosts:是你的/etc/nsswitch.conf
Surajram Kumaravel

1
谢谢。我已经通过Samba解决了我的问题。因为它有点更容易访问Samba将是在某些时候有用的文件这样
fedmich

70

如果要通过主机名而不是IP地址进行连接,则必须使用avahi-daemon(zeroconf)。从RPi Advanced Setup上的Raspberry Pi文档中:

在Raspberry Pi上使用以下命令安装avahi:

sudo apt-get install avahi-daemon

更新avahi-daemon的启动启动

sudo insserv avahi-daemon

应用以下新配置:

sudo /etc/init.d/avahi-daemon restart

现在,应该可以从其他计算机将Raspberry Pi定位为raspberrypi.local,例如: ssh pi@raspberrypi.localhttp://raspberrypi.local(如果已安装HTTP服务)。

如果无法通过SSH从Windows PC连接,则可能尚未安装Bonjour服务。

获取Windows的Bonjour:下载Windows v2.0.2的Bonjour打印服务。只需安装它。


13
这应该是选定的答案
Sudar 2013年

3
愚蠢的,只是让其他人知道:就我而言,我的家用路由器(倍耐力Centro Grande)正在为我的LAN处理dhcp。在升级到Raspian Jessie之前,我从未遇到过Raspian或LAN中的任何其他Linux的ssh或网络问题。这会自动安装dhcpd和avahi。我必须同时删除avahi-daemon和isc-dhcpd-server以避免dhcp和名称服务器与路由器冲突。现在,我的Raspberry可以再次使用其名称了。
Shy Robbiani

1
我遇到了与@ShyRobbiani相同的问题-禁用/删除avahi-daemon使得我的rpi像在洁西之前一样在我的家庭网络中被拾取。
keithl8041

2
我的树莓派上无法使用“ insserv” ...?
copa017

2
@ copa017至少在我的Raspbian Lite上也不在这里,而是sudo apt-get install insserv。否则,请按照上述说明进行操作。测试并为我工作!
乔纳斯(Jonas)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.