0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Tailscaleを使って外出先からスマホでローカルLLMにアクセスする

0
Last updated at Posted at 2026-04-27

はじめに

趣味でゲームを開発しているのですが、昨今のAIブームに触発されて「AIと会話できるスマホアプリ」を作ってみることにしました。画面上のAIキャラクターに話しかけると、アニメーションと音声で返答してくれる——そんなサービスです。

実装としては「音声認識 → 文字起こし → AIへ送信 → 返答を3DモデルのアニメーションとVOICEVOXで音声出力」という一連の流れを無事に動かすことができました。

ところが、一つ問題が生じました。AIのトークン数に上限があるというものです。コストを抑えるためにGemini APIの無料枠を使っていたのですが、すぐにレート制限に達してしまう状況でした。

そんなある日、X(旧Twitter)で 「Qwen3-32B」 が話題になっているのを目にし、ローカルLLMへの興味が一気に高まりました。さっそくOllamaで構築してみると、意外にも簡単に動かせて、レスポンスも問題なく返ってきました。

あとは外出先でもスマホからローカルLLMにアクセスできる環境を整えるだけです。いつもならWireGuardを使うところですが、今回は以前の記事へのコメントで教えていただいた Tailscale を試してみることにしました。


前提環境

役割 デバイス
ローカルLLMサーバー 自宅PC(192.168.1.x)
サブネットルーター SynologyNAS
クライアント Android スマホ

スマホにTailscaleを導入する

  1. Google Playで「Tailscale」を検索してインストール
  2. アプリを起動し、Googleアカウントでログイン
  3. 「デバイスを追加しますか?」というダイアログが表示されるので「追加」を選択

これだけで完了です。


SynologyNASにTailscaleを導入する

  1. Synologyのパッケージマネージャーから「Tailscale」を検索してインストール
  2. パッケージ一覧からTailscaleを起動するとブラウザが開くので、同様にログインしてデバイスを追加

スクリーンショット 2026-04-27 23.25.34.png

スクリーンショット 2026-04-27 23.27.58.png

スクリーンショット 2026-04-27 23.28.13.png

スクリーンショット 2026-04-27 23.28.28.png

ここまで完了したら、一度疎通確認をします。スマホでTermuxなどを開き、以下のコマンドを実行してください。向き先のIPは Tailscale管理画面 に表示されているSynology NASのIPアドレスです。

ping <TailscaleのNAS-IP>

pingが通れば、スマホ↔NAS間のVPN接続は成功です。


SynologyNASをサブネットルーターとして設定する

NASに直接繋がっていない、同一ローカルネットワーク上のデバイス(ローカルLLMを動かしているPCなど)にアクセスするため、NASを**サブネットルーター(Subnet Router)**として設定します。

SSHでNASに接続する

  1. Synology管理画面の「コントロールパネル」→「端末とSNMP」で 「SSHサービスを有効化する」 にチェック
  2. 同一ネットワーク上のPCからSSH接続
ssh <NASのアカウント名>@<NASのローカルIP> -p <ポート番号>
# 例: ssh tarou@192.168.0.20 -p 22(スクショでは50022)

スクリーンショット 2026-04-27 23.53.26.png

サブネットルーターを有効化する

SSH接続後、以下のコマンドを実行します。

sudo tailscale up --advertise-routes=192.168.1.0/24 --advertise-exit-node

--advertise-routes の箇所は、アクセスしたいデバイスが属するサブネット(192.168.0.0/24192.168.1.0/24 など)に合わせて変更してください。

--advertise-exit-node は、スマホ等からのインターネット通信を自宅のIPアドレス経由にしたい場合に追加します。「自宅のローカルLLMにアクセスしたいだけ」であれば、このオプションは不要です。

エラーが出た場合

以下のようなエラーが表示された場合は、いったんリセットして再実行してください。

Error: changing settings via 'tailscale up' requires mentioning all
non-default flags. To proceed, either re-run your command with --reset or ...
# リセット
sudo tailscale up --reset

# 再実行
sudo tailscale up --advertise-routes=192.168.1.0/24

SSHを無効化する

設定完了後は、セキュリティのためSSHを無効化しておきます。

exit

Synology管理画面に戻り、「SSHサービスを有効化する」のチェックを外す


Tailscale管理コンソールでサブネットを承認する

Tailscale管理画面 でSynology NASの項目に subnet と表示されているはずです。

スクリーンショット 2026-04-28 0.18.02.png

  1. NASの行の左メニューから 「Edit route settings...」 を選択
  2. advertiseしたIPアドレスのチェックボックスをオンにして保存

スクリーンショット 2026-04-28 0.18.11.png

スクリーンショット 2026-04-28 0.18.39.png


動作確認

  1. スマホのWi-Fiをオフにして、モバイルデータ通信に切り替える
  2. TailscaleアプリからVPN接続をオン
  3. 以下のようなコマンドでローカルIP(Tailscale未接続のデバイス)に接続できれば成功
ssh <ユーザー名>@192.168.x.x

まとめ

Tailscaleを使うことで、以下のメリットが得られました。

  • ポート開放が不要でセキュアに外部アクセスができる
  • WebGUIとスマホアプリがあり、設定が直感的でわかりやすい
  • WireGuardと比較して、導入・設定の手間が大幅に少ない

ローカルLLMを外出先から使いたい方や、自宅のNASに安全にリモートアクセスしたい方に、Tailscaleはとてもおすすめです。

ちなみにモバイルデータ通信しているスマホからollamaにAPIを送ると以下のようにレスポンスが返ってくるScreenshot_20260428_003711_Termux.jpg

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?