Hi Guys, I do. have a question on libvirt according dnsmasq.

according to the Documentation libvirt initiates for each virtual Interface a dnsmasq process which listens on that interface.


Now my Setup Looks like this: in Order to rebuild a Customers Setup i created a vm with several Interfaces ( machine1) and an API Server with two Interfaces ( machine2). Two of these interfaces net_ext and net_int are available on both vms. One of That Interface is meant for Internet (net_ext) the other other for intercommunication (net_int). The "Internet" network is Routed via another virtual Interface (net_infra) which is unavailable on both vms. On that network my outgoing Gateway, ntp and DNS Server is configured in the vms.

This makes me crazy due to the fact that dns resolution on machine1 does not work until I either kill the dnsmasq process which listens on net_infra (this makes the system-wide dnsmasq also react on that interface) or I make config-changes mentioned below (but that persists only until the host is rebooted.

Both vms and the host run with centos7


My problem now is, that dnsmasq is Running on every virtual interface. And every process only listens on its own interface. All changes are undone/reset by reboot.

Of course during runtime (and with restart) i can add to "Interface=net_infra,net_ext" which temporarily fixes My Problem.

Another thing I could do is killing the dnsmasq process on the interface and use the hosts own dnsmasq config.


Without These changes on DNS resolution doesn't work within my machines ( as written DNS MUST be set on an ip on net_infra, which must not be bound to both vms).

So my question: How do i einher configure dnsmasq Not to Start for each Interface on libvirt-start or how do i configure the dnsmasq-config for net_infra also to listen 

On net_ext. chattr +i /var/lib/libvirt/dnsmasq/net_infra.conf is Not an Option!


Thanks in advance!


Erik