avahi-daemon และปัญหาโดเมน“. local”


12

ฉันมีUbuntu 16.04 HTPC วิชาชีพ / Media Server ที่ทำงาน24/7 เท่าที่ฉันจำได้ว่าใช้งาน Ubuntu อย่างเป็นทางการฉันมีปัญหากับavahi-daemonเสมอ ปัญหาได้รับการกล่าวถึงทางออนไลน์บ่อยครั้ง บางคนตัดสินใจที่จะลบ daemon แต่ฉันต้องการจริง ๆ เพราะฉันใช้เซิร์ฟเวอร์ CUPS และใช้ Kodi เป็นตัวรับ AirPlay ของฉัน

ปัญหา

mDNS / DNS-SD เป็นอย่างโดยเนื้อแท้เข้ากันกับโซน DNS unicast .local เราขอแนะนำไม่ให้ใช้ Avahi หรือ nss-mdns ในการตั้งค่าเครือข่าย หมายเหตุ: nss-mdns โดยทั่วไปแล้วจะไม่รวมกับ Avahi และจำเป็นต้องมีการดาวน์โหลดและติดตั้งแยกต่างหาก (avahi.org)

อาการง่าย - หลังจากผ่านไปประมาณ 2-4 วันการเชื่อมต่อเครือข่ายจะลดลงและสิ่งนี้จะถูกบันทึกไว้

Mar 17 18:33:27 15 avahi-daemon[1014]: Withdrawing address record for 192.168.1.200 on enp3s0.
Mar 17 18:33:27 15 avahi-daemon[1014]: Leaving mDNS multicast group on interface enp3s0.IPv4 with address 192.168.1.200.
Mar 17 18:33:27 15 avahi-daemon[1014]: Interface enp3s0.IPv4 no longer relevant for mDNS.

เครือข่ายจะกลับขึ้นไปโดยไม่มีปัญหาถ้าคุณร่างกายเชื่อมต่อปลั๊กอีเธอร์เน็ตหรือถ้าคุณเชื่อมต่อซอฟแวร์ด้าน

การแก้ปัญหาที่เป็นไปได้

มีสามโซลูชั่นที่ระบุไว้ในวิกิอย่างเป็นทางการซึ่งไม่สามารถใช้งานได้ตั้งแต่สิ่งที่ดูเหมือนจะเป็นเดือนมิถุนายน 2559ดังนั้นฉันจึงเสนอลิงก์archive.org ที่ไม่ใช่โดยตรง

1. ) แก้ไข/etc/nsswitch.confจาก

"hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4"

ถึง

hosts: files dns mdns4

2. ) แก้ไข/etc/avahi/avahi-daemon.conf

จาก

domain-name=.local

ถึง

domain-name=alocal

3. ) "ขอให้ผู้ดูแลระบบย้ายโซน. local" (ดังที่ได้กล่าวไว้ในวิกิ)

ฉันทำอะไรลงไป

โซลูชั่นแรกไม่ปรากฏในการทำงานสำหรับฉัน - ภูตยังคงทำงาน แต่เครือข่ายจะลงไปทางเดียวกันกับก่อน (เพื่อความเป็นธรรมในวิกิพีเดียก็ไม่พูด " YของเราM ileage M Ay V Ary")

วิธีการแก้ปัญหาที่สองทำให้เกิดภูตดูเหมือนจะทำงานอย่างถูกต้อง (ผิดอะไรถ้าคุณมองไปที่บันทึก) แต่อุปกรณ์ iOS ล้มเหลวในการ "เห็น" เครื่องเป็นเครื่องพิมพ์หรือ reciever AirPlay (เช่นเดียวกับ iTunes บนเครื่อง Windows ของฉัน)

