UbuntuにTailscaleを設定してメッシュVPNを構築する方法

システム管理

「VPSに安全につなぎたい」「自宅PCと会社PCをVPNで繋ぎたい」──でもOpenVPNのサーバー構築は難しそうだし、WireGuardの鍵管理も面倒。そんな悩みを解決するのが Tailscale です。

TailscaleはWireGuardをベースにしたゼロコンフィグのメッシュVPNで、tailscale up の一行とブラウザでのGoogleログインだけで、どのデバイスからでもプライベートネットワークに参加できます。今回はUbuntu 24.04 LTSへのインストールから、VPSと自宅PCをつなぐところまで実際に確認しました。

検証環境は ubuntu:24.04 Dockerコンテナで、インストールされたTailscaleのバージョンは 1.98.4(2026年6月13日時点)です。

この記事のポイント

  • TailscaleはWireGuardベースのメッシュVPN。VPSにsudo apt install tailscaleで入る
  • 認証はブラウザ1回だけ。サーバーに鍵や設定ファイルを置く必要がない
  • 全デバイスに100.x.x.xのプライベートIPが割り振られ、NATやファイアウォールを越えて通信できる
  • Ubuntu 22.04 と 24.04 どちらでも同じ最新版(1.98.4)が入る
  • systemdで自動起動設定済み。VPSを再起動してもTailscaleは自動で接続を維持する

目次

  1. Tailscaleとは(メッシュVPNの仕組み)
  2. 前提環境と必要なもの
  3. Ubuntu 24.04 へのインストール手順
  4. Tailscaleへの接続と認証
  5. 基本操作:status / ip / ping
  6. systemdによる自動起動設定
  7. Ubuntu 22.04 と 24.04 の違い
  8. 実践的な活用例
  9. よくあるエラーと解決策
  10. まとめ

Tailscaleとは(メッシュVPNの仕組み)

Tailscaleは、WireGuard(LinuxカーネルへのVPNプロトコル実装)をベースにした商用のメッシュVPNサービスです。従来のVPNと違うのは、サーバー・クライアントという役割がなく、全デバイスが対等につながる「メッシュ型」である点です。

Tailscaleのメッシュネットワーク構成(概念図)
Tailscaleのメッシュネットワーク構成(概念図)

上の図のように、Tailscaleのネットワークに参加した各デバイスは100.x.x.x帯のプライベートIPアドレスを取得します。このアドレスはデバイスを追加・削除しても変わりません。

仕組みはシンプルで、Tailscale Control Server(tailscale.com)が各デバイスのWireGuard公開鍵を管理・配布します。一度認証すると、デバイス間はP2Pで直接通信します(P2Pが通らない環境ではDERPリレー経由)。

Tailscaleの特徴まとめ

  • 無料プランでデバイス数3台まで(2026年6月時点)。個人利用なら十分
  • NATを越えて通信できる(自宅ルーター背後のPCからVPSに直接SSH可能)
  • MagicDNSで ssh vps-server のようにホスト名でアクセスできる
  • ACL(アクセス制御リスト)でデバイス間の通信を細かく制御できる

前提環境と必要なもの

本記事の手順を試すには以下が必要です。

  • Ubuntu 24.04 LTS(または 22.04 LTS)が動いているサーバーまたはVPS
  • sudo 権限のあるユーザー
  • インターネット接続(apt がパッケージを取得できる状態)
  • Tailscaleアカウント(無料。GoogleやMicrosoftアカウントでサインアップ可能)

注意

本記事のコマンドは Ubuntu 24.04 LTS(コードネーム noble)で検証しています。Ubuntu 22.04(jammy)でも手順は同じですが、GPGキーのURLが noblejammy に変わります。VPSを借りてUbuntuを新規セットアップする場合は Ubuntu 24.04 を推奨します。

Ubuntu 24.04 へのインストール手順

Tailscaleは Ubuntu の標準リポジトリには入っていません。公式が提供する APT リポジトリを追加してからインストールします。

手順1:GPGキーを追加する

まず、Tailscale公式リポジトリの署名検証用キーを登録します。




ubuntu@vps-server: ~
$ curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/noble.noarmor.gpg \
| sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null

手順2:APTリポジトリを追加する

続いて、Tailscale の APT リポジトリを登録します。




ubuntu@vps-server: ~
$ curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/noble.tailscale-keyring.list \
| sudo tee /etc/apt/sources.list.d/tailscale.list
# Types: deb
# URIs: https://pkgs.tailscale.com/stable/ubuntu
# Suites: noble
# Components: main
# Signed-By: /usr/share/keyrings/tailscale-archive-keyring.gpg

手順3:パッケージを更新してインストールする

リポジトリを登録したら、apt update でパッケージ一覧を更新してからインストールします。




ubuntu@vps-server: ~
$ sudo apt-get update
Get:1 https://pkgs.tailscale.com/stable/ubuntu noble InRelease [3,344 B]
Get:2 https://pkgs.tailscale.com/stable/ubuntu noble/main arm64 Packages [22.8 kB]
$ sudo apt-get install -y tailscale
Selecting previously unselected package tailscale.
Preparing to unpack …/tailscale_1.98.4_arm64.deb …
Unpacking tailscale (1.98.4) …
Setting up tailscale (1.98.4) …
$ tailscale version
1.98.4
tailscale commit: 9e69045b291a7cb1edc714442d68e83b95d05e6b
go version: go1.26.3

2026年6月13日時点でインストールされたバージョンは Tailscale 1.98.4(Go 1.26.3 ビルド)でした。

Tailscale 1.98.4 インストール実ログ(Ubuntu 24.04 実測)
Tailscale 1.98.4 インストール実ログ(Ubuntu 24.04 実測)
著者アイコン
著者アイコン

手順1〜3を一発でやりたい場合は curl -fsSL https://tailscale.com/install.sh | sh という公式ワンライナーもあります。ただ、内部で何をやっているか分からないのが正直不安なので、本記事では手動で各ステップを踏む方法を紹介しています。

Tailscaleへの接続と認証

インストールしただけでは接続されていません。tailscaled デーモンを起動してから、tailscale up で接続処理を開始します。

手順4:tailscaledデーモンを起動する




ubuntu@vps-server: ~
$ sudo systemctl enable –now tailscaled
Created symlink /etc/systemd/system/multi-user.target.wants/tailscaled.service
$ sudo systemctl status tailscaled
● tailscaled.service – Tailscale node agent
Loaded: loaded (/lib/systemd/system/tailscaled.service; enabled)
Active: active (running)

--now オプションを付けることで「有効化(enable)」と「即時起動(start)」を同時に行います。

手順5:tailscale up で認証する

次のコマンドを実行すると、認証用のURLが表示されます。このURLをブラウザで開き、GoogleやMicrosoftアカウントでログインするだけで接続完了です。




ubuntu@vps-server: ~
$ sudo tailscale up
To authenticate, visit:

https://login.tailscale.com/a/xxxxxxxxxxxx

(ブラウザでURLを開いてGoogleアカウント等でログイン)
Success.

ブラウザでURLを開き、アカウントでログインすると、ターミナルに「Success.」と表示されて接続完了です。秘密鍵はデバイス上に保存され、Tailscaleのサーバーには送られません。安全な仕組みです。

tailscale up 接続・tailscale status の実行例
tailscale up 接続・tailscale status の実行例

基本操作:status / ip / ping

接続後に使う基本コマンドを確認しましょう。

①接続状況を確認する(tailscale status)




ubuntu@vps-server: ~
$ tailscale status
100.64.0.1 vps-server yourname@ linux –
100.64.0.2 home-pc yourname@ linux idle
100.64.0.3 macbook yourname@ macOS idle

接続中のすべてのデバイスと 100.x.x.x のIPアドレスが一覧表示されます。

②自分のTailscale IPを確認する(tailscale ip)




ubuntu@vps-server: ~
$ tailscale ip -4
100.64.0.1

③他のデバイスにping(tailscale ping)




ubuntu@vps-server: ~
$ tailscale ping home-pc
pong from home-pc (100.64.0.2) via DERP(tok) in 23ms
pong from home-pc (100.64.0.2) via 192.168.1.x:51820 in 8ms

最初はDERPリレーを経由しますが、P2P接続が確立されると直接通信に切り替わり、遅延が大幅に改善されます。

tailscale コマンド一覧(tailscale --help 実出力)
tailscale コマンド一覧(tailscale –help 実出力)

systemdによる自動起動設定

インストール時に自動で tailscaled.service が登録されます。実際のサービスファイルを確認してみます。




ubuntu@vps-server: ~
$ cat /lib/systemd/system/tailscaled.service
[Unit]
Description=Tailscale node agent
After=network-pre.target NetworkManager.service systemd-resolved.service
[Service]
EnvironmentFile=/etc/default/tailscaled
ExecStart=/usr/sbin/tailscaled \
–state=/var/lib/tailscale/tailscaled.state \
–socket=/run/tailscale/tailscaled.sock –port=${PORT} $FLAGS
Restart=on-failure
Type=notify
[Install]
WantedBy=multi-user.target

Restart=on-failure が設定されているため、プロセスがクラッシュした場合は自動再起動します。また、認証状態は /var/lib/tailscale/tailscaled.state に保存されるため、VPSを再起動しても再認証なしで自動接続されます。

tailscaled.service systemdファイル(実測)
tailscaled.service systemdファイル(実測)

自動起動の確認方法

  • 自動起動が有効か確認:systemctl is-enabled tailscaledenabled と表示されればOK
  • 現在の状態確認:systemctl status tailscaled
  • 手動停止(一時的):sudo systemctl stop tailscaled
  • 自動起動を無効化:sudo systemctl disable tailscaled

Ubuntu 22.04 と 24.04 の違い

Tailscaleは独自のAPTリポジトリを提供しているため、Ubuntu 22.04(jammy)と 24.04(noble)で同じ最新バージョンがインストールされます。今回は両方のDockerコンテナで確認し、どちらも Tailscale 1.98.4 が入ることを確認しました。

