Site icon image rpine lab Blog

プログラミングや電子工作系の記事を投稿しています。

🏖️ Tailscaleを使ってPiKVMへのリモートアクセスを設定する

はじめに

本記事では、PiKVMへのリモートアクセスを安全に実現する方法としてTailscaleを活用したセットアップ手順を解説します。

従来、外出先から家のネットワークに置いてあるマシンにアクセスするには、ルータでポート開放を設定する必要がありました。しかし、この方法はセキュリティ的に不安があります。PiKVMではTailscaleを使ったリモートアクセスのセットアップ手順が用意されており、これを利用することでポート開放せずにリモートから安全にアクセスが可能になります。

Tailscaleとは

Tailscaleは、WireGuardベースのメッシュネットワークを簡単に構築できるVPNサービスです。

素のWireGuardを使ってVPNを構築しようとするとピア同士での鍵の生成・交換やIPアドレスの割当が必要で色々と面倒なのですが、Tailscaleを使えばその辺を全て任せることが出来ます。

主な特徴は以下のとおりです。

  • 設定が簡単:専用ソフトを入れてログインするだけで利用可能
  • SSOログイン:GoogleやGitHubアカウントなどによるソーシャルログインに対応
  • 高いセキュリティ:WireGuardベースのE2E暗号化通信を利用
  • NAT(ルータ)超えが容易:ポート開放や特別なVPNサーバが不要(仕組み
  • 詳細な通信制御:ACLによる細かな設定が可能

Tailscaleには有料プランと無料プランがあります。無料プランは3ユーザまでしか同じネットワークには参加できませんが、最大100デバイスまで接続可能なため個人利用には十分です。

Image in a image block
Tailscaleの管理画面

PiKVMの設定

PiKVMにはTailscaleを使うためのパッケージ (tailscale-pikvm) が用意されています。そのため、以下の手順に従って簡単にセットアップが可能です。

  1. PiKVMのWebインターフェースにアクセスして、Webターミナルを開きます。
  2. Tailscaleをインストールします。
    # rootユーザに切り替え
    su -
    # ファイルシステムを書き込み可能に再マウント
    rw
    # パッケージをインストール
    pacman -S tailscale-pikvm
    # tailscaledサービスを起動・自動起動有効化
    systemctl enable --now tailscaled
  3. 次のコマンドを実行して表示されたリンクにアクセスし、Tailscaleにログインします。
    tailscale up
  4. (任意)Tailscale SSH機能を有効化します。これにより、SSH鍵を使わずにTailscaleの認証を使ってPiKVMにSSH接続ができるようになります。
    tailscale set --ssh
  5. ファイルシステムを読み込み専用に再マウントします。
    ro
  6. 必要に応じて、TailscaleのAdmin ConsoleからPiKVMマシンのキーの期限切れ (key expiry)を無効化します。これにより、定期的なキーの更新作業(Tailscaleの再認証)が不要になります。

PiKVMへのリモートアクセス

  1. (前提条件)アクセスに使うマシンにTailscaleをインストールし、PiKVMと同じTailscaleネットワークにログインします。
  2. PiKVMのTailscale用のアドレスを確認します。確認には2通りのやり方があります。
    • タスクバーのTailscaleアイコンを右クリックし、Network Devicesの中からPiKVMをクリック(アドレスが自動的にコピーされる)
    • Admin ConsoleからPiKVMのAddressesを確認(Tailscale DNSが有効化されている環境であれば~.ts.netの形式のアドレスが利用でき、そうでなければIPv4かIPv6アドレスを利用)
  3. ブラウザにTailscale用のアドレスを入力してアクセスします。

実際に外出先からKVM画面を出して操作してみたところ、ディスプレイ表示は54~60 fps出ていて、キーボード入力のラグもほぼ感じません。

以下のスクリーンショットはAndroid端末からアクセスした様子です。スマホの場合でもTailscaleアプリ(AndroidiOS)を入れることでVPN経由でPiKVMにアクセスできます。

Image in a image block
Android端末(Galaxy S24 Ultra)からPiKVMにアクセス

まとめ

Tailscaleを利用することでPiKVMへのリモートアクセスが簡単に実現できます。ポート開放の必要がないので安全に利用することが可能です。

参考サイト

広告