libvirt:“ ล้มเหลวในการเริ่มต้นแบ็กเอนด์ไฟร์วอลล์ที่ถูกต้อง”


18

ฉันพยายามตั้งค่าอุปกรณ์เครือข่าย NAT เสมือนโดยไม่มี DHCP สำหรับ libvirt บนโฮสต์ Arch Linux

สิ่งที่ฉันได้ลอง:

# virsh net-define network.xml 
Network default defined from network.xml

[ network.xml]:

<network>
  <name>default</name>
  <bridge name="maas0" />
  <forward mode="nat" />
  <ip address="10.137.0.1" netmask="255.255.255.0" />
</network>

แล็ปท็อปของฉันแสดงผลต่อไปนี้เมื่อเปิดเครื่อง:

# virsh net-start default
error: Failed to start network default
error: internal error: Failed to initialize a valid firewall backend

หัวข้ออื่น ๆ ทั้งหมดที่เกี่ยวข้องกับหัวข้อนี้กำลังพูดถึงการอัพเกรดซอฟต์แวร์ - ฉันใช้เวอร์ชั่นล่าสุด:

$ pacman -Q ebtables dnsmasq libvirt iptables
ebtables 2.0.10_4-5
dnsmasq 2.75-1
libvirt 1.3.3-1
iptables 1.4.21-3

อะไรคือสาเหตุของinternal errorสิ่งนั้นและฉันจะทำอะไรได้บ้าง?

คำตอบ:


30

การติดตั้งebtablesและdnsmasqดูเหมือนว่าจะแก้ไขปัญหา อย่าลืมรีสตาร์ทlibvirtdบริการ

คำสั่ง:

sudo pacman -Syu ebtables dnsmasq
sudo systemctl restart libvirtd

หมายเหตุ: อย่าลืมปิดและเปิดvirt-managerGUI อีกครั้ง(ถ้าคุณใช้อยู่)

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

sudo pacman -Syu firewalld
sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo systemctl restart libvirtd

17
ไม่จำเป็นต้องติดตั้งfirewalldก็ยังไม่ปรากฏในวิกิพีเดีย ArchLinuxมันเป็นเพียงสิ่งที่จำเป็นในการเริ่มต้นebtablesและdnsmasqมีlibvirtd/ virtlogdหลังจากนั้น
pepper_chico

11
ฉันต้องการที่จะเน้นรีสตาร์ท libvirtdหลังจากติดตั้งebtablesและdnsmasq
ThorSummoner

3
ฉันยืนยันว่าไม่จำเป็นต้องติดตั้งfirewalldตามที่ระบุไว้โดย @pepper_chico (ความคิดเห็น) และStuart P. Bentley (คำตอบอื่น ๆ )
Alex Oliveira

9

นี่เป็นข้อผิดพลาดที่เกิดขึ้นหาก libvirtd เริ่มทำงานโดยไม่ติดตั้งebtablesและ / หรือdnsmasqติดตั้ง หากคุณติดตั้งแล้วและยังพบปัญหานี้อยู่คุณอาจต้องเริ่มlibvirtdบริการใหม่:

sudo systemctl restart libvirtd.service

เครดิตความเห็นเกี่ยวกับคำตอบอื่น ๆ คำถามนี้สำหรับให้แสงสว่างนี้ ฉันส่งมันเป็นคำตอบใหม่และแยกต่างหากสำหรับคำถามเดิมเนื่องจากการติดตั้งและเริ่มแก้ปัญหาเดิมอาจทำให้เกิดปัญหาใหม่ : เมื่อไฟร์วอลล์ daemon ทำงานบริการส่วนใหญ่ที่คุณต้องการภายในเครื่องเสมือนของคุณ , รวมทั้ง DHCP, จะถูกปิดกั้นโดยปริยายหมายความว่า VMs ของคุณจะไม่สามารถเข้าถึงเครือข่ายบนเริ่มต้น firewalld

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

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