【TrueNAS】tailscaleをdockerアプリでインストールしプライベートクラウドを構築【Scale】

スポンサーリンク
03 TrueNAS Scale
本記事はPRによる消費税込みの価格表示です
本記事はTrueNAS SCALE 23.10環境で検証しています。

フリー(OSS)のNASシステムとして人気のTrueNAS(旧FreeNAS)はLinuxベースの「TrueNAS Scale」でdockerに完全対応しました。

TrueNAS Scaleの環境が構築済であれば、簡単な操作でdockerを使ったさまざまなアプリケーション機能を追加インストールすることができ、商用NASであるQNAPやSynologyと同じような高機能ストレージサーバーとなります。

さまざまなサービスをTrueNAS Scale上に構築すると、外出先からも自宅のTrueNAS Scaleが使いたくなってきます。

高価なQNAPやSynologyを購入しなくても、さまざまなクラウドサービスをサービスごとにサブスクしなくても、すべて自宅のTrueNAS Scale上で実現できる環境を構築することができます。

本記事ではTrueNAS Scaleで利用可能なdockerおよびtailscaleの機能を使い、外出先からいつでもTrueNAS Scaleのサービスにアクセスできる環境を構築していきます。

TrueNASとtailscaleプラグインでプライベートクラウド

TrueNAS Scaleは人気のフリーソフト(OSS)ストレージサービスであるTrueNAS(旧FreeNAS)をLinuxへ移植したソフトウェアです(オリジナルはFreeBSDベースのTrueNAS Core)。

ファイルサーバーの人気ソフトウェアとして長い実績をもつ高機能なTrueNASがLinuxへ移植されたことで、人気のコンテナサービス「docker」に完全対応しました。

これにより、dockerで利用可能な豊富なアプリケーションがTrueNAS Scaleでも簡単に使えるようになりました。

自宅でクラウドサービスを構築できる

スマホの普及により従来からのファイルサーバーの利用範囲が広がってきました。

昔はファイルサーバーといえばデータの保管庫だったのですが、現在はスマホと連携して写真や動画の共有サービスやAIによる仕分け管理までできてしまいます。

Google PhotosやAmazon Photosなどで提供されているサービスと同じような環境を自宅のTrueNAS Scaleで実現できてしまいます。

特に写真や動画をたくさん扱う場合には容量課金のクラウドサービスでは非常に高額になってしまいます。

自宅のTrueNAS Scaleに同様のクラウドサービスを構築することで、これらのコストを抑えることができます。

外出先からも利用可能になる?

自宅に置いてあるTrueNAS Scaleとはいっても、クラウドサービスと同じように外出先から簡単にスマホでもパソコンからも利用することができます。

この「外出先からいつでも自宅クラウドへアクセスできる」環境を構築してくれるのがtailscaleというVPNサービスです。

自宅のTrueNAS Scaleおよび外出先で利用するスマホやパソコンにtailscaleアプリをインストールすることで、いつでもどこからでも自宅のTrueNAS Scale上に構築したサービスを利用することができるようになります。

本記事では、この「外出先から自宅へ簡単にVPN接続できるサービス」としてのtailscaleをTrueNAS Scaleへインストールし環境構築する手順を説明していきます。

TrueNASでプラグインを使う準備

本記事ではTrueNAS Scaleの環境にdockerアプリケーションとしてtailscaleを導入していきますが、そのための準備作業があります。

準備作業として、TrueNAS Scaleの環境上で行う準備作業と、tailscaleサービスの管理画面上で行う準備作業があり、以下の作業となります。

