メディアサーバーの管理、ホームラボの運用、クラウドベースの仮想マシンの実行、社内ダッシュボードの作成などを行うユーザーにとって、リモートアクセスは極めて重要です。ローカル環境外からこれらのサービスに接続できなければ、自社インフラストラクチャを利用してもほとんど意味がありません。しかし、サービスをパブリックインターネットに公開すると、システムへの不正アクセスなど、数多くのセキュリティ脆弱性が生じます。NetBirdは、デバイスの場所に関係なくシームレスな通信を可能にする安全なプライベートネットワークを構築することで、バランスの取れたソリューションを提供します。
NetBirdは、ゼロトラストネットワークモデルを採用し、デバイスを接続する安全なプライベートネットワークを構築するオープンソースプラットフォームです。このシステムを使用することで、デバイスはすべて同じローカルネットワーク上にあるかのように動作し、リモートロケーションからセルフホスト型サービス、ダッシュボード、サーバーへのアクセスを簡素化できます。
例えば、PlexやJellyfinを搭載したメディアサーバーを考えてみましょう。NetBirdを使えば、ルーターの設定を変更することなく、どこからでもアクセスできます。クラウドサーバーを管理しているユーザーにとっては、SSHをインターネットに公開することなく、安全なSSHアクセスが可能になります。Joplinのようなセルフホスティングソリューションを使用している場合や、社内用のダッシュボードを構築している場合も、プライベートネットワーク経由でチームメンバーと簡単に共同作業を行うことができます。
NetBirdのようなツールを使用しない場合、リモートアクセスするにはサーバーを公開する必要があります。VPNを設定するという選択肢もありますが、ファイアウォールルールの管理、必要なポートの開放、セキュリティ証明書の維持にはかなりの時間と労力がかかり、サービスの実際の利用時間が減ってしまうことがよくあります。
NetBirdは、デバイスをプライベートネットワークに接続することで動作します。この分散型アプローチにより、デバイスは中央サーバーを経由してトラフィックをルーティングするのではなく、直接相互接続できるため、速度と信頼性が向上します。また、1台のデバイスをルーティングピアとして指定することで、ローカルネットワーク全体へのゲートウェイとして機能させることも可能です。例えば、ホームサーバーをルーティングピアとして設定すれば、各デバイスにNetBirdをインストールすることなく、自宅の他のデバイスにアクセスできます。

NetBirdの設定方法と使用方法
NetBirdは、Tailscaleと同様にホスティング型ソリューションとして利用できるだけでなく、セルフホスティング型オプションとしても利用可能です。セルフホスティングはNetBirdの大きな利点の1つです。セルフホスティングには初期設定が必要となる場合もありますが、その手順は簡単です。
まず、NetBirdをホストする場所を選択してください。選択肢としては、クラウドVM、NAS、あるいは個人のノートパソコンなどがあります。さらに、サーバーのパブリックIPアドレスを指すドメイン名も必要になります。
NetBirdはDockerを使用して動作するため、サーバーにDockerとDocker Composeプラグインがインストールされていることを確認してください。さらに、curlNetBirdのインストールスクリプトをダウンロードするためのユーティリティと、jq設定データを管理するためのユーティリティの2つをインストールしてください。
sudo apt install jq curl
NetBirdには、必要なコンポーネントをインストールおよび構成する自動セットアップスクリプトが用意されています。以下のコマンドを使用して、このプロセスを開始できます。
curl -fsSL https://github.com/netbirdio/netbird/releases/latest/download/getting-started.sh | bash
インストール中に、NetBirdダッシュボードへのアクセスに使用するドメインを入力するよう求められます。このドメインを使用すると、後でWebブラウザからダッシュボードにアクセスできます。
次に、スクリプトはどのリバースプロキシを使用するかを尋ねます。ほとんどのユーザーにとって、デフォルトの選択肢0(Traefik)が最適です。TraefikはLet’s Encryptを介してHTTPS証明書を自動的に管理し、ダッシュボードへの安全なアクセスを簡素化します。

