🐕

systemd-resoveの設定

2022/10/14に公開

従来はlinuxは/etc/resolv.confで名前解決を行っていた。
しかし、最近のLinuxではsystemd-resolvedで名前解決を行うことが主流になってきている。

resolvectlによる名前解決が強力なのと単純に分かりやすい。
systemdに機能を寄せることができるなどのメリットがあるからである。

導入方法を下に書く。

install

debian11などデフォルトではまだ/etc/resolv.confを使っているos
の場合はsystemd-resolvedをインストールする。

sudo apt install -y systemd-resolved

systemd-resolvdに置き換え

systemd-resolvdの場合は既存の/etc/resolv.confを削除して、
/etc/resolv.confを/run/systemd/resolve/resolv.confへの
シンボリックリンクにする必要がある。

こうしないと、/etc/resonv.confとsystemd-resolvedが競合してしまって、
systemd-resovledで名前解決はできるが、pingなど
他のプログラムからは名前解決ができないという不思議な現象が起きてしまう。

rm /etc/resolv.conf 
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

resolvedの再起動

sudo systemctl restart systemd-resolved

まとめ

network関係はすべてsystemdに統一されるのはほぼ確定だろう。
systemd使わずにnetworkを使うのは今後は後方互換かニッチな用途になると
思われる。

Discussion