Bug 9913

Summary: dnsmasq listening on 0.0.0.0 which should not be the case (virt-manager libvirtd dnsmasq-base)
Product: Mageia Reporter: Nicolas K <nicolas.p919>
Component: RPM PackagesAssignee: Mageia Bug Squad <bugsquad>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: Normal    
Version: Cauldron   
Target Milestone: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Source RPM: dnsmasq-2.65-3.mga3 dnsmasq-base-2.65-3.mga3 CVE:
Status comment:

Description Nicolas K 2013-04-29 17:36:43 CEST
Description of problem:

When installing libvirtd, dnsmasq is listening on 0.0.0.0 which should not be the case.
Instead, dnsmasq should listen only on networks created for libvirtd.

netstat -tanpu | grep dnsmasq

tcp        0      0 192.168.122.1:53            0.0.0.0:*                   LISTEN      2456/dnsmasq        
udp        0      0 192.168.122.1:53            0.0.0.0:*                               2456/dnsmasq        
udp        0      0 0.0.0.0:67                  0.0.0.0:*                               2456/dnsmasq


Version-Release number of selected component (if applicable):
virt-manager-0.9.5-2.mga3
dnsmasq-2.65-3.mga3
dnsmasq-base-2.65-3.mga3
python-libvirt-1.0.2-7.mga3
libvirt-utils-1.0.2-7.mga3

How reproducible:


Steps to Reproduce:
1. urpmi virt-manager libvirt-utils virt-viewer imvirt
2. service libvirtd start
3. netstat -tanpu | grep dnsmasq
tcp        0      0 0.0.0.0:53                  0.0.0.0:*                   LISTEN      1775/dnsmasq        
tcp        0      0 :::53                       :::*                        LISTEN      1775/dnsmasq        
udp        0      0 0.0.0.0:53                  0.0.0.0:*                               1775/dnsmasq        
udp        0      0 :::53                       :::*                                    1775/dnsmasq  

The netstat command line shows that dnsmasq is listening on all ip address which should not be the case.

The result is that the default network in the virt-manger is not working and can not be started.

When you try to start the default network in virt-manager, it does not work and virt-manager shows a popup window displaying the following error message :




Erreur lors du démarrage du réseau « default »: erreur interne Child process (dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf) unexpected exit status 2: 
dnsmasq: failed to create listening socket for 192.168.122.1: Address already in use


Erreur lors du démarrage du réseau « default »: erreur interne Child process (dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf) unexpected exit status 2: 
dnsmasq: failed to create listening socket for 192.168.122.1: Address already in use


Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 96, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 117, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/network.py", line 82, in start
    self.net.create()
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 2155, in create
    if ret == -1: raise libvirtError ('virNetworkCreate() failed', net=self)
libvirtError: erreur interne Child process (dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf) unexpected exit status 2: 
dnsmasq: failed to create listening socket for 192.168.122.1: Address already in use


Reproducible: 

Steps to Reproduce:
Comment 1 Nicolas K 2013-04-30 19:56:07 CEST
I answer to myself.

I found perhaps how to stop this bug. dnsmasq service should not be started after installation and after rebooting the computer.

It seems that only libvirtd should manage dnsmasq (even if dnsmasq is started by libvirtd).

Dnsmasq should be stoped and configured in order to not start at boot when starting libvirtd.

as root just disable dnsmasq at boot
systemctl disable dnsmasq.service

service libvirtd stop
service dnsmasq stop
service libvirtd start

Status: NEW => RESOLVED
Resolution: (none) => WONTFIX