QNAP NASにTailscaleをインストールして外出先からアクセスできるようにする
QNAP TS-431PというNASをRAID 1構成で運用しており、2TBのディスクを4台使用しています。今回、Tailscaleを導入することで、外出先のスマートフォンやPCから安全にNASへアクセスできる環境を構築しました。
QNAP TS-431Pについて
使用しているNASは以下のモデルです。
https://www.qnap.com/ja-jp/product/ts-431p
ARM CPUを搭載した4ベイNASで、自宅のファイルサーバーとして活用しています。
QNAP(キューナップ) TS-431P3 2.5GbE対応...
AnnapurnaLabs Alpine AL-314 1.7GHz クアッドコアと4GBメモリを搭載。
Tailscaleとは
Tailscaleは、WireGuardをベースとしたVPNソリューションで、複雑なネットワーク設定なしに、異なるネットワーク上のデバイス同士を安全に接続できるサービスです。従来のVPNと比べて設定が簡単で、NAT越えも自動で処理してくれるため、自宅のNASへのリモートアクセスに最適です。
パッケージのダウンロード
まず、QNAP用のTailscaleパッケージをダウンロードします。
GitHubのリリースページから、使用しているNASのアーキテクチャに合ったパッケージを選択します。
https://github.com/tailscale/tailscale-qpkg/releases/tag/v1.58.2
アーキテクチャの確認
TS-431PのCPUはARM Cortex-A15なので、ARM用パッケージを選択します。
[matsu@ts431p Tailscale]$ cat /proc/cpuinfo
processor : 0
model name : Annapurna Labs Alpine AL212 Dual-core ARM Cortex-A15 CPU @ 1.70GHz
Speed : 1.7GHz
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x2
CPU part : 0xc0f
CPU revision : 4
processor : 1
model name : Annapurna Labs Alpine AL212 Dual-core ARM Cortex-A15 CPU @ 1.70GHz
Speed : 1.7GHz
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x2
CPU part : 0xc0f
CPU revision : 4
Hardware : Annapurna Labs Alpine
Revision : 0000
Serial : 0000000000000000
上記の情報から、以下のパッケージをダウンロードします。
Tailscale_1.58.2-1_arm-x41.qpkg
インストール手順
1. パッケージのアップロード
ダウンロードしたパッケージを、QNAP管理画面(QTS)の「App Center」からアップロードしてインストールします。
「手動インストール」を選択し、ダウンロードしたqpkgファイルを指定してインストールを実行します。
Tailscaleの起動
問題: 管理画面から起動できない
インストール後、QNAP管理画面上にTailscaleアプリが表示されますが、起動しようとすると「Internal Server Error」が発生して起動できない問題に遭遇しました。
解決方法: SSH経由での起動
この問題は、tailscaledデーモンが起動していないことが原因です。SSH経由でNASにログインし、手動で起動する必要があります。
[matsu@ts431p Tailscale]$ cd /share/CACHEDEV1_DATA/.qpkg/Tailscale
[matsu@ts431p Tailscale]$ ls
Tailscale.sh* state/ tailscale* tailscaled* ui/
[matsu@ts431p Tailscale]$ ./Tailscale.sh start
ln: /home/httpd/cgi-bin/qpkg/Tailscale/ui: Permission denied
[matsu@ts431p Tailscale]$ sudo ./Tailscale.sh start
[matsu@ts431p Tailscale]$ ps | grep tailscaled
30731 admin 28156 S /share/CACHEDEV1_DATA/.qpkg/Tailscale/tailscaled --port 41641 --statedir=/share/CACHEDEV1_DATA/.qpkg/Tailscale/state --socket=/tmp/tailscale/tailscaled.sock
30975 matsu 388 S grep tailscaled
sudo権限で起動スクリプトを実行すると、tailscaledが正常に起動します。
Tailscaleへの認証
認証手続き
tailscaledが起動すると、QNAP管理画面のTailscaleアプリに「Reauthenticate」ボタンが表示されるようになります。
このボタンをクリックすると、Tailscaleの認証ページにリダイレクトされます。
TailscaleアカウントでログインしてNASを承認すると、Tailscaleネットワークに参加できます。
設定完了
認証が完了すると、QNAPアプリ上で以下のような画面が表示されます。
これで設定は完了です。TailscaleがインストールされているスマートフォンやPCから、NASに割り当てられたTailscale IPアドレス(100.x.x.x形式)でアクセスできるようになります。
まとめ
QNAP NASへのTailscaleインストールは、管理画面からの起動に問題があるものの、SSH経由で手動起動することで解決できました。一度設定してしまえば、外出先からも安全にNASへアクセスできる環境が整います。
ポイント
- QNAP用のTailscaleパッケージは、NASのアーキテクチャに合ったものを選択
- 初回起動時はSSH経由で
sudo ./Tailscale.sh startを実行する必要がある - 認証後はTailscaleネットワーク経由で外部から安全にアクセス可能
Tailscaleを使うことで、ポート転送やDDNSの設定なしに、セキュアなリモートアクセス環境を簡単に構築できるため、自宅NASの利便性が大きく向上しました。