Невозможно пропинговать мою локальную машину

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 localhostиping 127.0.0.1

Я пробовал следующее:

  • Rebooting.
  • Отключение брандмауэра.
  • Изменение моего локального имени хоста, используя Системные настройки> Общий доступ> Редактировать.
  • 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
ninjaPixel
источник
из левого поля ... Я видел похожие проблемы, если IPv6 был сопоставлен с localhost в хостах, ::1 127.0.0.1вместо этого, кажется, что это исправление.
Тецудзин
@Tetsujin Спасибо. Я только попытался изменить хозяев этим, но, к сожалению, без сигары.
ниндзяПиксель
1
Какой общий доступ у вас включен, если есть? Вам необходимо включить некоторую форму совместного использования (или службу, включенную в разделе общего доступа), чтобы ping $HOSTNAME. При чистой установке macOS Sierra брандмауэр выключен и ничего не передается, я могу повторить ping $HOSTNAMEошибку. Это я включаю, например, Общий доступ к файлам, я могу ping $HOSTNAMEиз macOS и ping macOShostname.localиз OS X в той же сети.
user3439894
@ninjaPixel У вас есть DNS-сервер в вашей сети, что такое поисковый домен (в SysPrefs> Сеть> Интерфейс> DNS) и, наконец, какое имя хоста вашего mac (например, ninjapixel.example.com), если есть?
Кланомат
@ user3439894 Спасибо, вы решили это! Мне нужно было включить некоторую форму обмена. Если вы хотите опубликовать это как ответ, я приму это. Ура!
ниндзяПиксель

Ответы:

18

Если предположить, что брандмауэр выключен, то для этого необходимо ping $HOSTNAME, чтобы в разделе «Системные настройки»> «Совместное использование» была включена некоторая форма общего доступа или службы, или добавьте запись в /etc/hostsфайл, в зависимости от того, каким образом / к чему вы пытаетесь получить доступ $HOSTNAME. Например, 127.0.0.1 computer_nameгде computer_nameнаходится фактический IP-адрес сетевого адаптера в вашей системе echo $HOSTNAMEили вместо него 127.0.0.1.

user3439894
источник
1
Добавление 127.0.0.1 computer_nameработает для меня.
Джавадба
3
После включения совместного доступа к файлам ping macOShostname.localначал работать, даже после включения File Sharing выключения .
Маринов Иван
это так странно, у меня это работало в течение примерно 2 недель и перестало работать, где ... изменение моего файла etc / hosts также работало нормально ...
djnose