อะไรคือวัตถุประสงค์ของ avahi บนเซิร์ฟเวอร์ RHEL 7?


19

ใช้งานเครื่องเซิร์ฟเวอร์กับ CentOS 7 ฉันสังเกตว่าบริการ avahi นั้นกำลังทำงานอยู่ตามค่าเริ่มต้น

ฉันสงสัยว่าจุดประสงค์ของมันคืออะไร

สิ่งหนึ่งที่ดูเหมือนว่าจะทำ (ในสภาพแวดล้อมของฉัน) คือการปิดใช้งานการเชื่อมต่อ IPv6 แบบสุ่มซึ่งมีลักษณะเช่นนี้ในบันทึก:

Oct 20 12:23:29 example.org 
  avahi-daemon[779]: Withdrawing address record for fd00::1:2:3:4 on eno1
Oct 20 12:23:30 example.org
  Withdrawing address record for 2001:1:2:3:4:5:6:7
Oct 20 12:23:30 example.org
  Registering new address record for fe80::1:2:3:4 on eno1.*.

(คำต่อท้าย1:2:3...ถูกสร้างขึ้น)

และแน่นอนหลังจากนั้นที่2001:1:2:3:4:5:6:7อยู่ IPv6 สาธารณะจะไม่สามารถเข้าถึงได้อีกต่อไป

เนื่องจากการที่ฉันปิดการใช้งานบริการ avahi ผ่าน:

# systemctl disable avahi-daemon.socket avahi-daemon.service
# systemctl mask avahi-daemon.socket avahi-daemon.service
# systemctl stop avahi-daemon.socket avahi-daemon.service

จนถึงตอนนี้ฉันไม่ได้สังเกตเห็นข้อ จำกัด ใด ๆ

ดังนั้นคำถามของฉันเกี่ยวกับกรณีการใช้งานของ avahi บนระบบเซิร์ฟเวอร์

คำตอบ:


21

Avahi เป็นการใช้งานโอเพนซอร์ซของ Bonjour / Zeroconf

ส่วนที่ตัดตอนมา - http://avahi.org/

Avahi เป็นระบบที่อำนวยความสะดวกในการค้นหาบริการบนเครือข่ายท้องถิ่นผ่านชุดโปรโตคอล mDNS / DNS-SD สิ่งนี้ช่วยให้คุณสามารถเสียบแล็ปท็อปหรือคอมพิวเตอร์ของคุณเข้ากับเครือข่ายและสามารถดูคนอื่น ๆ ที่คุณสามารถแชทด้วยค้นหาเครื่องพิมพ์เพื่อพิมพ์หรือค้นหาไฟล์ที่แชร์ พบเทคโนโลยีที่เข้ากันได้ใน Apple MacOS X (ตราBonjourและบางครั้ง Zeroconf)

เพิ่มเติมรายละเอียดอยู่ที่นี่พร้อมกับบทความวิกิพีเดีย บทความ ArchLinuxเป็นประโยชน์มากขึ้นระบุประเภทของบริการที่ได้รับประโยชน์จาก Avahi

ในอดีตฉันมักจะปิดการใช้งานบนเซิร์ฟเวอร์เนื่องจากเซิร์ฟเวอร์ทุกเครื่องที่ฉันเคยจัดการในอดีตมีการบอกอย่างชัดเจนเกี่ยวกับทรัพยากรต่างๆที่จำเป็นในการเข้าถึง

ประโยชน์ใหญ่สองอย่างของ Avahi คือการระบุชื่อและการค้นหาเครื่องพิมพ์ แต่บนเซิร์ฟเวอร์ในสภาพแวดล้อมที่มีการจัดการมันมีค่าเพียงเล็กน้อย


ฉันแค่ต้องการที่จะแสดงความคิดเห็นในคำตอบแรกส่วนใหญ่: "... แต่บนเซิร์ฟเวอร์ในสภาพแวดล้อมที่แปรปรวนมันมีค่าน้อย" จุดประสงค์ในการใช้งาน avahi บนเซิร์ฟเวอร์คือการแจ้งให้ลูกค้าทราบ ดังนั้นจึงเหมาะสมอย่างยิ่งที่จะมีไว้ในเซิร์ฟเวอร์ แต่หากต้องการรับประกาศเซิร์ฟเวอร์คุณต้องมี avahi บนไคลเอนต์ด้วย (เว้นแต่จะเป็น Mac) โดยทั่วไปคุณต้องมีลูกค้าที่ใช้ประโยชน์จาก avahi เพื่อค้นหาบริการ
ลบคำขอ

2
@TommySvensson อาจมีความแตกต่างระหว่าง 'โฮมเซิร์ฟเวอร์' (ในเครือข่ายที่เชื่อถือได้) และเซิร์ฟเวอร์อินเทอร์เน็ต 'ของจริง' ที่โฮสต์เว็บไซต์ให้บริการอีเมล ฯลฯ (ในสภาพแวดล้อมที่เป็นมิตร) AFAIU, avahi มีการเยื้องสำหรับการใช้งานเครือข่ายในบ้านเช่นที่คุณไม่สามารถแยกแยะความแตกต่างระหว่างไคลเอนต์และเซิร์ฟเวอร์ได้ (เช่นที่มีบริการให้เครื่องหลายเครื่องเป็นลูกค้า)
maxschlepzig

@TommySvensson - ในการตั้งค่าศูนย์ข้อมูลที่ฉันจัดการกับอาชีพของฉันการสื่อสารต่าง ๆ ที่ได้รับอนุญาต b / w กลุ่มหนึ่งของเซิร์ฟเวอร์และอื่น ๆ ที่มีการควบคุมอย่างแน่นหนา (พอร์ต @ โฮสต์ประเภทการเชื่อมต่อ) และดังนั้นบางอย่างเช่น ไม่มีจุดประสงค์จริงๆและจะไม่ได้รับอนุญาตให้ทำงานตามลักษณะที่ จำกัด ของการสื่อสารที่ได้รับอนุญาต
slm

2
ดูเหมือนว่าไร้ประโยชน์และมีปัญหา ฉันจะถอนการติดตั้งเสมอ ไม่แม้แต่จะคิดวิธีการปิดการใช้งาน
sudo

5

คุณอาจต้องการเรียกใช้ต่อไปนี้

systemctl disable avahi-daemon.socket avahi-daemon.service 

โปรดทราบว่าข้างต้นจะปิดการใช้งาน avahi เท่านั้นชั่วคราว เพื่อป้องกันการเปิดใช้งานอัตโนมัติอีกครั้งจำเป็นต้องปิดบัง:

systemctl mask avahi-daemon.socket avahi-daemon.service 

ทำไมโอ้ทำไมผู้ผลิตจึงสร้างแพ็คเกจที่บังคับให้ต้องพึ่งพา avahi?


6
เหตุใดจึงต้องใช้สคริปต์ cron เมื่อคุณสามารถทำได้systemctl maskและไม่ต้องกังวลว่าจะเปิดใช้งานอีกครั้งหรือไม่
ไมเคิลแฮมป์ตัน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.