なぜあなたのホムラボにドメインが必要なのか
まだIPアドレスやポート番号を入力して自宅ホスティングサービスにアクセスしていますか?もうやめるべきです。自宅のラボにはドメイン名が必要です。これにより、ScryptedやCalibre、またはホームネットワーク内で使用するその他のソフトウェアなど、自宅ホスティングサービスへのアクセスが非常に簡単になります。
IP は厄介です。ドメインは生活を楽にします。
私が最初に自宅のラボを始めたとき、すべてはIPアドレスとポートで運用されていました。Nginx Proxy Managerにアクセスしたい場合、192.168.0.6:7818に移動する必要がありました。Scryptedの場合は192.168.0.152:10443でした(異なるIPの異なるマシン)。
10、20、30、またはそれ以上のサービスをネットワーク上で実行する様子がいかに混乱するかがわかります。異なるサービスのために異なるIP上でポートが同じになることがあるからです。全体的に、私は覚えようとしていたのはIPとポートの混乱だけでした。うまくいきませんでした。
ホームラボ用にドメインを使用することで、ローカルIPのDNS解決を設定し始めることができました。私は通常、公衆IPを使用していますが、ドメイン解決のためにローカルIPを使うこともでき、これによりLAN内でのみ解決することができます。
今、NPMのために172.16.0.151:7818に接続しようとする代わりに、私はただnpm.mydomain.comに行きます。それはずっと覚えやすく、もし私のLAN IPやポートが何らかの理由で変わったとしても、新しい情報を思い出すために頭を更新する必要がありません。私はただDNSレコードを更新するだけで、同じアドレスで同じサービスにアクセスできるようになります。内部的には新しい場所にありますが。
サービスがホストされているIPを常に忘れてしまうなら、ホムラボにドメインを追加することで、再び生活がシンプルになります。少なくとも、サービスにアクセスする点ではシンプルになります。
ドメインがあればセルフホスティングは簡単です
私が自宅ラボの旅を始めてからあまり時間が経たないうちに興味を持ち始めたのは、ウェブサイトのセルフホスティングでした。自分の個人的なウェブサイトから、セルフホストされたサービス(電子書籍用のCalibreやオーディオブック用のAudioBookshelfなど)まで、自宅外からそれらのサービスにアクセスする簡単な方法を望んでいました。
ポートフォワーディングを使って、特定のポートをサービスに転送し、その方法でアクセスできたかもしれません。しかし、それは必ずしもSSL証明書とうまく機能するわけではなく、公開IPが変わると、すべてにアクセスするために新しいIPを使用し始める必要があります。Nginx Proxy Manager(または他のプロキシ管理アプリ)を使用すれば、ローカルでもリモートでも、真のHTTPSブラウジングのためにSSL証明書を適切に設定できます。
ホームラボ用のドメインがあれば、これらのサービスはローカルネットワークの外から簡単にアクセスできます。私はこれを使って、自分のサーバーで自己ホストしているほぼすべてのものにアクセスしています。サーバー管理ページからサービスまで、現在ではほとんど専らドメイン名を使ってサーバーにアクセスしています。
もしあなたのIPアドレスが滅多に変わらないのであれば、そのIPをDNSホストに設定し、Nginx Proxy Managerのようなプログラムを通じてローカルネットワークに解決させることができます。私の場合はそうですが、頻繁に変わるIPを持っている人もいることを知っていますし、幸いなことに、それは解決するのが難しい問題ではありません。
ダイナミックDNSで簡単に
IPアドレスが頻繁に変わる場合、ダイナミックDNSはあなたにとって完璧です。これは、DNSサーバーが指すIPアドレスを手動で変更することなく、常に更新するための他のツールです。
すべてのDNSサーバーが動的DNS(DDNS)をサポートしているわけではないので、ホームラボのドメインを購入する場所(または使用する名前サーバー)ではそれをサポートしていることを確認してください。私は個人的にCloudflareを使用しており、いくつかの方法で自宅のサービスにアクセスできます。
Cloudflareトンネルは一つの選択肢ですが、完全修飾ドメイン名(FQDN)を使ったDDNSの方が設定が簡単で、他の人があなたのサービスにアクセスできるようにするため、私はそれを好みます。
DDNSは、ネットワーク内のコンピュータの一つでローカルサービスを実行し、常に外部IPが何であるかを確認します。そのIPが変更されると、DNSプロバイダーへの接続を介してドメインのIPアドレスを更新します。
私は個人的にCloudflareDDNSのDockerコンテナを使ってIPを更新していますが、好みのDDNSソフトウェアを選ぶこともできます。Unifiにはいくつかのプロバイダー用のDDNSが組み込まれており、他のルーターでもDockerコンテナを実行することを心配するよりも、同様のサービスを提供している場合があります。
どちらの方法を選んでも、IPアドレスが頻繁に変わる場合はDDNSが必要です。これにより、自己ホスト型サービスが常にあなたのドメイン名で稼働し続けることができます。
セキュアサービスのための内部DNS
すべての人が自分のサービスに外部からアクセスしたいわけではなく、それは理解できます。私のほとんどのサービスはDDNSとNginx Proxy Managerを使って公開していますが、外部からアクセスされたくないサービスもまだいくつかあります。
すでに、外部DNSサーバーを内部IPにポイントするように設定できると述べました。しかし、Nginx Proxy Managerを、Pi-Holeのようなサービスと連携してローカルDNS解決のために機能させることもできます。
これは、Pi-HoleがあなたのDNSサーバーとして機能し、Nginx Proxy Managerがドメインの行き先を処理することによって動作します。完全に設定されると、myservice.domain.comを入力するだけで、Pi-Holeはリクエストをネットワークの外に送信することなくローカルで解決します。
この追加されたセキュリティにより、サービススタック内のすべてにドメイン名を使用できますが、外部に何も開放する必要はありません。これは、ローカルネットワーク上でドメインを使用する最も安全な方法です。最高の部分は、それが無料でも利用できるということです。
ドメインを取得するのは思ったより簡単です(しかも無料でできる可能性があります)
ドメイン名を取得する方法はいくつかあります。私は通常Cloudflareから購入しますが、Namecheap、GoDaddy、Squarespaceなど、他にもたくさんあります。最近ではほとんどの.comドメインは年間約10ドルで登録できます。しかし、.me、.co、.wiki、.media、さらには.lolや.techなどの面白いTLDは、確かにもっと高くなる可能性があります。
しかし、ここに少しの回避策があります。ローカルDNS解決のみにするのであれば、技術的にはドメインを所有する必要はありません。システムは単にローカルエントリを探し、そこからナビゲートします。人気のあるものを選んだ場合、予期しない結果を招く可能性があります。
例えば、もし望むなら、google.comを自分のホスティングしている検索エンジンにリダイレクトすることができます。しかし、それはネットワーク上の全ての人がそのドメインをナビゲートする際にGoogleではなくあなたの検索エンジンに行くことを意味します。
自分のホームラボに使用するドメインを誤って選んでしまい、後に他の誰かがそれを主張して使用する可能性もあります。この場合、新しいウェブサイトにアクセスしようとすると、あなたのホームラボにリダイレクトされるため、競合が発生することがあります。
要するに、ホームラボに使用したいドメイン名を購入するのが最善です。はい、service.localのようなものを使用することもできますが、最も信頼性が高く(推奨される)方法は、ドメインを購入することです。これにより、あなたしかそのドメインを使用しておらず、常に正常に動作することが保証されます。無料ではありませんが、年間約10ドルであれば、ホームラボのためにドメインを持つことの価値を否定するのは難しいです。