次に、インストール時にメールアドレスの入力が求められ、続いてNetBirdプロキシサービスの有効化に関する質問が表示されます。NetBirdプライベートネットワーク経由でデバイスにリモートアクセスすることが目的であるため、ここでは「N」を選択してこのオプションを拒否することができます。
これらの手順が完了すると、セットアップスクリプトはNetBirdサーバーの初期化が完了するまで待機します。

初期化が完了すると、以前に設定したドメインを使用してNetBirdダッシュボードにアクセスできるようになります。
このアドレスにアクセスすると、NetBirdの設定ページにリダイレクトされます。そこで最初の管理者アカウントを作成し、ネットワークにデバイスを追加できます。

NetBirdとデバイスを統合する
お使いのデバイスでホストされているサービスへのリモートアクセスを有効にするには、まずそのデバイスをNetBirdネットワークに追加します。サイドパネルの「ピア」セクションに移動し、 「ピアの追加」オプションを選択してください。
お使いのデバイスに応じて、システムが推奨するNetBirdクライアントをダウンロードするためのオプションが表示されます。推奨されるクライアントをダウンロードして、デバイスにインストールしてください。
インストールが完了したら、クライアントを起動し、NetBirdダッシュボードで設定したのと同じ認証情報を使用してログインしてください。認証が完了すると、デバイスがピアリストに表示され、NetBirdネットワーク内で自動的にプライベートIPアドレスが割り当てられます。

別の接続済みデバイスにアクセスするには、 「ピア」ページに戻り、目的のアプリケーションを実行しているデバイスのNetBird IPアドレスを確認してください。ノートパソコンまたはモバイルデバイスでブラウザを開き、そのIPアドレスと対応するアプリケーションポート番号を入力します。
例えば、自宅のサーバーがJellyfinのようなメディアサーバーをホストしていて、NetBird がそれにアドレスを割り当てた場合100.70.15.8、次のアドレスからメディアサーバーにアクセスできます。
http://100.70.15.8:8096
ノートパソコンとホームサーバーの両方がNetBird経由で接続されている限り、たとえリモートでアクセスしている場合でも、メディアサーバーは両方のデバイスが同じローカルネットワーク上にあるかのように機能します。
NetBirdの操作と使用方法
デバイスが統合されると、NetBirdとのほとんどのやり取りは、直感的なWebダッシュボードを通じて行われます。このダッシュボードは、ネットワーク上のすべてのデバイスを管理し、通信設定を制御するための中心的なハブとして機能します。
まずはダッシュボードの「ピア」セクションをご覧ください。このセクションには、現在NetBirdネットワークに接続されているすべてのデバイスが表示され、デバイス名、接続状態、割り当てられた内部IPアドレスを確認できます。ここで、デバイス名の変更、ピアの削除、ネットワークに新しいマシンを追加するためのセットアップキーの作成を行うことができます。

次に、 「グループ」セクションを確認してください。この機能を使用すると、デバイスを特定のカテゴリに分類して、アクセス管理を簡素化できます。個人用デバイス、サーバー、開発用マシンなどのグループを作成することを検討してみてください。グループを設定したら、ダッシュボードから直接、各グループに特定のピアを割り当てることができます。
デバイスの分類が完了したら、アクセス制御セクションに進んでください。ここでは、ネットワーク内のデバイス間の通信方法を規定するルールを設定できます。どのグループまたはデバイスが相互に通信できるか、また許可されるトラフィックの種類を柔軟に指定できます。たとえば、ノートパソコンが特定のサーバーに接続できるようにしつつ、他のデバイスがそのサーバーにアクセスできないように制限することができます。

最後に、「ネットワーク」セクションは、ルーティングピアとして指定された単一のデバイスを通してローカルネットワーク全体を公開したい場合に重要になります。ネットワークリソースを定義し、ルーティングピアを割り当てることで、NetBirdネットワーク内の他のデバイスは、NetBirdクライアントを実行していないマシンにアクセスできるようになります。

NetBirdは、お客様がセルフホストしているアプリケーションへの安全なリモートアクセスを効果的に実現し、セルフホスト環境の維持を保証します。このリモートアクセス機能を最大限に活用するには、お客様のニーズに合ったセルフホスト型アプリケーションをさらに検討することをお勧めします。
コメントを残す