Tailscaleと見守りカメラ

更新日: 2026.03.24

概要

”Tailscaleを使う” があまりにも強力なので、見守りカメラを使ってその一部を紹介します。

前準備

"Tailscaleを使う" の続き

これは、”Tailscaleを使う” の続編です。 ”Tailscale”のインストール、アカウントの作製等、初期設定が完了している事を前提にしています。

"UV4Lで見守りカメラの製作" を使う

”Tailscale" から"UV4Lで見守りカメラの製作" のサーバに必要な証明書と鍵(自作では無く正式版)を得て、それをRaspberry PI のサーバに適用しています。 カメラが動く様になっていればその効果を実際に体験出来ます。

Python Server を自動起動に

”Tailscale” の機能検証中、何回か Raspberry PI を Reboot する機会が有り、 その度に Python Server をコマンドで起動するのが面倒だったので、 "起動時にプログラムを自動実行" を参照に Python Server を自動起動する様にしています。

Ubuntuに ”Tailscale” をインストール

”Tailscaleを使う”では スマホから Raspberry PI にアクセスしましたが、今回はPCから "Tailscale" を使って Raspberry PI にアクセスします。先ずは PC に ”Tailscale" をインストール。 インストールは簡単。ターミナルで下記を実行。

curl -fsSL https://tailscale.com/install.sh | sh

インストール後Tailscaleを有効化するために sudo tailscale up を実行します。

~$ sudo tailscale up To authenticate, visit: https://login.tailscale.com/a/xxxxxx

実行すると、ターミナルに https://login.tailscale.com/a/xxxxxx のようなURLが表示されます。 このURLにアクセスするとTailscaleログイン画面(下記1)が表示されます。 今回はログイン時に注意が必要です。

Install process of Tailscale (PC)
  1. 現在登録しているアカウントでログイン。このPCが同じグループに登録されます。
  2. Connectボタンを押してPCを接続。
  3. 接続完了。

しばらくすると画面が下記に変わります。PCが追加され接続している事が分かります。

Tailscale Controll page

これでスマホの時同様、IPアドレスまたは MagicDNS を使って Raspberry PI にアクセス出来る様になりました。

公式の秘密鍵と証明書をゲット

ここからが本題です。Tailscale ネットワーク内(言い方が正しいか疑問)で使える "公式秘密鍵と証明書" を Tailscale が発行してくれる事が分かりました。ドメインの申請無しに"公式秘密鍵と証明書"がもらえるんです。 その申請手順は以下の通り。

How to get Tailscale's Certificate and Key

*Tailscaleの管理画面

ブラウザで "https://login.tailscale.com/admin/machines" (管理画面)にアクセス。画面上部に有る "DNS" タブを選び DNS管理画面に移動。

*DNS 管理画面

  • 上部、"Tailnet DNS name"
    • ここでドメイン名の調整が出来ます
    • Tailscale はドメイン名を次の様に設定しています。" [マシン名] . [テイルネット名] . ts.net "。
    • ちなみに現在のドメイン名は、”rasp.taila0f22a.ts.net" です。
    • [テイルネット名] を幾つかの候補から選んで変更する事が出来ます。
    • Tailnet... ボタンを押すと、候補が表示されます。ここで[テイルネット名]を変更出来ます。
  • 下から2番めの "MagicDNS"
    • ここで "MagicDNS" の設定を行います。
    • ボタンの表示が "Disable MagicDNS" ならON。"Enable MagicDNS" ならOFFです。
    • 現行は "Disable MagicDNS" なのでON。ここは ON に設定して下さい。
  • 一番下の "HTTPS Certificates"
    • ここで秘密鍵と証明書を申請します。
    • この時点で設定しているドメイン名で申請されます。今回は "rasp.taila0f22a.ts.net"。
    • 申請は簡単。"Enable HTTPS..." ボタンを押すだけです。これで申請完了。
    • ボタンを押すと、"Enable HTTPS..." が "Disable HTTPS..." に変わります。

