ไม่สามารถ 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)

นี่เป็นปัญหาที่เป็นส่วนหนึ่งของ codebase ในที่ทำงานของเราจำเป็นต้องเรียกใช้ python ต่อไปนี้socket.gethostbyname(socket.gethostname())และมันล้มเหลวเพราะคอมพิวเตอร์ของฉันดูเหมือนจะลืมว่าเป็นใคร

ฉันสามารถวิ่งได้สำเร็จping localhostและping 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 ถูกแมปกับโฮสต์ในโฮสต์ในแผนที่::1 127.0.0.1ดูเหมือนจะแก้ไขได้
Tetsujin

@ Tetsujin ขอบคุณ ฉันเพิ่งลองดัดแปลงโฮสต์กับมัน แต่น่าเสียดายที่ไม่มีซิการ์
ninjaPixel

1
คุณเปิดใช้การแชร์แบบใดหากมี คุณจำเป็นต้องมีรูปแบบของการใช้งานร่วมกันเปิดการใช้งานบางอย่าง (หรือเปิดใช้บริการภายใต้การใช้ร่วมกัน) ping $HOSTNAMEเพื่อที่จะ ในการติดตั้ง macOS Sierra อย่างสมบูรณ์ไฟร์วอลล์ถูกปิดและไม่มีการแบ่งปันอะไรฉันสามารถทำซ้ำping $HOSTNAMEข้อผิดพลาดได้ ฉันเปิดอยู่เช่นการแชร์ไฟล์ฉันสามารถทำได้ping $HOSTNAMEจาก macOS และping macOShostname.localจาก OS X บนเครือข่ายเดียวกัน
user3439894

@ninjaPixel คุณมีเซิร์ฟเวอร์ dns ในเครือข่ายของคุณโดเมนการค้นหา (ใน SysPrefs> เครือข่าย> ส่วนต่อประสาน> DNS) และสุดท้ายคือชื่อโฮสต์ของ mac ของคุณ (เช่น ninjapixel.example.com) ถ้ามี?
klanomath

@ user3439894 ขอขอบคุณคุณแก้ไขมันแล้ว! ฉันต้องการเปิดใช้งานการแบ่งปันบางรูปแบบ หากคุณต้องการโพสต์เป็นคำตอบฉันจะยอมรับมัน ไชโย!
ninjaPixel

คำตอบ:


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เริ่มต้นที่จะทำงานแม้หลังจากที่เปิดแชร์ไฟล์ออก
Marinov Iván

ที่แปลกมากมันใช้งานได้สำหรับฉันเช่น 2 สัปดาห์และหยุดการทำงานออกตอนนี้ .. เปลี่ยนไฟล์ etc / hosts ของฉันทำงานได้ดีเช่นกัน ...
4259
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.