
目次
回線の事情で2拠点に置いてあるSynology NASの直接通信ができない
筆者は、業務で使用しているストレージサーバにSynologyのNASを運用しており、自宅と仕事場の2カ所にそれぞれNASを設置して遠隔バックアップ(レプリケーション)環境を構築しています。
2つのNASの同期には、Synologyの標準パッケージのSynology Driveを使い、Synology Drive ShareSyncを用いてDDNSで接続することで拠点間同期を実現していたのですが、自宅は楽天モバイル運用である点から回線運用に難があり、仕事場も色々な事情からポートフォワーディングできなくなってしまったため、拠点間でNAS同士を直接接続させることが出来なくなっていました。
それでも、SynologyのNASにはQuickConnectと呼ばれるリモート接続サービスが使用でき、ファイル転送などもQuickConnectのリレーサーバを中継することで、一応は低速ながらもの拠点間同期が実現できていたので良しとしていました。
とは言え、QuickConnectのリレーサーバは接続の安定性がいまいち悪いのでSynologyアプリとの通信が成立しないことも多く、最近はQuickConnectのリレーサーバ自体に繋がらないことも多くなってきたことから、業務に大きな懸念が出ることも多くなってきていました。
そこで、拠点間通信の新たな接続方法として使用したのがWireguardフルメッシュ型VPNのTailscale (テールスケール)です。
フルメッシュVPN Tailscaleパッケージが全てを解決

今回、拠点間のNASの接続には、Wireguardフルメッシュ型VPNのTailscale (テールスケール)を使用しました。
Tailscaleとは、End-to-End の暗号化通信が実現できるWireGuardのVPNサービスです。
従来のVPNで使われるOpenVPNやIPsecに比べ、Tailscaleは従来のVPNとは比べ物にならない程簡単に使えて安定性も高く、そしてポートフォワーディングを行わなくても直接通信を可能にするのが特徴です。
とは言え、こういう手軽さや安定性を謳うVPNサービスにはHamachiやSoftEther VPNなど古くから存在しており、Synology NASのような専用OS上で動かすのは結構難があるのですが、Tailscaleに関してはパッケージセンター上で手軽に導入できるようになっており、インストールしてからVPNを実現するまで、ほんの数分で完了できます。

Tailscale導入はアカウントを作りパッケージをインストールして完了
TailscaleのSynology NASへの導入は簡単で、従来のVPNサービスのようなID・パスワードや共通鍵のような設定も要りません。
最初に、Tailscaleにアクセスしてアカウントを作成します。トップページの右上にあるGet startedボタンを押すとアカウントの登録画面に遷移します。

Tailscaleアカウントの作成はOIDC認証のみによって行われるため、ログインにはGoogleやMicrosoftなどのオンラインサービスのアカウントを使用します。メールアドレスによるアカウントの作成には対応しておらず、この辺りもセキュリティの向上に寄与しているようです。

アカウントの作成が完了したら、Tailscaleパッケージのインストールを行います。インストールが完了すると、メニューの中にTailscaleアイコンが追加されるのでそれをクリックします。

Tailscaleアイコンを開くと、新しくタブが開いてアカウントの紐づけが要求されるので”Reauthenticate”を押してログインします。

ログインが完了すると、TailscaleからVPNのIPアドレスが割り振られるので”Connect”を押して接続を確立します。

一端タブを閉じて、再度TailscaleアイコンをクリックするとVPN接続としてのIPv4アドレスや接続状態が表示されます。

IPv4アドレスの欄を展開すると、サーバ名やMagicDNS、IPv4とIPv6のアドレスが表示されます。今回の例ではMagicDNSかIPv4のどちらかを使えば問題ありません。

アウトバインドを有効にしてSynology Drive Shareで繋ぐ
Synology NASの専用OS DSM7からはセキュリティの関係上、Tailscaleによる送信側のアクセスが有効になっていません。
そのため、送信側によるアクセスが成立するようユーザー定義スプリクトをタスクスケジューラに設定する櫃よぐああります。

タスクスケジューラの”トリガーされたタスク”から”ユーザー定義のスプリクト”を背tんたくします。

全般設定は、タスク名を任意の名前にして、ユーザーを”root”、イベントを”ブートアップ”にします。

タブをタスク設定に切り替えて、下記のコマンドを”ユーザー指定のスプリクト”に入力します。
/var/packages/Tailscale/target/bin/tailscale configure-host; synosystemctl restart pkgctl-Tailscale.service

タスクを設定したら、Synology NASを再起動してスプリクトを実行します。再起動が面倒な方は右クリックで”実行”を押しても良いです。

今回の運用では、2台のSynology NASをTailscaleで接続するので、Tailscaleの紐づけからユーザー定義スプリクトまで、もう一台のNASで同じ作業を行います。
作業が完了したら、Synology Drive ShareSyncを開いてQuickConnectやDDNSと同じようにTailscaleのIPv4アドレスを入力して設定を行うと、Tailscaleによる同期が有効になります。

スマートフォンにTailscaleを入れればSynologyアプリ運用も快適に
TailscaleはSynology NAS同士の接続だけではなく、iPhoneなどのスマホアプリの接続にも使用できます。

筆者はSynology NASをファイルサーバとしてだけではなく、POP3メールをPOPフェッチ化してWebメールサーバにしたり監視カメラの制御などにも使用しており、それをSynologyの公式アプリを使ってスマホからアクセスしています。
TailscaleはスマートフォンのSynology公式アプリによる接続にも対応するので、TailscaleでのアクセスにすることでQuickConnectのリレーサーバ接続よりも安定した接続環境を実現できます。
Tailscaleの存在でグローバルIPに拘らなくても良くなったかも
今回、Tailscaleを使ってVPN環境を構築してみたのですが、これまで使用してきたVPNサービスの中で最も手軽に導入できて、トラブルも起きておらず、しかも接続の安定性が高いので正直驚いています。
古くはさくらインターネットのVPSを借りてSoftEther VPNを運用したり、Synology公式のVPN Serverパッケージを使用してVPN接続を構築してきたわけですが、鍵の扱いが面倒だったり特定の環境では接続が成立しなかったりと、とにかくVPNと言えばトラブルが尽きなかった訳です。
そんなVPNが、設定がほぼ不要でアカウントとソフトのインストールだけで成立でき、しかもポートフォワーディングも不要となれば、もう全部Tailscaleでいいんじゃないかなとも思っています。
さて、Tailscaleによる通信速度についてですが、QuickConnectリレーサーバの10倍くらいの速い速度とレスポンスで通信ができています。SMBはちょっと難しいところもありますが、時間がかかるだけでアクセス自体は可能なので、使い勝手もこれまで触ってきたVPNの中でもかなりよい感じです。
筆者は居住環境のネット環境が不遇な状態が続いており、所謂、ネット回線ガチャに何度も大外れしており、「次こそはグローバルIPが配布されるネット環境にしよう」と意気込んでいたわけですが、Tailscaleがポートフォワーディング不要でVPNが通るなら無理してネット回線を選ぶこともないかな、と思い始める程です。
もちろん、今の自宅環境は楽天モバイルなので、通信品質は決して良いとは言えない状態であり、最近はミリ波5Gで接続していたSH-52Aも壊れたことでネット回線の速度的な面だと満足とは言えないものの、機能的な面ではTailscaleで代替できてしまったので、固定回線によるグローバルIPの必要性は薄れてしまった感じです。