"MagicDNS"、"HTTPS Certificates" 共に "Disable" にセットして下さい。 これで申請完了です。後は申請した秘密鍵と証明書を受け取るだけです。

受取方とサーバへの適用

受取は簡単。ターミナルで "tailscale cert + ドメイン名" を実行。ファイルがダウンロードされます。 今回使用するのは Raspberry PI の Python サーバ。これは "monitor" フォルダにあるので "monitor" フォルダに 移動。ドメイン名は "rasp.taila0f22a.ts.net" なのでコマンドは下記の様になります。

~/monitor $ sudo tailscale cert rasp.taila0f22a.ts.net Public cert unchanged at rasp.taila0f22a.ts.net.crt Wrote private key to rasp.taila0f22a.ts.net.key

コマンド実行後、証明書:”rasp.taila0f22a.ts.net.crt” と 鍵: "rasp.taila0f22a.ts.net.key" がダウンロードされました。 さっそく、これらをPythonサーバとUV4Lコンフィグファイルに適用して行きます。

Pythonサーバ

Pythonサーバ "monitor.py" への適応箇所は以下。コードの112行目辺りに有る秘密鍵と証明書指定箇所 (下記上段)を今回取得したファイルに変更(下記下段)。

ssl_ctx.load_cert_chain(os.path.join(base_path, 'localhost.pem'), os.path.join(base_path, 'localhost-key.pem')) ssl_ctx.load_cert_chain(os.path.join(base_path, 'rasp.taila0f22a.ts.net.crt'), os.path.join(base_path, 'rasp.taila0f22a.ts.net.key'))

UV4Lコンフィグファイル

UV4Lコンフィグファイルは "/etc/uv4l/uv4l-uvc.conf" 。このファイルの最後で秘密鍵と証明書を指定しています。上段が変更前、下段が変更後です。

server-option = -ssl-private-key-file=/home/kita/monitor/localhost-key.pem server-option = -ssl-certificate-file=/home/kita/monitor/localhost.pem server-option = -ssl-private-key-file=/home/kita/monitor/rasp.taila0f22a.ts.net.key server-option = -ssl-certificate-file=/home/kita/monitor/rasp.taila0f22a.ts.net.crt

修正後、Raspberry PI をリブート。立ち上がったらPCのブラウザからアクセスします。

ブラウザからアクセス

"Tailscale" はインストールの設定で起動時自動起動する設定になっています。 (設定を変更したいなら "systemctl” を使ってサービス ”tailscaled" を変更して下さい) ブラウザでの Raspberry PI へのアクセスですが、 "Tailscale" ネット内では Raspberry PI のドメイン名は "rasp.taila0f22a.ts.net" 。 よってブラウザのURL欄には "https://rasp.taila0f22a.ts.net" と入力します。下記は実行結果。

Access result of using Tailscale's Certificate and Key

Chrome, FirFox 共に問題無くアクセス出来ました。

  • 自前の証明書の時に有った危険警告がなくなった。
  • 当然だが、ブラウザへの危険登録無しにつながった。
  • PCではこのコードが "Chrome" で動かなかったが、今回は問題無く動く。

同じ事をスマホで確認したのですが、"Chrome", "FireFox" 共に問題無くアクセス出来ました。 さすが公式秘密鍵と証明書です。

最後に

"Tailscale"のネット内ならルータの変更無しで

  • Raspberry PI を遠方に置き、自宅の PC で Raspberry PI の Streaming を確認出来る。
  • 自宅の Raspberry PI を出先から、モバイルまたは WiFi を利用してスマホで確認出来る。
  • 完璧なSSL認証(公式証明書と鍵)でブラウザの動きに問題無し。

という事。さらに秘密鍵と証明書の更新も "Tailscale" が自動で行ってくれるそうです。 ここまで出来て使用料が無料。なんて素晴らしいサービスでしょう。

まだ使い初めたばかりです。今後なにか新しい事が分かったらまた報告したいと思います。

SINCE 2026