ในขณะที่ฉันไม่ได้ 100% ขึ้นอยู่กับเหตุผลที่อยู่เบื้องหลังว่าทำไมมันไม่ทำงานตามที่คาดไว้ดูเหมือนจะมีความขัดแย้งขนาดใหญ่มากกับบริการ mDNS (Avahi ใน Linux, Bonjour / Zeroconf ใน Mac / Windows) และเครือข่าย Windows ที่ ใช้. local เป็นชื่อการเราต์ภายในสำหรับโดเมน สิ่งที่น่าจะเกิดขึ้นคือเมื่อ pinging server01 มันข้ามโดยใช้ mDNS เพื่อการแก้ปัญหาจากนั้นผนวกโดเมนการค้นหา (foo.local) ต่อท้ายคำขอเพื่อค้นหาเซิร์ฟเวอร์ DNS สำหรับ server01.foo.local อย่างไรก็ตามเมื่อใช้ mDNS (ซึ่งใช้. local เป็นส่วนขยายชื่อเครื่องเริ่มต้น) เมื่อคุณพยายาม ping server01.foo.local จริง ๆ แล้วมันจะแพร่กระจายผ่าน mDNS เพื่อค้นหาเครื่องที่มีชื่อ "server01.foo"; เมื่อล้มเหลวมันจะไม่ย้ายไปที่ DNS แบบตรงไม่ว่าด้วยเหตุผลใดก็ตาม วิธีแก้ปัญหาขนาดใหญ่นี้ไม่ใช่การตั้งชื่อโดเมนของคุณ. local ซึ่งอาจขัดกับการฝึกอบรมผู้ดูแลระบบ Windows ส่วนใหญ่เกี่ยวกับการสร้างโครงสร้างโดเมน ที่ถูกกล่าวว่า:
หาก mDNS ไม่มีผลลัพธ์ในเครือข่ายของคุณ (ตามปกติในองค์กรซึ่งมีแนวโน้มที่จะเรียกใช้เซิร์ฟเวอร์ DNS เฉพาะกับเครือข่ายในบ้านซึ่งบางครั้งใช้ mDNS) การเปลี่ยนลำดับการค้นหาเป็นวิธีแก้ปัญหาที่ง่ายที่สุด
สามารถพบได้ใน /etc/nsswitch.conf ส่วนสำหรับโฮสต์จะแสดงรายการคำสั่งซื้อซึ่งสำหรับค่าเริ่มต้นของ Fedora 16 คือ:
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
หากคุณเปลี่ยนเป็น:
hosts: files dns mdns4_minimal [NOTFOUND=return] myhostname
ที่ที่คุณกำลังเคลื่อนย้าย DNS ไปข้างหน้าในลำดับการค้นหาซึ่งควรแก้ไขสิ่งต่างๆในตอนนี้ หรือถ้าคุณรู้ว่าคุณไม่ต้องการ mDNS เลยให้ลบส่วน "mdns4_minimal [NOTFOUND = return]"
เมื่อมองไปที่ข้อผิดพลาดนี้ในตัวติดตามของ Red Hatดูเหมือนว่านี่เป็นปัญหาที่เกิดขึ้นมายาวนานโดยไม่มีการแก้ไขที่ชัดเจนในขณะนี้ แม้ว่าถ้ามีคนสามารถให้ข้อมูลเชิงลึกมากขึ้นว่าทำไมสิ่งนี้ถึงเกิดขึ้นด้วยวิธีนี้มันก็จะได้รับการชื่นชม