无法ping我的本地计算机


18

我刚刚将Mac更新为macOS Sierra 10.12。我的主机名为ninjaPixels-Macbook-Pro,如果我运行:

ping ninjaPixels-Macbook-Pro.local 要么 ping ninjaPixels-Macbook-Pro

我收到一个未知主机的错误。

host ninjaPixels-Macbook-Pro.local返回错误:找不到主机ninjaPixels-Macbook-Pro.local:3(NXDOMAIN)

这是一个问题,因为在工作中我们的代码库需要运行以下python:socket.gethostbyname(socket.gethostname())并且失败,因为我的计算机似乎已经忘记了它是谁。

我可以成功运行ping localhostping 127.0.0.1

我尝试了以下方法:

  • 正在重新启动。
  • 关闭防火墙。
  • 使用系统偏好设置>共享>编辑来更改我的本地主机名。
  • sudo killall -HUP mDNSResponder
  • dscacheutil -flushcache
  • sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
  • sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

超出左域...如果将IPv6映射到主机中的localhost,我已经看到了类似的问题,::1 127.0.0.1而映射似乎可以解决该问题。
Tetsujin

@Tetsujin谢谢。我只是尝试用那个来修饰主机,但可惜没有雪茄。
ninjaPixel

1
您启用了什么共享功能(如果有)?您需要启用某种形式的共享(或在“共享”下启用服务)才能进行共享ping $HOSTNAME。在全新安装macOS Sierra上,防火墙关闭并且没有任何共享,我可以复制一个ping $HOSTNAME错误。我打开了它,例如,文件共享,我可以ping $HOSTNAME从macOS和ping macOShostname.local同一网络上的OS X中打开。
user3439894 '16

@ninjaPixel您的网络中是否有dns服务器,搜索域是什么(在SysPrefs>网络>接口> DNS中),最后是Mac的主机名(例如ninjapixel.example.com)(如果有)?
klanomath's

@ user3439894谢谢,您解决了!我需要启用某种形式的共享。如果您想将其发布为答案,我会接受。干杯!
ninjaPixel

Answers:


18

假设防火墙已关闭,那么为了关闭防火墙ping $HOSTNAME,必须在“系统偏好设置”>“共享”中启用某种形式的共享或服务,或者将一个条目添加到/etc/hosts文件中,具体取决于您尝试访问方式/方式$HOSTNAME。例如,127.0.0.1 computer_name这里computer_name是什么的报道echo $HOSTNAME或代替127.0.0.1你的系统上的网络适配器的实际IP地址。


1
正在127.0.0.1 computer_name为我添加作品。
javadba

3
打开文件共享ping macOShostname.local,即使关闭文件共享也开始工作。
MarinovIván17年

太奇怪了,它为我工作了
大约
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.