クイックスタート(5分)
ブラウザの履歴から192.168.1.50:8080を探し出すのに疲れていませんか?HomeLab의 管理は、電話帳を暗記するような作業であるべきではありません。ローカルDNSサーバーを導入すれば、扱いにくいIPアドレスをvault.homeやnas.localといった覚えやすい名前に置き換えることができます。Technitium DNSは、再帰ルックアップ、ネットワーク全体での広告ブロック、洗練されたダッシュボードを1つの軽量なコンテナに凝縮しています。
始める前に、DockerとDocker Composeが準備されていることを確認してください。デプロイを整理するために、docker-compose.ymlファイルを使用します。以下のコマンドを実行して開始しましょう:
mkdir technitium-dns && cd technitium-dns
nano docker-compose.yml
以下の設定をエディタに貼り付けてください:
services:
dns-server:
container_name: technitium-dns
image: technitium/dns-server:latest
restart: always
environment:
- DNS_SERVER_DOMAIN=dns-server
- DNS_SERVER_ADMIN_PASSWORD=your_secure_password
ports:
- "53:53/udp"
- "53:53/tcp"
- "5380:5380/tcp" # ウェブUI
volumes:
- ./config:/etc/dns/config
UbuntuやDebianを使用している場合、ポート53はおそらく既にsystemd-resolvedによって使用されています。これは初心者にとって最も頻繁に遭遇する落とし穴です。ポートを解放するには、ローカルスタブリスナーを無効にします:
sudo sed -i 's/#DNSStubListener=yes/DNSStubListener=no/' /etc/systemd/resolved.conf
sudo systemctl restart systemd-resolved
それでは、コンテナを起動しましょう:
docker-compose up -d
http://your-server-ip:5380にアクセスしてください。環境変数で定義したパスワードを使用してログインします。これで、プライベートDNSが正式に稼働しました。
詳細解説
標準的なDNS設定は単なる仲介役に過ぎず、GoogleやCloudflareにサイトの場所を尋ねるだけです。Technitiumはそれ以上のことが可能です。再帰DNSサーバー(Recursive DNS Server)として設定することで、ルートサーバーと直接通信します。閲覧履歴全体を特定のプロバイダーに委ねるのではなく、サーバー自身が回答を構築します。これはプライバシーにおける大きな利点です。
フォワーダーの設定
プライバシーは重要ですが、時には純粋な速度が求められることもあります。TechnitiumのUIで、Settings > Forwardingに移動してください。1.1.1.1 (Cloudflare) や 9.9.9.9 (Quad9) のような高速なプロバイダーを追加できます。さらにセキュリティを強化するために、DNS over HTTPS (DoH)を有効にしましょう。これによりクエリが暗号化され、ISP(インターネットサービスプロバイダー)がどのドメインを検索しているかを知ることができなくなります。
ソース元で広告をブロックする
Technitiumのブロッキング機能は秘密兵器です。Settings > Blockingから、膨大なブロックリストを取り込むことができます。例えば、StevenBlack/hostsリストは、50,000以上の悪意のあるドメインや広告配信ドメインを特定します。ネットワーク内のデバイスが広告を読み込もうとすると、Technitiumは0.0.0.0を返します。広告はダウンロードすら開始されないため、帯域幅を節約し、Web体験をクリーンに保つことができます。
高度な使い方
Local Zones(ローカルゾーン)こそ、HomeLab愛好家にとっての真の醍醐味です。私はこのセットアップを使用して、半年間一度もクラッシュすることなく、3つの異なるVLANにまたがる数十のマイクロサービスを管理してきました。どのサービスがどのポートにあるかを覚える必要がなくなります。
ローカルDNSレコードの設定
- Zonesタブを開きます。
- Add Zoneをクリックし、
lab.homeという名前を付けます。 - ゾーン内で、Add Recordをクリックします。
- A Recordを作成します:名前を
proxyとし、Nginx Proxy ManagerまたはTraefikのIPアドレスを指定します。
これで、Wi-Fiに接続されているデバイスなら、ブラウザにproxy.lab.homeと入力するだけで即座にダッシュボードにアクセスできるようになります。
安全なリモートアクセス (DoH/DoT)
5G接続中のスマートフォンでも広告ブロックを利用したいですか?Settings > Optional ProtocolsでDoHまたはDoTを有効にしてください。TechnitiumをLet’s Encrypt証明書付きのリバースプロキシの背後に配置すれば、モバイルのDNS設定を自宅のサーバーに向けることができます。どこにいても、インターネットへのプライベートで広告のないトンネルを持っているようなものです。
実践的なヒント
DNSはネットワークの基盤です. もしこれが機能しなくなると、インターネット全体が「落ちている」ように感じられます。適切なメンテナンスが重要です。
ブロックリストを最新に保つ
新しいトラッキングドメインは常に現れます。Settings > Blockingに移動し、24時間ごとの自動更新スケジュールを設定してください。一度設定すれば、あとはサーバーが自動的に処理してくれます。
手間いらずのバックアップ
設定をローカルフォルダーにマッピングしているため、コンテナが削除されてもデータは安全です。さらに万全を期すために、毎週そのディレクトリをアーカイブするcronジョブを実行しましょう:
# 毎週のバックアップスクリプト
tar -czvf technitium_backup_$(date +%F).tar.gz ./technitium-dns/config
パフォーマンスチューニング
定期的にダッシュボードを確認してください。**キャッシュヒット率 30〜40%**を目指すと良いでしょう。それより低い場合は、設定でキャッシュのTTL(有効期限)を増やしてみてください。ヒット率が高いということは、サーバーがインターネットに問い合わせて50〜100msかかるのではなく、メモリから約1msで回答していることを意味します。
セルフホストDNSへの切り替えは、HomeLabに対して行える最大のアップグレードです。それは単なるIPアドレスの集まりを、プロフェッショナルで統合されたネットワークへと進化させます。

