dnsmasqを設定するときにlibvirtdの方とコンフリクトしたというメモ

ふと、dnsmasqを使うかなと思って動かしたらlivirtdの方とコンフリクトしたので何が起きたのかという程ではないけど記録のめも。

最初に普通にdnsmasqを設定して起動するとこんな感じに。

masami@saga:~$ sudo systemctl start dnsmasq
Job for dnsmasq.service failed. See "systemctl status dnsmasq.service" and "journalctl -xe" for details.

エラーメッセージの通りjournalctl -xeすると、原因は明らかに。

May 05 13:04:37 saga systemd[1]: Starting A lightweight DHCP and caching DNS server...
-- Subject: Unit dnsmasq.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit dnsmasq.service has begun starting up.
May 05 13:04:37 saga dnsmasq[1255]: dnsmasq: syntax check OK.
May 05 13:04:37 saga dnsmasq[1258]: dnsmasq: failed to create listening socket for port 53: Address already in use
May 05 13:04:37 saga dnsmasq[1258]: failed to create listening socket for port 53: Address already in use
May 05 13:04:37 saga dnsmasq[1258]: FAILED to start up
May 05 13:04:37 saga systemd[1]: dnsmasq.service: main process exited, code=exited, status=2/INVALIDARGUMENT
May 05 13:04:37 saga systemd[1]: Failed to start A lightweight DHCP and caching DNS server.
-- Subject: Unit dnsmasq.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit dnsmasq.service has failed.
--
-- The result is failed.

誰かがport53をbindしているということで確認。

sami@saga:~$ ss -anlp | grep -w LISTEN | grep ":53"
tcp    LISTEN     0      5      192.168.122.1:53                    *:*

えー、192.168.122.1はうちの環境だとvirbr0だから。。。ということはlibvirtかとなります。 じゃあ、どうしようかなということでぐぐってみたところBug #500484 “libvirt conflicts with existing dnsmasq installatio...” : Bugs : libvirt package : Ubuntuが見つかって、/etc/dnsmasq.confでlistenするアドレスを0.0.0.0にすればおkと回答があったのでそのように設定。 あとはlibvirtとdnsmasqのサービスを再起動するかシステムごと再起動すれば完了。

小さな会社の新米サーバー/インフラ担当者のためのLinuxの常識

小さな会社の新米サーバー/インフラ担当者のためのLinuxの常識