研究室の内部DNSサーバーが名前解決してくれないなと思ったら、Tailscaleの設定を変えたせいだった話

1分で読めます

はじめに

まあタイトルで落ちてるんですが、折角ブログ立てたのに一月も更新しないのもアレなので、軽い話題を一つ。 アドカレにいずれなるかも?

事象

自分の所属している研究室は内部のネットワークに接続している状態だと、各種サーバー(GitLabとかDoku Wikiとか)が立っているサーバーの名前解決を内部DNSサーバーが行ってくれます。 なんですけど、ある時期から突然「そのような名前のサーバーは見つかりません」というエラーが出るようになりました。Pingは飛んでるし、外部ネットワークからSSH鍵もった状態でなら各種サーバーに接続できるので、ただただ名前解決ができてないっぽいな、DNSサーバーの調子が悪いのかな、と思ってました。

原因

原因はTailscaleの設定でした。少し前に、自宅のミニPCにAdGuard Homeを導入して、Tailscale経由で名前解決できるようにしたんですね。 で、その際に Override DNS という設定を有効にしてたことを完全に忘れていまして。 この設定はつまり「Tailscale接続中は、Tailscale経由で指定したDNSサーバーを使いなさい」という意味なんですね。 そりゃ自宅のDNSサーバーは研究室の他のサーバーのiPアドレスなんて知らないので、名前解決できるわけがない、というわけです。

対応

split DNSを導入しました。

What is Split DNS & Why Should You Use It?

Split DNS gives you private, secure access to internal services. Learn how to set it up and see why it matters for your network.

tailscale.com

簡単にいうと、Tailscale側で「このドメイン名ならlocal DNSサーバーを使いなさい」という設定をする機能です。便利~。

おわりに

みんなも自分がやった設定のことを忘れて鯖管にイジられないよう、気をつけようね!