Tailscaleは、複雑な設定なしで自宅や社内の機器を安全に接続できるVPNサービスです。これが TureNAS では Apps で利用できます。
WireGuard をベースにしているので信頼できそうなのと、
各環境用のクライアントアプリが揃ってるので、
TrueNAS の Apps で自宅側を設定しておけば外出先から自宅ネットワークへアクセスできる環境が無料で構築できるようです。
(しかもインストールした TrueNAS だけでなく、自宅LANにつないでいるときのように他のデバイスにもアクセスさせるように設定できる)
(他のコンシューマNASは自前のNASアプリで似たようなことができるようになっていますが、TrueNAS はこういったサードパーティーのアプリを利用する必要があります。かといって WireGuard 自体をセットアップするのはちょっと面倒なので)
Personal
無料で個人用デバイスを安全に接続したい個人向け。
で
3ユーザー
100デバイス
Tailscaleのほぼ全機能にアクセス可能
Tailscaleを無料で無期限に利用
追加デバイス:月額0.50ドル(1台あたり)
で十分じゃないでしょうか。
Personal Plusになると、
6ユーザーになるけど、
月額5ドル……。
まずは、
Tailscale のサイトにアクセスして、
https://tailscale.com/
「Get started - it's free!」
Google
Microsoft
GitHub
Apple
OIDC
のいずれかのアイデンティティプロバイダーで認証します。
きりしまは Google で Google アカウントで認証してみました。
最初の登録時は
ウィザードがいろいろ案内してくれるようですが、
TrueNAS の Apps でローカルのネットワークを共有してスマホで外出先からアクセスする戦略は選べないようなので
「Skip」で。
Settings > Personal Settings の Keys > Auth Keys の Generate auth key...
特に何も変更せず Generate key
(連続で複数台設定したいときとかは Reusable を選択したり、 Description に説明をメモったりしてもいいのでしょうが)
キーが表示されるのでコピーアイコンをクリックしてコピーして、
いったんメモ帳などに貼っておきます。
ここでしか表示されないので万が一ってだけです。
(クリップボードにコピーしただけだとスクショ撮ったりすると失ってしまう)
対象の TrueNAS に移動して、
Apps 画面で「Discover Apps」
検索窓に「tailscale」と入力すれば候補に出てきますのでクリック。
(でないときは右上の Refresh Catalog をクリックする)
Headscale というのが表示されていますが今回は無視。
Install をクリック。
(初めて Apps をインストールする場合はすこし手順があるはずです。
Setup Pool To Install と表示されているので、
■ Confirm にチェックして Agree
Choose a pool for Apps でプールを選択して(既存の1個のプールでOK) Choose
既存のプール内に Apps 用のデータセットが作成されます。TrueNAS のバージョンにもよりますが、 TrueNAS 25.10 だと非表示のデータセット ix-apps になっています。GUIからは見えませんが、Shell で zfs list とすると見えます)
Hostname のところに、この TrueNAS の名前など Tailscale の画面に出たときになんか区別できるものを入力。
Auth Key のところに先ほどコピったキーを貼り付け。
Advertise Routes の Add をクリック。
(今回は省略していますが、上の Advertise Exit Node をチェックすると、
スマホからこのネットワークを経由してインターネットにアクセスするようになるので、
グローバルIPアドレスをスマホのものでなく、自宅からアクセスしているかのように見せかけることができるようです)
この TrueNAS のあるネットワーク全体を参照できるように
Route のところに、このNASのネットワークアドレスを記述します。
たとえば、
IPアドレスが 192.168.0.144
で
サブネットマスクが 255.255.255.0 (CIDR表記だと /24)
なら、
IPアドレスの最後のオクテットを0にして、
192.168.0.0/24
とします。
IPアドレスが 192.168.10.144 なら、 192.168.10.0 にする感じです。
サブネットマスクが255.255.255.0じゃない場合はなんか特別な事情があるはずなので割愛。
他はとりあえず触らず Install
少し待ちます。
画面が変わって Applications のところに tailscale が追加されて
Deploying → Running となったら
Tailscale のサイトに戻り、「Machines」
先ほど設定したホスト名で Connedted と表示されているはずですが、
Subnets のところに(!)が表示されています。
The machine has unapproved routes.
Review this from the "Edit route setting..."
option in the machine's menu.
(このマシンには未承認のルートがあります。
マシンのメニューにある「ルート設定を編集...」オプションから確認してください。)
ということなので右側の「…」をクリックして、
「Edit route settings...」
先ほど設定したサブネットが表示されているので
■192.168.0.0/24
チェックを入れて「Save」
Subnets の(!)表示が消えました。
なお、 Auth Keys はデフォルトの設定で作成すると1回しか利用できません。
先ほど認証したのですでに Revoked と無効化されていますが、
Apps を停止して再起動したり、TrueNAS を再起動したりしても
再度設定し直す必要はありません。
Apps を削除してインストールし直したときとか、別の TrueNAS で
必要になった場合は新しい Auth Key を作成してそちらを使います。
(最初は手順を確認しつつだったので再利用可にしておきましたが、
結局きちんと設定できるなら再利用可にしておく必要性もあまりないかと思いました)
あとはスマホに Tailscale アプリをインストールして同様にサインインして、 Connect で有効にするだけで、外出先のスマホからローカルのLAN内にいるときのように、設定したNASに限らず、ネットワーク内の他のNAS等へもアクセスできるようになります。
通常の利用をするときは左上のスイッチみたいなのでオフにしておけばいいと思います。
マシンパワー的には、スクリーンショット撮るのに使ったJ4205でも特にCPU負荷が上がる訳でもない感じでした。