В libvirt присутствует баг, который заключается в том, что она запускает свою копию dnsmasq и тот занимает порт 67 на всех интерфейсах. И это пока никак не регулируется.
root 2144 0.0 0.0 131816 3108 ? Sl 09:31 0:00 libvirtd --daemon nobody 2182 0.0 0.0 10532 488 ? S 09:31 0:00 /usr/sbin/dnsmasq --strict-order --bind-interfaces --pid-file tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 2182/dnsmasq udp 0 0 192.168.122.1:53 0.0.0.0:* 2182/dnsmasq udp 0 0 0.0.0.0:67 0.0.0.0:* 2182/dnsmasq [root@host]# service dnsmasq start Starting dnsmasq: dnsmasq: failed to create listening socket: Address already in use [FAILED] [root@host]# tail /var/log/message |grep dnsmasq Jul 22 09:42:24 m750 dnsmasq[3017]: failed to create listening socket: Address already in use Jul 22 09:42:24 m750 dnsmasq[3017]: FAILED to start up
Правится в /etc/dnsmasq.conf
# эта строка отключает желание системной версии слушать DNS на виртуальном интерфейсе. except-interface=virbr0 # а это отучает слушать DHCP запросы на всех интерфейсах no-dhcp-interface=* bind-interfaces
Альтернативный способ избежать конфликта использования портов указать альтернативный порт. Не проверено но должно работать.
Правится в /etc/dnsmasq.conf
dhcp-alternate-port # без параметров # оно должно переключиться на 1067 порт # либо добавить нулевой порт # dhcp-alternate-port =0