Raspberry Piや自宅サーバーを運営していると、出先から自宅のネットワーク環境にアクセスしたいときが多々ある。具体的にはルーターの設定画面を開いたり、外部に公開していないサーバー(NASなど)にアクセスしたりといった用途だ。
そこで、今回の記事ではRaspberry PiとTailscaleを使用して、面倒なポート開放が不要なVPNを構築する手順を解説する。なお、本記事ではRaspberry Piを使用しているが、UbuntuやDebianなどの一般的なLinuxでも基本的に同じ手順で構築可能だ。
環境
- Raspberry Pi 4B 4GB
- Debian 12 (Bookworm)
- Tailscale 1.92.5
Tailscaleのアカウント作成

公式サイトからアカウントを作成する。Googleアカウントなどで登録しよう。
Tailscaleのインストール
公式のスクリプト一発で入る。
curl -fsSL https://tailscale.com/install.sh | shIPフォワーディングの有効化
ラズパイをルーターのように振る舞わせるため、パケット転送を許可する。これを忘れると、VPNは繋がるがネットが見れない(外に出ていけない)。
# 設定ファイルの作成
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
# 反映
sudo sysctl -p /etc/sysctl.d/99-tailscale.confパフォーマンス設定(UDP GROの無効化)
tailscale upした際に、Warning: UDP GRO forwarding is suboptimally configured on eth0...という警告が出ることがある。
公式サイトの手順に従って最適化する。
sudo apt install ethtool -y
sudo ethtool -K eth0 rx-udp-gro-forwarding on rx-gro-list off再起動しても設定が消えないようにsystemdに登録する。まずはファイルを作成。
sudo nano /etc/systemd/system/tailscale-ethtool.service以下の内容を貼り付けたあと、保存して終了(Ctrl+0, Enter, Ctrl+X)。
[Unit]
Description=Tailscale UDP forwarding optimization
After=network-online.target
[Service]
Type=oneshot
ExecStart=/sbin/ethtool -K eth0 rx-udp-gro-forwarding on rx-gro-list off
[Install]
WantedBy=default.targetサービスを有効化して起動する。
sudo systemctl daemon-reload
sudo systemctl enable --now tailscale-ethtool.serviceTailscaleの起動
Exit NodeとSubnet Router、さらにSSH機能を有効化して起動する。192.168.x.0の部分については自宅の環境に合わせて変更すること。
sudo tailscale up --advertise-exit-node --advertise-routes=192.168.x.0/24 --sshコマンドを実行すると以下のような認証用URLが表示される。ブラウザでアクセスすることで認証が完了する。モダンなターミナルならCtrl+クリックでブラウザが開く。
To authenticate, visit:
![]()
404Securely connect to anything on the internet with Tailscale. Built on WireGuard®️, Tailscale enables you to make finely ...ブラウザでの設定
Routing Settings
Tailscaleの管理画面でマシンを選択し、Routing SettingsのExit Nodeをクリックする。

Subnet routesとExit nodeにチェックを入れてSaveする。

Disable key expiry
セキュリティーキーの有効期限を無効化する。これを忘れると半年後に接続できなくなるので注意。
マシン一覧の右側にある…からDisable key expiryを選択する。

動作確認
スマホなどにもTailscaleアプリを入れ、動作を確認する。
Exit Nodeの切り替えは画面上部からできる。

- Exit Nodeオン
- すべての通信が自宅ラズパイ経由になる。
- 当然IPアドレスも自宅プロバイダのものになる。
- 「確認くん」などで確認しよう。
- Exit Nodeオフ
- 通常のインターネットは直接通信(経由しない)。
192.168.11.1など自宅LANへのアクセスだけVPN経由になる(Subnet Router機能)。
まとめ
ポート開放やDDNSの設定がいらず、簡単な設定だけでここまで高機能なVPN環境が構築できるに驚いた。出先から自宅LANへアクセスできるのはかなり便利なので、Raspberry Piを持っている方はぜひ構築してみてほしい。


コメント