この記事は1年以上前の古い記事です。現状に即していない記述の場合があります。あらかじめご了承ください。

systemd-resolvedとdnsmasqに脱力する

nogajun
あけおめ。ことよろ。
さて、LXDをセットアップしようと思ってコマンドを叩いたら、こんなエラーが出た。
$ sudo /snap/bin/lxd init --auto
Error: Failed to create local member network "lxdbr0" in project "default": The DNS and DHCP service exited prematurely: Process exited with non-zero value 2 ("dnsmasq: failed to create listening socket for 10.119.0.1: Address already in use")
dnsmasqが原因というのは分かったので、dnsmasqを削除してsystemd-resolvedと入れ替えてセットアップするとLXDは使えるようになりました。
続いてlibvirt-kvmの仮想マシンを使おうとしたら、今度はdnsmasqが無いので仮想ネットワークdefaultが起動できないとメッセージが出て使えなくなった。
は?
LXDは、dnsmasqがあったらセットアップできなくてlibvirt-kvmはdnsmasqが必要って、どないせぇっちゅうねん!💢
検索したら、LXDのほうは「セットアップのときだけdnsmasq止めればいいよ」って脱力しそうな回答しか無いし、libvirt-kvmのほうもなにかやってるっぽいけど、どうしようもないし、結局、似たようなものを両方インストールしたままStackOverflowの回答にあった、systemd-resolvedの設定ファイル/etc/systemd/resolved.conf
に
DNSStubListener=no
と書いて、しのぐことにしましたとさ。
そう。後で見つけたけどlibvirt関連で、libvirt-systemd-resolvedというのがあって、これを使えばsystemd-resolvedでなんとかできそうだけど、もう気力がないので誰かよろしく。