วิธีการแก้ปัญหาที่สามเป็นเรื่องยุ่งยากเพราะฉันไม่ได้ดีมีประสบการณ์ใน"ตื้นลึกหนาบาง"ของวิธีการที่เครือข่ายทำงาน; และฉันไม่แน่ใจว่าฉันลองทำจริงๆ นี่คือสิ่งที่ฉันหมายถึง: ในAsus Routerของฉันที่รันAsuswrt-Merlinฉันไปที่หมวดหมู่ย่อยการตั้งค่า / LAN / DHCP Server / การกำหนดค่าพื้นฐาน ที่นั่นฉันตั้ง " ชื่อโดเมน RT-AC68U " เป็น "lan" (ชื่อโดเมนที่ฉันเห็นแนะนำบนเว็บเพราะมันไม่ได้ขัดแย้งกับสิ่งใด ๆ ซึ่งแตกต่างจาก "ท้องถิ่น") เท่าที่ฉันสามารถเข้าใจได้นั่นคือความหมายของ "การย้ายโซน. ท้องถิ่น " หากนี่เป็นความจริงที่ถูกต้องกว่าวิธีนี้ไม่ได้ผลสำหรับฉันเช่นกัน

ข้อสรุป

ดังนั้นฉันควรทำอย่างไร ฉันได้ต่อสู้กับปัญหานี้มานานกว่า 4 เดือนแล้วและทุกคำตอบออนไลน์จะลงไปในสิ่งที่ฉันได้ลองไปแล้ว ตรงไปตรงมาฉันหลงทางไปหมด ขอบคุณล่วงหน้า!


นี้ไม่ได้อธิบายวิธีการที่คุณรู้ว่า Avahi เป็นสาเหตุของ "เครือข่ายจะลง" เมื่อเทียบกับข้อความบันทึกนี้เป็นอาการ ดูเพิ่มเติมunix.stackexchange.com/a/271412/29483
sourcejedi

@sourcejedi กำลังค้นหาอาการ "เครือข่ายหยุดทำงานแบบสุ่ม" ชี้ไปที่บอร์ดที่เกี่ยวข้องกับ Ubuntu ที่อ้างอิงปัญหานี้และคนส่วนใหญ่ที่กล่าวถึง avahi เป็นปัญหา ลิงก์
halfer

ลิงก์ผิดแม้ว่าฉันจะไม่เถียงก็ตาม หรือเกี่ยวกับวลีค้นหานั้นไม่แสดงผลลัพธ์ใด ๆ ให้ฉันอย่างน้อยจาก 10 อันดับแรกจากสิ่งที่คุณเขียนฉันสามารถอนุมานได้ว่าคุณยังไม่ได้ทดสอบการลบ avahi ตลก แต่การค้นหา "การถอนที่อยู่บันทึก" ให้ผลลัพธ์หลาย ๆ อันเกี่ยวกับ "เครือข่ายที่ลงไปแบบสุ่ม" ได้รับการแก้ไขเป็นข้อผิดพลาดในฮาร์ดแวร์ไม่มีใน avahi 2) archive.org ลิงก์ใน Q แสดง "ไม่พบผลลัพธ์" สำหรับฉัน 3) ซึ่ง "ไม่ทำงานสำหรับฉัน" ที่ใช้กับโซลูชันที่สามของคุณหรือไม่ความหมายคือผลลัพธ์นั้นเหมือนกับ # 1 แต่ไม่ชัดเจน 100%
sourcejedi

คำตอบของ AFAICT บาร์ตันถูกเขียนขึ้นภายใต้สมมติฐานว่าโซลูชันที่สามของคุณทำให้เกิดข้อผิดพลาดบางอย่างกับ avahi / MDNS / bonjour การแก้ปัญหา / การค้นพบเท่านั้นและไม่ทำให้เกิดปัญหา "เครือข่าย [เชื่อมต่อ] ลง" ดังนั้นจะเป็นการดีมากที่จะชี้แจงอาการที่คุณเห็นเมื่อคุณพยายามใช้วิธีที่สาม!
sourcejedi

