13

Что я делаю

Я пытаюсь настроить виртуальное сетевое устройство 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 и что я могу сделать против этого? (Спасибо.)

2 ответа2

22

Установка ebtables , firewalld и dnsmasq похоже, решает проблему. Не забудьте запустить firewalld а также перезапустить службу libvirtd .

Команды:

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

ПРИМЕЧАНИЕ: не забудьте закрыть и снова открыть графический интерфейс virt-manager (если вы его используете).

5

Эта ошибка возникает, если libvirtd был запущен без ebtables и / или dnsmasq . Если вы установили их, но проблема все еще не устранена , вам, вероятно, необходимо перезапустить службу libvirtd :

sudo systemctl restart libvirtd.service

Благодарим за комментарии к другому ответу на этот вопрос для освещения этого. Я представляю его как новый и отдельный ответ на исходный вопрос, поскольку установка и запуск firewalld для решения исходной проблемы могут вызвать новые проблемы: после запуска демона брандмауэра большинство служб, которые вы захотите использовать в своем виртуальном машина, включая DHCP, будет заблокирована по умолчанию, что означает, что ваши виртуальные машины не смогут подключиться к сети при инициализации.

Я потерял более часа своей жизни, пытаясь отследить эту проблему, и отслеживание ее на брандмауэре, который я только что включил, было одним из самых глупых источников ошибки, с которой я когда-либо сталкивался. Не позволяй этому занять какое-то время у тебя.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .