【自動更新できる】Tailscaleの設定|ポート開放不要でSynology NASにリモートアクセスする方法

YokiYoki
YokiYoki

NURO光で10Gにしたら、DDNSを利用したリバースプロキシが使えなくなり、Jellyfinのリモートアクセスができなくなりました。ポート開放ができなくなったことが原因です。

そこで「Tailscale」を導入してみました。設定は思っていたよりも簡単で、ポート開放をすることなくSynology NASへリモート接続できるようになりました。

さらに、Tailscaleは自動アップデートでき、HTTPS接続に使用するTLS証明書も自動更新できます。手動で更新する手間が省けるので、長く使う場合にも便利です。

Tailscaleは、接続するクライアントデバイスにもTailscaleアプリをインストールする必要があります。これをデメリットとして挙げることもできますが、私はどのデバイスがTailscaleに接続されているのかを視覚的に確認できるので、むしろ分かりやすくて便利だと感じています。

この記事は「Tailscale」のYoutube解説動画を参考に記事を書きました。Youtubeの動画を見ながら設定すると分かりやすいと思います。日本語音声切替できます。

NURO光はMAP-E方式に徐々にシフトしていくようです。

Tailscaleのインストールとアカウント作成

SynologyNASの場合

パッケージセンターから「Tailscale」をインストールする。

Tailscaleの公式サイト からアカウントを作成します。

ブラウザの翻訳機能で日本語にすると分かりやすいと思います。

ホームページ右上の「ログイン」をクリックすると、サインイン画面が表示されます。Google、Microsoft、Appleなどの認証プロバイダを利用してサインインできます。

私はGoogleでサインインしました。

※ログインすると「ログイン」→「Admin console;管理コンソール」に記載が変わります。管理コンソールをクリックすると管理画面になります。

SynologyNASに戻り、Tailscaleアプリを開くと認証を求められます。するとTailscaleの接続ページに移動するので、そのまま接続します。

Tailscale管理画面では「Machines;機械」にSynologyNASが追加されています。これで完了です。

※Youtube解説動画ではすでにWindowsをデバイス登録しているので、Synologyに接続できると説明しています。SynologyNASのDSMで使用しているパソコンのOS、WindowsあるいはMacOSの登録が必要です。NASの登録だけでは接続できません。

Windows・iPhone・androidの場合

Tailscale管理画面の右上にある「デバイスを追加する」→「クライアントデバイス」へ進みます。

Windowsの場合は、「リンクをコピー」をクリックします。リンクを開くとダウンロード画面が表示されるので、Windows版をダウンロードします。

インストール後、Tailscaleのアカウント作成時に使用した認証プロバイダ(Googleなど)でログインすると、デバイスが追加されます。

iPhone・Androidの場合は、「リンクをコピー」の上に表示されているQRコードを読み取ります。ダウンロード画面が表示されるので、アプリをインストールします。

インストール後、Windowsと同じように認証プロバイダ(Googleなど)でログインすると、デバイスが追加されます。

FireTVデバイスの場合

Fire TVのAppstoreで「Tailscale」を検索しましたが、アプリが見つかりませんでした。そこでAptoide TVから最新バージョンのインストールを試しましたが、エラーで失敗しました。

AIに相談したところ、旧バージョンならインストールできる可能性があると分かりました。そこで、Tailscaleの旧バージョン一覧から、私は2024年9月24日公開の「1.70.0(Android 8)」を選びました。

APKファイルをAndroidタブレット(またはWindows)にダウンロードし、ファイルマネージャー+でOneDriveに保存します。

Fire TV側の「ファイルマネージャー+」で「OneDrive」を開き、保存したAPKファイルをクリックするとダウンロードが始まります。

ダウンロード後、認証を求められたため、GoogleでログインするとTailscaleをFire TVデバイスに追加できました。

デバイス間のファイル移動はファイルマネージャー+が便利です。また、FireTVデバイスにファイルマネージャー+をインストールするにはAptoideTVを利用しました。

Tailscaleの自動アップデート設定

Synology DSMから「コントロールパネル」→「タスクスケジューラー」を開き、「予約タスク」→「ユーザー指定のスクリプト」を選択します。

以下のように設定します。

  • 名前:tailscale-update
  • ユーザー:root
  • 有効:チェック

「スケジュール」は週次・日曜日に設定します。曜日は重要ではないので、都合のよい曜日でかまいません。

「タスク設定」の「ユーザースクリプト」に、以下を入力します。

「OK」をクリックすると警告が表示されますが、そのまま進み、NASのサインインパスワードを入力します。

設定後、YouTubeの解説動画では、このタスクを一度上部の「実行」をクリックしてアップデートを確認しています。

DNS(Domain Name System)の設定・TLS証明書の発行

Tailscaleの管理画面上部にある「DNS」をクリックします。

DNS設定画面の下のほうにある「MagicDNS」と「HTTPS証明書」が有効になっていることを確認します。

画面上部には、Tailscaleから提供されたDNSアドレスが表示されています。「○○○.ts.net」のような形式で、利用できるアドレスが表示されます。

このDNSアドレスは自分で作成したり、文字列を変更したりすることはできません。Tailscaleから提供されたものを使用します。

DNSの登録とTLS証明書の自動更新設定

Synology DSMから「コントロールパネル」→「タスクスケジューラー」を開き、「予約タスク」→「ユーザー指定のスクリプト」を選択します。

以下のように設定します。

  • 名前:tailscale-cert
  • ユーザー:root
  • 有効:チェック

「スケジュール」は月次・最初・月曜日に設定します。曜日は重要ではないので、都合のよい曜日でかまいません。

