dnsmasq started too early, not getting all interfaces
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
dnsmasq (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned | ||
netplan.io (Ubuntu) |
Expired
|
Undecided
|
Unassigned |
Bug Description
Hi,
I'm still struggling with 18.04 and the move from ifupdown to netplan.
I am running a local virtual linux bridge as a network for several virtual machines and containers, which is to be serviced with dhcp and dns by dnsmasq.
Conforming to latest designs from Ubuntu the bridge is now started by netplan and configured in /etc/netplan/
Since there is no ifupdown-scripts anymore, I've configured the default dnsmasq daemon in /etc/dnsmasq.
This works only when started manually.
When booting ubuntu the normal way, the bridge is correctly generated, and dnsmasq is running, but it does *not* offer DNS for the bridge and does not occupy its port 53. But just a manual systemctl restart dnsmasq.service make it run as expected, then everything is fine.
So my guess is that my configuration is correct, but dnsmasq simply started to early, i.e. before the bridge is created, and thus does not see the bridge when starting up.
There's something wrong in the dependencies of the startup configuration.
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: dnsmasq 2.79-1
ProcVersionSign
Uname: Linux 4.15.0-23-generic x86_64
NonfreeKernelMo
ApportVersion: 2.20.9-0ubuntu7.2
Architecture: amd64
CurrentDesktop: LXDE
Date: Fri Jun 15 10:59:43 2018
InstallationDate: Installed on 2018-04-30 (45 days ago)
InstallationMedia: Lubuntu 18.04 LTS "Bionic Beaver" - Release amd64 (20180426)
PackageArchitec
SourcePackage: dnsmasq
UpgradeStatus: No upgrade log present (probably fresh install)
summary: |
- dnsmasq startet too early, not getting all ports + dnsmasq started too early, not getting all ports |
summary: |
- dnsmasq started too early, not getting all ports + dnsmasq started too early, not getting all interfaces |
In your netplan example config, keyword 'optional' means that systemd-networkd won't wait until this interface is up before declaring to systemd that the network is online. THis means dnsmasq is starting before the vlan0 interface is created.
If you remove the optional value that should ensure it is up and configured before the dnsmasq service starts.