TrueNAS Scale上の準備作業

  • dockerアプリケーション用Poolの定義
  • dockerアプリケーションリストの最新化
  • tailscaleサービスでの準備作業

    • tailscale利用者登録
    • 認証キー(Auth Key)の取得

    TrueNAS Scaleでdockerアプリケーションを管理するメニューは「Apps」メニューになります。

    準備① TrueNAS Scale上での準備作業

    まずTrueNAS Scaleの環境上にて、以下2点の準備作業を行います。

    TrueNAS Scale上の準備作業

  • dockerアプリケーション用Poolの定義
  • dockerアプリケーションリストの最新化
  • dockerアプリケーション用Poolの定義

    TrueNAS Scaleでdockerアプリケーションを利用する場合にはアプリケーション用のPoolを割り当ててあげる必要があります。

    すでに作成済のPoolを利用して良いです。

    本記事ではストレージ用として作成したPool「tank」をdockerアプリケーション用Poolとして定義していきます。
    ※もちろん、別poolを作成してdocker専用に割り当てても構いません。

    メニュー「Apps」を開き、「設定」のドロップダウンリストから「Choose Pool」を選択します。

    TrueNASでtailscale環境構築

    作成済Poolの選択画面が表示されるので、dockerアプリケーションで使用するPoolを一覧選択します。

    TrueNASでtailscale環境構築

    Poolを選択すると、しばらく「Configurating…」と動作し、最初の「Apps」画面に戻ってきます。

    以上でdocker用Poolの設定は完了です。

    アプリケーションリストの更新

    次に利用可能なdockerアプリケーションの一覧リストを最新化しておきます。

    メニュー「Apps」画面から画面右上の「Discover Apps」をクリックします。

    TrueNASでtailscale環境構築

    すでにdockerアプリケーションを導入している場合はインストール済のアプリケーションがこの画面に表示されます。

    tailscaleアプリケーションをインストールするために画面右上の「Discover」ボタンを押下します。

    TrueNASでtailscale環境構築

    「Discover」画面では利用可能なdockerアプリケーションが一覧で表示されます。

    初めてこの画面を開いた場合、または久しぶりにこの画面を開いた場合には一覧表示が最新化されていません。

    このため、画面右上の「Refresh Charts」の文字リンクをクリックして利用可能アプリケーション一覧を更新しておきましょう。

    以上で「dockerアプリケーション一覧の更新」は完了です。

    準備② tailscaleサービスの準備

    TrueNAS Scaleへtailscale環境を構築するためにはtailscaleへサービス利用者登録を行う必要があります。

    tailscaleでは有料プランも提供されていますが個人利用の範囲においては無料プランで十分です(利用者登録は無料)。

    tailscale利用者登録

    tailscaleの利用者登録には以下のいずれかのアカウントが必要となります。

    tailscaleへ登録可能なアカウント

    • Googleアカウント
    • Microsoftアカウント
    • Githubアカウント
    • Apple ID
    • OICDアカウント

    いずれかのアカウントを利用し、tailscaleサービス登録画面より利用者登録を行います。

    TrueNASでtailscale環境構築

    tailscaleサービスで利用するアカウント(いつも使っているアカウント)を選びログインを行います。

    私はいつも使っているGoogleアカウントで登録しました。

    TrueNASでtailscale環境構築

    上図のようなtailscale管理コンソールが表示されればtailscale利用者登録は完了です。

    今はまだ何も表示されていませんが、この「Machines」のページにあなたがこれから登録する自宅サーバー/外出先デバイス(PCやスマホ)が追加登録されていきます。

    認証キー(Auth Key)の取得(発行)

    利用者登録が完了したら管理画面コンソールの「Settings」タブの「Keys」項目から画面遷移し「Auth keys」を見つけてください。

    TrueNASでtailscale環境構築

    Auth KeyとはTrueNAS Scale上にインストールするtailscaleアプリケーションがtailscaleサービスとして認証してもらうために必要なキーとなり、tailscaleのインストール時に設定します。

    画面上の「Generate auth key…」をクリックするとAuth Key発行画面(ダイアログ)が表示されます。

    TrueNASでtailscale環境構築

    Auth Key発行ダイアログ画面では以下の情報を入力します。

    Description キーの備考を記入しておくと良いでしょう
    ※未記入でも可
    Reusable オン(右へスライド)
    ※オフだとtailscale再起動でキー無効となるため

    上記を設定したら「Generate key」ボタンを押下します。

    発行されたAuth Keyが画面表示されます。

    TrueNASでtailscale環境構築

    ここで発行されたAuth Keyはtailscaleアプリケーションのインストール時に設定しますので、メモ帳などにコピーして保管しておきます。

    Auth keyはこの画面でしか表示されません(あとから再確認はできません)。

    以上で認証キー(Auth Key)の再発行、およびtailscaleサービス側での準備作業は完了です。

    TrueNASへtailscaleプラグインをインストール

    ここまでの準備作業で以下の作業が完了しました。

    • TrueNAS ScaleへアプリケーションPoolの登録
    • TrueNAS Scaleのアプリケーション一覧の更新(最新化)
    • tailscaleサービス利用者登録
    • tailscale認証キー(Auth Key)の発行

    では、ここからはTrueNAS Scaleへtailscaleをdockerアプリケーションとして登録(インストール)していきます。

    STEP① tailscaleアプリケーションのインストール

    TrueNAS Scaleのメニュー「Apps」から画面右上の「Discover Apps」をクリックします。

    TrueNASでtailscale環境構築

    「Discover」画面ではTrueNAS Scaleで利用可能なdockerアプリケーションが山のように表示されます。

    ここで検索欄に「tailscale」と入力すると、tailscaleアプリケーションが絞り込み表示されます。

    TrueNASでtailscale環境構築

    絞り込みされた「tailscale」アプリケーションをクリックするとアプリケーションの詳細画面が表示されます。

    TrueNASでtailscale環境構築

    ここで「Install」ボタンを押下します。

    TrueNASでtailscale環境構築

    tailscaleのインストールパラメーター設定画面が表示されるので、必要な情報を入力していきます。

    Application name
    Application Name 初期値”tailscale”のまま
    バージョン 初期値のまま
    Tailscale Configuration
    Auth Key 準備作業で発行した認証キー(Auth key)を貼り付けます
    ホスト名 お好きな名前
    ※本記事では”truenas”
    ※tailscaleサービス管理コンソール上に表示されるマシン名となります
    必ず「英数小文字」で入力
    Advertise Routes
    ※(1)
    「Add」ボタンを押して自宅サブネットを登録します
    ※”192.168.1.0/24″など
    Advertise Exit Node
    ※(2)
    外出先から自宅回線をExitNodeとする場合にチェック
    Userspace 初期値(チェック)のまま
    Accept DNS 基本的に初期値(未チェック)のまま
    Network Configuration
    Host Network 初期値(未チェック)のまま
    Resources Configuration
    CPU 初期値のまま
    メモリ 初期値のまま

    上記を設定したら「インストール」ボタン押下します。

    TrueNASでtailscale環境構築

    画面上にはアプリケーション一覧に「tailscale」が追加され、ステータスが「Deploying(配備中)」となります。

    しばらく待って、ステータスが「動作中」になればインストール完了です。

    以上でTrueNAS Scaleへのtailscaleインストールは完了です。

    ※1) Advertise Routesの設定値

    「Advertise Routes」には自宅ネットワークのサブネットを登録します。

    たとえば、自宅のネットワーク環境(IPv4アドレス)が「192.168.1.xxx」であれば、サブネットは「192.168.1.0/24」となります。

    基本的にはTrueNAS ScaleのIPv4アドレスを参照して確認するとよいでしょう。

    上位ネットワークがある場合

    自宅のネットワーク環境において、TrueNAS Scaleが存在するネットワーク(サブネット)とは別に上位に別のネットワークがある場合があるかもしれません。

    たとえば、インターネット接続用の回線としてNTTドコモ「home5G」やソフトバンク「Softbank Air」、KDDI「WiMAX +5G」などのホームルーターを利用している場合にはホームルーターのネットワーク配下に別のネットワークを構築してTrueNASなどを設置している場合もあるかもしれません。

    このような上位に別のネットワークがある場合には「Add」ボタンをもう一度押下して2つ目の「Advertise Routes」を登録します。

    これにより、TrueNASが存在するネットワーク(サブネット)に加えて上位ネットワーク(ホームルーター等のサブネット)へも外出先からアクセスできるようになります。

    例えば、NTTドコモ「home5G」のルーターIPアドレスの初期値は「192.168.128.1」なので、初期値のまま利用している場合はhome5G直下のサブネットは「192.168.128.0/24」となります。

    ※2) ExitNodeとは?

    tailscaleを使って外出先から自宅へ接続している状態で、せっかく安全な自宅回線が利用できるのだから自宅以外のインターネット接続も自宅回線を使いたい、という使い方が「ExitNode」です。

    街中Wi-Fiなどあまり信用できないインターネット回線などを使っている場合に、信頼できる自宅の回線からインターネットへ出るための仕組みとなります。

    この機能(ExitNode)を使いたい場合には「Advertise Exit Node」をチェックします。

    なお、「Advertise Exit Node」をチェックした場合でも、クライアント側のtailscale設定により「ExitNodeを利用する/しない」の選択が可能です。

    なので、よくわからない場合にはチェックしておくとよいでしょう。

    STEP② tailscale管理画面での認証

    TrueNAS Scaleへのtailscaleインストールが完了しました。

    tailscale管理コンソールで発行した認証キー(Auth Key)を使ってtailscaleが動作しているので、この時点でtailscale管理コンソールにはTrueNAS Scaleが登録されているはずです。

    では、tailscale管理コンソール画面を確認してみましょう。

    tailscale管理コンソール | tailscaleプロジェクト

    tailscale管理コンソール画面の「Machines」には今登録したTrueNAS Scaleのtailscaleが登録されているので確認します。

    TrueNASでtailscale環境構築

    マシン名はtailscaleインストール時に設定した「ホスト名(本記事では”truenas”)」で表示されています。

    ルート設定の承認

    tailscale管理コンソール画面にはTrueNAS Scaleへインストールしたtailscaleアプリケーションが表示されています。

    TrueNASでtailscale環境構築

    登録したホスト名(初期値:truenas-scale)の右にある三点マーク「…」をクリックし「Edit route settings…」を選択します。

    TrueNASでtailscale環境構築

    TrueNAS Scaleでのtailscaleインストール時に設定した「Advertise Route」のサブネット、および「Advertise Exit Node」の承認を行います。

    「Subnet routes」および「Exit node」として登録情報が表示されているので、どちらもチェックし「Save」ボタン押下。

    以上でネットワーク情報の承認が完了しました。

    また、これにてtailscale環境構築は完了です。

    うまくつながらない!

    ここまでの作業でTrueNAS Scale上へtailscaleをdockerアプリケーションとしてインストールし、サービス利用可能な状態となっています。

    あとはパソコンでもスマホでもクライアント用のアプリをインストールするだけで、いつでもどこからでも自宅ネットワークへ接続し、自宅にいるときと同じように自宅サーバーのサービスを利用することができます。

    ここで「うまくつながらない!?」という場合は、多くの場合tailscaleインストール時のパラメータ設定が間違えています。

    tailscaleインストール時のパラメーターは後からでも変更することが可能です。

    tailscaleインストールパラメーターの見直し/修正

    tailscaleアプリケーションのインストールパラメーターは後からでも(インストール後でも)変更することができます。

    TrueNAS Scaleのメニュー「Apps」を開くとインストールされているdockerアプリケーションが一覧表示されます。

    「tailscale」アプリケーションの右端にある「■」マークをクリックして、tailscaleを一時停止します。

    TrueNASでtailscale環境構築

    ステータスが「Stopped」の赤文字に変わったらdockerアプリケーションの「tailscale」をクリックします。

    画面はtailscaleアプリケーション情報が表示されるので「Application Info」の「編集」ボタンを押下します。

    TrueNASでtailscale環境構築

    インストール時の設定と同じ項目が画面表示されるので、設定内容を確認します。

    間違いがあれば修正し、画面下の「アップデート」ボタン押下で一覧画面へ戻ります。

    一覧画面より「tailscale」の右端の「▲」マークをクリックしてステータスが「動作中」になると新しい設定内容にてtailscaleが再起動されています。

    改めて動作確認してください。

    どこがおかしい??

    tailscaleは非常にうまくできたサービスであり、ほとんどネットワーク環境にとらわれずにVPN接続ができてしまいます。

    設定も簡単です。

    通常、「うまくつながらない」という場合は「Advertise Routes」の設定が実際の自宅ネットワークのサブネットになっていない場合がほとんどです(つまり設定ミス)。

    まずはTrueNAS ScaleのIPv4アドレスを確認し、IPv4アドレスの末尾を”0/24″としたものがサブネットになります。

    たとえばTrueNAS ScaleのIPv4アドレスが「192.168.1.128」であれば、登録すべきサブネット(Advertise Subnet)は「192.168.1.0/24」となります。

    クライアントの準備と動作確認

    Windows11で動作確認

    外出先で利用するWindowsパソコンにtailscaleクライアントアプリをインストールし、設定していきます。

    アプリのダウンロードとインストール

    アプリのダウンロードはtailscaleのホームページより行います。

    tailscaleダウンロードセンター | tailscaleプロジェクト

    TrueNASでtailscale環境構築

    上記「Download Tailscale for Windows」をクリックしてアプリをダウンロードし、ダウンロードしたファイルを実行することでtailscaleクライアントアプリがインストールされます。

    アプリがインストールされると、Windowsパソコンのタスクトレイにtailscaleアプリのアイコンが表示されます。

    tailscaleで自宅ネットワークをVPN接続

    アイコンを右クリックしてメニューから「Log in…」をクリックします。

    TrueNASでtailscale環境構築

    ブラウザが起動してtailscale管理コンソールへのログイン画面が表示されるのでログインします。

    TrueNASでtailscale環境構築

    ログインするとtailscale管理コンソールが表示されます。

    tailscale管理コンソールには先に登録したturnasに加えて、今登録したWindowsパソコンが登録されました。

    TrueNASでtailscale環境構築

    上記のように、外出先からも自宅TrueNAS Scaleへいつも使っているIPアドレスで接続することができました。

    また、今回TrueNAS Scale上のtailscaleではTrueNAS Scaleサーバーだけでなくサブネットとして自宅ネットワークを丸ごと登録しています。

    このため、TrueNAS Scaleだけでなく自宅ネットワークの他のデバイスへも外出先からアクセスすることができます。

    外出先パソコンからの動作確認

    では外出先のWindowsパソコンから自宅のTrueNAS Scaleへ接続してみます。

    我が家のTrueNAS ScaleのIPアドレスは「192.168.11.40」と設定しています。

    外出先パソコンのブラウザから自宅TrueNAS ScaleのIPアドレスを入力してみます。

    TrueNASでtailscale環境構築

    上図のように外出先からいつも自宅で使っているIPアドレスで自宅TrueNAS Scaleへアクセスすることができました。

    また、今回はTrueNAS ScaleのtailscaleではTrueNAS Scaleだけでなく自宅ネットワーク全体をサブネットとして登録しています。

    このため、外出先からでもTrueNAS Scaleだけでなく自宅ネットワーク内のすべてのデバイスへアクセスすることができる環境になっています。

    我が家はTrueNAS Scale以外にOpenMediaVaultによるNASを構築しています。

    TrueNASでtailscale環境構築

    上図のようにTrueNAS Scale以外にも(tailscaleをインストールしていない)OpenMediaVaultへもいつものIPアドレスでアクセスすることができました。

    スマホで動作確認

    次にスマホで使える環境を構築、および確認していきます。

    今回はスマホとしてAndroidスマホを利用しますが、iPhoneでも同様の手順となります。

    tailscaleスマホアプリのインストールとログイン

    まずはスマホアプリをスマホへインストールします。

    tailscaleダウンロードセンター | tailscaleプロジェクト

    TrueNASでtailscale環境構築

    上記リンクのQRコードをスマホのカメラで読み取ります。

    または、直接Playストア(iPhoneならAppストア)から「tailscale」で検索しても良いです。

    TrueNASでtailscale環境構築

    Google Playストア(または、Apple Appストア)からtailscaleをインストールします。

    インストールできたらスマホからtailscaleアプリを起動します。

    TrueNASでtailscale環境構築

    tailscaleアプリを起動するとログイン画面が表示されるので、同じようにログインします。

    ログインが完了するとパソコン版と同じようにtailscale管理コンソールが表示されます。

    TrueNASでtailscale環境構築

    すでに登録済のTrueNAS Scale(truenas)とWindowsパソコン(windows10)が登録されているのがわかります。

    この状態で、スマホもtailscale管理コンソールに登録済み状態となっているのでスマホからも自宅TrueNAS Scaleへアクセスできるようになりました。

    ※なお、画面上部の「Active」のスライドスイッチを左へスライドして「Stopped」へすることで、スマホアプリ(tailscale)の接続が切断、「Active」で接続、という使い方になります。

    スマホから自宅サーバーへアクセス

    では、外出先のスマホから自宅TrueNAS Scaleへ接続してみます。

    TrueNASでtailscale環境構築

    スマホからもいつも自宅で使っているIPアドレスを使いTrueNAS Scaleへ接続することができました。

    TrueNASでtailscale環境構築

    また、tailscaleをインストールしていない自宅サーバーOpenMediaVaultへもいつものIPアドレスで接続できました。

    まとめ、TrueNAS Scaleで自宅プライベートクラウド

    tailscaleは最新のVPNプロトコルであるWireGuardを使って「誰でも簡単にVPN環境が構築できる」サービスです。

    さまざまなデバイスにtailscaleアプリをインストールすることでデバイス間がVPN通信できるようになります。

    そしてtailscaleアプリケーションは人気のコンテナサービスであるdockerとしても配布されています。

    TrueNAS Scaleでdockerアプリを使う

    TrueNAS Scaleは旧FreeNASがLinux対応したものです(本来はFreeBSDベース)。

    そしてLinuxでは人気のコンテナ環境であるdocker環境を簡単に構築できます。

    これにより、TrueNAS Scaleは標準で「プラグインApps」として各種dockerアプリを管理画面から簡単にインストールして機能拡張していくことができるようになりました。

    本来のTrueNAS Scaleはストレージサービスとしてデータの保管庫利用が本来のサービスですが、dockerを使った各種アプリケーションにより機能を追加していくことで、Google PhotosやAmazon PhotosなどのようなサービスをTrueNAS Scale上に構築することができます。

    tailscaleをdockerアプリとして導入

    tailscaleを使えば簡単にVPN環境が構築できるので外出先から自宅のサーバーへアクセスする、ということが簡単にできます。

    「簡単に」というのはたとえば「自宅ルーターのポート開放が不要」「自宅のインターネット回線がなんでも良い(複雑なネットワーク定義が不要)」ということです。

    さらにtailscaleの「Advertise route」機能を使えばtailscaleをインストールしたデバイスだけでなく、自宅ネットワークを丸ごと外出先から利用できる環境が構築できます。

    今回TrueNAS Scaleにtailscaleをインストールしましたが、この「Advertise route」機能があることで、外出先からTrueNAS Scaleだけでなくたとえば自宅のカメラやIoT機器などもすべて(自宅にいるときと同じように)外出先からアクセスすることができます。

    TrueNAS Scaleとdockerで自宅クラウド

    TrueNAS Scaleにはdockerアプリとして「NextCloud」や「PhotoPrism」など写真・動画の管理アプリも提供されています。

    これらを組み合わせることで、自宅のTrueNAS Scale上にGoogle PhotosやAmazon Photosなどと同様なサービスを構築することもできます。

    さらに本記事で構築したtailscaleの機能を使うことで、これらのサービスを外出先からも使えるようになります。

    特に写真や動画の撮影が多く、クラウドサービスの高額な容量課金に困っている方は自宅のTrueNAS Scaleへの移行を検討してみると良いかもしれません。

    タイトルとURLをコピーしました