Ubuntu18.04でdnsmasqの起動に失敗する。
環境
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がいなくなります。