「タスク設定」の「ユーザースクリプト」に、以下を入力します。

「OK」をクリックすると警告が表示されますが、そのまま進み、NASのサインインパスワードを入力します。

設定後、「tailscale-cert」タスクを選択し、上部の「実行」をクリックします。

DSMの「コントロールパネル」→「セキュリティ」→「証明書」を開き、「○○○.ts.net」の証明書が登録されていることを確認します。登録された証明書をデフォルトに設定します。

私はSynologyのDDNSも併用していましたが、TailscaleのDNSが動かなくなる不具合が発生しました。SynologyのDDNSを削除してTailscaleのDNSを再設定したところ、正常に動作しました。そのため、私はQuickConnect以外の証明書を削除しています。

この設定により、TailscaleのHTTPS接続に使用するTLS証明書を自動更新できます。

Tailscaleで割り当てられたアドレスを確認

Tailscaleの管理画面「Machines(機械)」の「Addresses(アドレス)」で、NASに割り当てられたアドレスを確認できます。

  • Tailscaleで割り当てられたNASのアドレス → 100.○○.○○.○○
  • Tailscaleから提供されたNASのDNS → デバイス名.○○○.ts.net

このアドレスやDNSを使うことで、ポート開放をせずにNASへリモート接続できます。

Jellyfinにリモート接続する

Jellyfinは、Tailscaleで割り当てられたNASのアドレスを使って、

http://Tailscaleで割り当てられたNASのアドレス:8096

でリモート接続できます。

また、Tailscaleから提供されたDNSに対してSynology NASでリバースプロキシを設定(8096→8920)すると、

https://Tailscaleで提供されたNASのDNS:8920

でも接続できます。Tailscale自体が安全な接続を提供するため、Jellyfinのリモート接続にリバースプロキシは必須ではありません。

ただ、WindowsのブラウザでHTTP接続したときに「保護されていない通信」と表示されるのが気になったため、私はリバースプロキシを併用してHTTPS接続も試してみました。

HTTP・HTTPSのどちらでもリモート接続でき、どちらの場合もポート開放は必要ありません。

Synology NASにリモート接続する

Synology DSMは、

https://Tailscaleで提供されたNASのDNS:5001

でサインインできます。

また、モバイルアプリ(DS fileなど)は、Tailscaleから提供されたNASのDNSを入力してサインインし、リモート接続できます。

Tailscaleにつながらないとき

Tailscaleを使ってアプリ(Jellyfinなど)に接続できない場合、次のような原因が考えられます。順番に確認してみましょう。

原因①:デバイスがオフラインになっている

デバイスの電源が切れていると、Tailscale経由で接続できません。各デバイスのTailscaleアプリで接続状態を確認しましょう。デバイスが緑色ではなくグレーで表示されている場合は、オフラインになっている可能性があります。必要に応じて電源や接続状態を確認してください。

パソコンでは、スマホアプリのように画面を開いて起動状態を確認するわけではないため、次の方法で確認します

パソコンでTailscaleの接続を確認する方法

タスクバーの「^」をクリックして、隠れているインジケーターの中にTailscaleのアイコンが見つからない場合は、スタートメニューからTailscaleを起動します。

①Windowsの「スタート」をクリックします。
②アプリ一覧や検索欄から「Tailscale」を探します。
➂「Tailscale」をクリックして起動します。
④起動したら、タスクバー右下の「^」をクリックして、Tailscaleのアイコンを確認します。

原因②:Tailscaleのアカウント認証が切れている

Synology NASのTailscaleアプリを確認すると、アカウントに接続されておらず、エラーが表示されていました。iPhoneも同じ状態だったため、それぞれのTailscaleアプリからGoogleアカウントでログインし直したところ、正常に接続できるようになりました。

今回の原因がノードキーの有効期限切れだったかどうかは確認できていませんが、Tailscaleにつながらない場合は、各デバイスのアカウント接続状態も確認してみてください。

原因③:TLS証明書の期限が切れている

まれにスケジュールタスクが実行されず、証明書が更新されないことがあります。その場合は、「タスクスケジューラ」→「tailscale-cert(タスク)」→「実行」を選択すると、手動で更新できます。

DSMのアップデートなどが原因で一時的にタスクが実行されないこともあるため、定期的に証明書の更新日を確認しておくと安心です。

原因④:接続先のDockerコンテナが停止している

接続先のアプリがDockerコンテナで動いている場合、コンテナが停止していると、Tailscaleで接続できていてもアプリは開けません。Container Managerで該当するコンテナの状態を確認しましょう。停止している場合は、エラーの有無や停止した原因を確認してから起動してください。

まとめ

Tailscaleを使えば、ポート開放ができない環境でも、外出先からSynology NASやDockerアプリにアクセスできます。

この記事では、Tailscaleのインストールとアカウント作成、接続方法、アドレスの確認、証明書の更新方法などを紹介しました。

接続できないときは、原因をひとつずつ確認しながら対処してみてください。Tailscaleを活用して、Synology NASをもっと便利に使いましょう。

Tailscaleを使ってNASに接続できるようになったら、パソコンのエクスプローラーやFire TVデバイスからアクセスすることもできます。具体的な使い方は、こちらの記事で紹介しています。

私の場合はNURO光で10Gに変更したときにポート開放ができなくなったため、DDNSからTailscaleに切り換えましたが、DDNSとリバースプロキシを使って安全に接続する方法もあります。下記の記事で紹介しています。

Synology NASのリモートアクセスには、QuickConnect・DDNS・Tailscaleなどの方法があります。この記事では、それぞれの方法で使用できるアプリを一覧にして紹介しています。

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