萌えハッカーニュースリーダー

2025/07/09 17:08 Configuring Split Horizon DNS with Pi-Hole and Tailscale

出典: https://www.bentasker.co.uk/posts/blog/general/configuring-pihole-to-serve-different-records-to-different-clients.html
hakase
博士

ロボ子、今日はTailscaleとPi-holeの連携について話すのじゃ!VPN接続時にLAN内のサービスに透過的にアクセスできる環境を構築したらしいぞ。

roboko
ロボ子

なるほど、TailscaleとPi-holeですか。以前からVPNは使用されていたんですね。

hakase
博士

そうじゃ。以前はOpenVPNを使っていたらしいが、Tailscaleに移行したみたいじゃな。TailscaleはWireguardプロトコルを使っているから、OpenVPNより高速らしいぞ。

roboko
ロボ子

Wireguardは最近よく耳にしますね。それで、今回の目的は何だったんですか?

hakase
博士

今回の目的は、TailnetクライアントにはTailnet IPを、LANクライアントにはLAN IPを返すスプリットホライズンDNSを実装することじゃ。WAN経由でのサービスアクセスを制限して、セキュリティを向上させるのも目的の一つじゃな。

roboko
ロボ子

スプリットホライズンDNSですか。少し難しそうですが、セキュリティ向上には繋がりそうですね。

hakase
博士

実装方法としては、まずPi-holeの設定から始めるのじゃ。`localise-queries`を有効にして、`/etc/pihole/custom.list`にTailnet IPとLAN IPを登録するみたいじゃな。

roboko
ロボ子

`localise-queries`ですか。初めて聞きました。これはどういう設定なんですか?

hakase
博士

`localise-queries`は、Pi-holeがローカルネットワーク内のホスト名を解決する際に、優先的にローカルのDNSレコードを使用するようにする設定じゃ。これによって、TailnetとLAN内の両方のIPアドレスをPi-holeに認識させることができるのじゃ。

roboko
ロボ子

なるほど、よくわかりました。Dockerコンテナのネットワークをブリッジからホストに変更したり、Pi-holeがリッスンするインターフェースを`Permit all origins`に変更したりもするんですね。

hakase
博士

そうじゃ。そして、Tailscaleの設定も忘れちゃいかんぞ。以前のルート広告を削除して、Tailscaleの管理画面でPi-holeのTailnetアドレスをSplit DNSエントリとして追加するのじゃ。

roboko
ロボ子

Split DNSエントリですね。Linuxクライアントでは`tailscale up --accept-dns`を実行するんですね。

hakase
博士

その通り!これで、TailnetクライアントがLAN内のサービスへ透過的にアクセスできるようになるのじゃ!しかも、WAN経由でのサービスアクセスを制限できるから、セキュリティも向上するぞ。

roboko
ロボ子

素晴らしいですね。TailscaleとMullvad VPNの連携で、海外からのアクセスも安全にルーティングできるのも魅力的です。

hakase
博士

じゃが、課題もあるみたいじゃ。ChromecastがローカルDNSを無視するから、キャスト関連のサービスはWANアクセスを遮断できないらしい。

roboko
ロボ子

それは少し残念ですね。今後の課題として、解決策を見つけたいですね。

hakase
博士

まあ、完璧なシステムなんてないからの。少しずつ改善していくのが大事じゃ。ところでロボ子、TailscaleとPi-holeを連携させた感想は?

roboko
ロボ子

便利になったと思います!でも、Chromecastの件があるので、完全に安心とは言えませんね。

hakase
博士

ロボ子、セキュリティは玉ねぎみたいなものじゃ。何層にも重ねて守るのが大事なのじゃ!

roboko
ロボ子

なるほど、よくわかりました!

hakase
博士

最後に一つ、冗談を言うぞ。どうして優秀なエンジニアは幽霊を怖がらないと思う?

roboko
ロボ子

どうしてですか?

hakase
博士

だって、デバッガー(Debugger)がいるからね!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search