Welcome to the Linux Foundation Forum!

Lab 3.2 - lxc installation fails with 'dnsmasq[]: failed to create listening socket for 10.0.3.1'

I was trying to install lxc on a Ubuntu 20.04 host but got the following failure report during installation and subsequent service invocation:

systemctl restart lxc-net.service 
Job for lxc-net.service failed because the control process exited with error code.
See "systemctl status lxc-net.service" and "journalctl -xe" for details.

Here some more information from journalctl -xe

Aug 13 22:16:20 oldy systemd-udevd[3490]: lxcbr0: Could not generate persistent MAC: No data available
Aug 13 22:16:20 oldy avahi-daemon[1018]: Joining mDNS multicast group on interface lxcbr0.IPv4 with address 10.0.3.1.
Aug 13 22:16:20 oldy avahi-daemon[1018]: New relevant interface lxcbr0.IPv4 for mDNS.
Aug 13 22:16:20 oldy avahi-daemon[1018]: Registering new address record for 10.0.3.1 on lxcbr0.IPv4.
Aug 13 22:16:20 oldy named[1215]: listening on IPv4 interface lxcbr0, 10.0.3.1#53
Aug 13 22:16:20 oldy NetworkManager[1024]: <info>  [1597346180.6219] device (lxcbr0): state change: unmanaged -> unavailable (reason 'connection-assumed', sys-iface-state: 'external')
Aug 13 22:16:20 oldy lxc-net[3529]: dnsmasq: failed to create listening socket for 10.0.3.1: Address already in use
Aug 13 22:16:20 oldy dnsmasq[3529]: failed to create listening socket for 10.0.3.1: Address already in use
Aug 13 22:16:20 oldy dnsmasq[3529]: FAILED to start up
Aug 13 22:16:20 oldy lxc-net[3487]: Failed to setup lxc-net.
Aug 13 22:16:20 oldy avahi-daemon[1018]: Withdrawing address record for 10.0.3.1 on lxcbr0.
Aug 13 22:16:20 oldy avahi-daemon[1018]: Leaving mDNS multicast group on interface lxcbr0.IPv4 with address 10.0.3.1.
Aug 13 22:16:20 oldy NetworkManager[1024]: <info>  [1597346180.6247] device (lxcbr0): state change: unavailable -> disconnected (reason 'connection-assumed', sys-iface-state: 'external')
Aug 13 22:16:20 oldy avahi-daemon[1018]: Interface lxcbr0.IPv4 no longer relevant for mDNS.

So this points to:
dnsmasq: failed to create listening socket for 10.0.3.1: Address already in use

I've been trying to find this mysterious IP 10.0.3.1 but was unable - ss doesn't show it, neither does lsof -i, nor netstat.

Searching the web suggests uninstalling dnsmasq, but I have only dnsmasq-base installed. See https://stanislas.blog/2018/02/setup-network-bridge-lxc-net/

Obviously 10.0.3.1:53 is related to DNS.

Solution: Uninstall the bind9 DNS server!

I totally forgot that I had installed a bind9 DNS server which wasn't doing much.

Conclusion: lxc doesn't like DNS servers.

Comments

  • Hi @heiko_s,

    Thank you for your detailed feedback. Such conflicts are to be expected on dedicated systems, where many packages have been installed over time.
    One way to prevent such issues is to start with a clean system (VM) when running through a set of exercises.

    Regards,
    -Chris

  • heiko_sheiko_s Posts: 99

    Thanks Chris. That's usually what I do - using QEMU/kvm and do the labs in VMs. This time I wanted to see if lxc would be suitable to run a web server and bind9 in containers on my media PC. Following the motto: Don't just preach the word, live it.

  • I may include the "lesson learned" from your findings in a future course update release :)

  • aimcorpaimcorp Posts: 3

    ^good stuff. I was going to go down the rabbit hole on this one, but a quick google led me here.
    If you don't want to uninstall bind9, you can:
    1. Stop the named service.

    • Feel free to disable it, if you think you'll reboot any time soon, so as to not repeat these steps. I just stopped it, as I rarely reboot my machines. I have 2 spare laptops and a desktop, so I just put them to sleep after I am done with them for the day.
    1. restart the lxc-net service
    2. confirm it started properly
    3. get on with your containers. :)
  • chrispokornichrispokorni Posts: 949

    Hi @aimcorp,

    Thank you for your feedback.

    Regards,
    -Chris

Sign In or Register to comment.