ยกตัวอย่างเช่นในทราฟแวลของคุณฉันสงสัยว่าคุณเคยเห็นคำตอบที่นี่ในทราเวิลของคุณ ขอให้สังเกตว่าคำตอบไม่ได้กล่าวถึงความล้มเหลวของเครือข่ายอย่างชัดเจนและผู้ถามไม่ยอมรับคำตอบหรือพูดอะไรเกี่ยวกับสิ่งที่เกิดขึ้นต่อไป
sourcejedi

คำตอบ:


1

ฉันคิดว่าวิธีที่สามเป็นวิธีที่จะไปเมื่อคุณเข้าถึงการกำหนดค่าเราเตอร์ ฉันจะลองตั้งค่า "ชื่อโดเมน RT-AC68U" เป็นค่าว่าง

สิ่งต่อไปที่ฉันจะทำคือเรียกใช้บางสิ่งเช่น wireshark และดูแพ็กเก็ตที่ส่งและรับโดย avahai-daemon รวมถึงแพ็กเก็ตใด ๆ ที่ส่งจากและไปยังชื่อโดเมนใด ๆ ที่ลงท้ายด้วย.local... หากสิ่งอื่นที่ไม่ใช่ avahai ตั้งค่า LAN .localคุณจะพบชื่อโดเมนที่นั่น

อาจเป็นไปได้ว่าปัญหานั้นเป็นเรื่องอื่นอย่างสิ้นเชิงและ wireshark อาจบอกคุณเช่นกัน

หากคุณใช้ Avahai ทั้งหมดเพื่อกำหนดชื่อโดเมนให้กับเครื่องในเครือข่ายของคุณคุณอาจลองใช้ dnsmasq แทน คุณสามารถเรียกใช้จากเราเตอร์ RT-AC88U ของคุณหรือจากกล่อง Ubuntu (อันที่จริงมันอาจจะทำงานอยู่บนกล่องอูบุนตูของคุณแล้วและคุณเพียงแค่ต้องปรับแต่งไฟล์ปรับแต่ง)

เอกสารประกอบสำหรับการตั้งค่า dnsmasq ภายใต้ Asus-Merlin


Downvoted สำหรับการแนะนำว่า Avahi มีข้อผิดพลาดเช่นนั้น "ความไม่ลงรอยกัน" ทำให้เกิดการตั้งค่าอินเทอร์เฟซเครือข่ายออฟไลน์ตามช่วงเวลาแบบสุ่มเนื่องจากนี่เป็นแนวคิดที่ผิดพลาดที่ดูเหมือนว่าจะแพร่กระจายโดยไม่มีหลักฐานเฉพาะ
sourcejedi

1
ฉันใช้ avahi เพื่อโฆษณาบริการ AirPlay และ AirPrint ไปยังอุปกรณ์และซอฟต์แวร์ของ Apple
halfer

1

ดังนั้นฉันจึงพยายามเปลี่ยนพารามิเตอร์ "ชื่อโฮสต์" ใน "avahi-daemon.conf" เป็นชื่อที่ไม่ได้เป็นชื่อโฮสต์ของเครื่องและฉันใช้งานมา 2 สัปดาห์โดยไม่มีปัญหาใด ๆ บางทีนี่อาจเกี่ยวข้องกับเครื่องที่ใช้ samba และ Windows โดยใช้โดเมน ". local" เพื่อจุดประสงค์ของตัวเอง


Windows / Samba ไม่ได้กำหนดความหมายพิเศษให้กับ ". local" (เป็นไปได้ที่จะใช้.s ใน netbios เพื่อวัตถุประสงค์บางอย่าง) avahi ถูกเปิดใช้งานตามค่าเริ่มต้นใน ubuntu / fedora และฉันไม่เคยเห็นคำเตือนเกี่ยวกับการใช้ samba ในเวลาเดียวกัน ฉันไม่สามารถจินตนาการได้ว่าทำไม avahi-daemon จะรวมรหัสใด ๆ ที่ตั้งค่าที่อยู่หรือสถานะของอินเตอร์เฟส ขอบคุณที่กลับมาพร้อมกับผลการทดสอบของคุณฉันหวังว่าการตั้งค่าจะทำงานต่อจากนี้ไป!
sourcejedi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.