TailscaleのMagicDNSがなぜかLinux上で動かなくなったのでトラブルシューティングした

by
カテゴリ:

MagicDNSを使っているつもりだが、名前解決に失敗する……!

どうやらLinuxの場合、NetworkManager + systemd-resolvedという構成を使っているケースが多いらしく、以下のようにして、 /etc/resolv.confを設定してやればいいようだ(Configuring Linux DNS)。

$ sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

公式にトラブルシューティングがあるのはありがたい。

シンボリックリンクを貼る前にcat /etc/resolv.confすると# Generated by NetworkManagerというコメントがあり、NetworkManagerが自動生成してしまうようです。

man 5 NetworkManager.confによると、どうもrc-managerの設定次第で/etc/resolv.confが上書きされるか決まるようです。既定値のautoの場合、上書きするかは状況次第で、たとえばresolv.conf/run/systemd/resolve/stub-resolv.confのシンボリックリンクになっていれば、上書きされない模様。

あとは関連するサービスにrestartをかけてやればいいようです。

$ sudo systemctl restart systemd-resolved
$ sudo systemctl restart NetworkManager
$ sudo systemctl restart tailscaled

公式に従ってるだけであんまり中身のない記事ですが、自分への備忘録として……。

ENJOY!