Run dnsmasq with systemdΒΆ
Create /etc/systemd/system/dnsmasq@.service
with these contents:
# '%i' becomes 'virbr10' when running `systemctl start [email protected]`
# Remember to run `systemctl daemon-reload` after creating or editing this file.
[Unit]
Description=DHCP and DNS caching server for %i.
After=network.target
[Service]
ExecStart=/usr/sbin/dnsmasq -k --conf-file=/var/lib/dnsmasq/%i/dnsmasq.conf
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
It is best to only start dnsmasq when the bridge is up. If using NetworkManager,
create /etc/NetworkManager/dispatcher.d/99-virbr10
and make it executable.
#!/bin/sh
# See the "DISPATCHER SCRIPTS" section of `man NetworkManager`.
# Remember to make this file executable!
[ "$1" != "virbr10" ] && exit 0
case "$2" in
"up")
/bin/systemctl start [email protected] || :
;;
"down")
/bin/systemctl stop [email protected] || :
;;
esac
If using Debian, append two command options to /etc/network/interfaces
.
auto virbr10
iface virbr10 inet static
... snipped ...
up /bin/systemctl start [email protected] || :
down /bin/systemctl stop [email protected] || :
Alternatively, just start dnsmasq at every boot.
# systemctl enable [email protected]
# systemctl start [email protected]