もぐてっく

人は1つ歳をとるたび、1ビットづつ大きくなれると信じてた。

Ubuntu18.04でdnsmasqの起動に失敗する。

環境

  • Proxmox Virtual Environment 5.2-2
  • ubuntu-18.04-standard_18.04-1_amd64.tar.gzで作ったコンテナ

apt-get install dnsmasqしたところ、DNSのポート(53/UDP)が既に使われているってことでdnsmasqの起動に失敗しました。

何者だ?と調べてみると、systemd-resolvedって子らしい。

systemd-resolvedは新しい名前解決の仕組みで、DNS、LLMNR、mDNSなんかを統一的に扱えるものの様です。

しかしながら、従来の/etc/resolv.confを直接参照してDNSに問い合わせに行くプログラム(そんな奴いるの?)のために、localhost(127.0.0.53)にスタブDNSサーバを立てつつ、それをネームサーバに指定した/etc/resolve.confを自動的に生成してくれる機能があります。
今回はこの機能がおせっかいをしていると。

幸い、Proxmox VEのUbuntu18.04イメージはsystemd-resolvedのスタブDNSを使わない*1ので、さくっと止めてしまいましょう。

/etc/systemd/resolved.conf

[Resolve]
#DNS=
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
DNSStubListener=no  ←コメントを外して"no"にする。

systemctl restart systemd-resolvedでスタブDNSがいなくなります。

*1:コンテナの起動時にProxmoxのGUIで指定したDNSのアドレスを/etc/resolve.confに出力している。