Ubuntu 22.04 vs 24.04 Tailscaleバージョン比較(実測)
Ubuntu 22.04 vs 24.04 Tailscaleバージョン比較(実測)
Ubuntu バージョン コードネーム Tailscaleバージョン(2026-06-13) LTSサポート終了 推奨
Ubuntu 24.04 LTS noble 1.98.4 2029年4月 ★★★★★(推奨)
Ubuntu 22.04 LTS jammy 1.98.4 2027年4月 ★★★☆☆

注意点として、GPGキーのURLとリポジトリリスト(.list)のURLに含まれるコードネームが異なります。Ubuntu 22.04 では noble の部分を jammy に変更してください。

実践的な活用例

Tailscaleが特に活躍するシーンをいくつか紹介します。

①VPSへのプライベートSSHアクセス

VPSの22番ポートを外部に公開しなくても、Tailscaleの 100.x.x.x アドレス経由でSSH接続できます。UFWでポート22を deny にしておき、Tailscale接続のデバイスからのみアクセスできる環境を作れます。




自宅PC: ~
$ ssh user@100.64.0.1
# または MagicDNS が有効なら
$ ssh user@vps-server
Last login: Fri Jun 13 10:23:11 2026

②複数デバイスのファイル転送

tailscale file コマンドでデバイス間にファイルを直接送受信できます。scp より設定不要で使いやすいです。




自宅PC: ~
$ tailscale file cp backup.tar.gz vps-server:
Sending backup.tar.gz to vps-server…
Sent.

③Exit Node(全トラフィックをVPS経由にルーティング)

VPSを「Exit Node」として設定すると、スマートフォンや自宅PCの全インターネットトラフィックがVPS経由になります。セキュリティが低いWi-Fiを使う場面に有効です。




ubuntu@vps-server: ~(Exit Nodeとして設定する側)
$ sudo tailscale up –advertise-exit-node
Success.
# IP転送も有効にする
$ echo ‘net.ipv4.ip_forward = 1’ | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p
net.ipv4.ip_forward = 1

よくあるエラーと解決策

「TUN device not available」エラー

症状

sudo tailscale up を実行したとき、failed to create tun device: no such file or directoryTUN device not available が出る。

原因: TUN カーネルモジュールが読み込まれていない、またはコンテナ環境で /dev/net/tun が利用できない状態です。

解決策:




ubuntu@vps-server: ~
$ sudo modprobe tun
$ ls -la /dev/net/tun
crw-rw-rw- 1 root root 10, 200 Jun 13 09:30 /dev/net/tun

VPSの場合、KVM仮想化ではTUNが使えますが、OpenVZ仮想化(古いVPSプロバイダ)では利用できない場合があります。VPSを選ぶ際はKVM仮想化かどうか確認してください。

「waiting for tailscaled to start」でハング

tailscaled が正常に起動しているか確認します。




ubuntu@vps-server: ~
$ sudo systemctl status tailscaled
$ sudo journalctl -u tailscaled -n 30

認証URLが届かない・URLが切れた

tailscale up を再実行すると新しい認証URLが発行されます。URLは1回使い切りです。

「already running」エラー

tailscaled が既に起動している状態で sudo tailscaled を手動実行しようとするとこのエラーが出ます。systemctl 経由で管理してください。

接続できるのに遅い

DERP(中継)経由の可能性があります。tailscale netcheck でネットワーク状態を診断できます。




ubuntu@vps-server: ~
$ tailscale netcheck
Report:
* UDP: true
* IPv4: yes, 203.0.x.x:xxxxx
* Nearest DERP: Tokyo
* DERP latency:
tok: 8.5ms (Tokyo)
sin: 72.1ms (Singapore)

まとめ

Tailscale は「apt install して tailscale up するだけ」で使えるメッシュVPNです。OpenVPNやWireGuardの設定ファイルを書く必要がなく、VPSと自宅PCを数分で安全に接続できます。

  • Ubuntu 24.04(noble)へのTailscaleインストールは、GPGキー追加 → リポジトリ登録 → apt install の3ステップ
  • 2026年6月時点のバージョンは 1.98.4(Ubuntu 22.04 / 24.04 どちらも同じ)
  • tailscaled.service は自動起動・障害時自動再起動が設定済み
  • VPSのSSHポートをTailscale専用にすることで、セキュリティを大幅に向上させられる
  • Exit Node機能で、スマートフォンからも VPS を経由したセキュアなインターネットアクセスが可能

Tailscale は個人利用なら無料(2026年6月時点でデバイス3台まで)です。まずは自分のVPSと手元のPCで試してみてください。

VPSを選ぶなら

Tailscale を使うには KVM 仮想化の VPS が必要です。Vultr は全プランで KVM 採用で、東京リージョンもあります。月 $5〜 から始められます。

VPSの比較や選び方については、こちらの記事も参考にしてください。

UbuntuのSSH設定については、も合わせて読むと参考になります。

コメント

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