TailscaleのSubnet routes設定はどこに保存されるのかを調べた

TailscaleのSubnet routes設定はどこに保存されるのかを調べた
Page content

ローカルストレージ? クラウド?

Subnet routes機能を用いたTailscaleの運用における、こんな内容の検証が必要になった。

OverlayFS化してmicroSDカードの書き換えを停止しているラズパイをLAN-A環境に置いている。ラズパイにはTailscaleをインストールしてSubnet routeとして設定し、LAN-B環境からLAN-A内の機器へアクセスするためのいわば踏み台にして利用中である。

このラズパイに、LAN-A環境へのSubnet routes設定を新規で1つ追加する時、次のOS起動時に備えてラズパイのOverlayFSを一旦解除しての設定作業が必要があるのかどうか。つまり、Subnet routeとなるマシンのローカルストレージの恒久的な書き換えが必要とされるのかどうかを調べたい。

実験の方法

「ローカルストレージの恒久的な書き換えが必要とされるのかどうか」の検証は、ラズパイの実機を持ち出さなくても、仮想マシンのイメージの世代を入れ替えることで可能だと思い、次のような実験方法を考えた。

  • Step-1. Ubuntu Server 24.04 LTSの仮想マシンXを1台用意し、Tailscaleのインストールを行った後、念のため仮想マシンXのイメージをVM1として保存する
  • Step-2. 仮想マシンXがLAN内のIPアドレスA (例: 192.168.1.151/32) へのSubnet routeとなるよう設定して動作確認した後、イメージをVM2として保存する
    • sudo tailscale up --advertise-routes=192.168.1.151/32
  • Step-3. 仮想マシンXがLAN内のIPアドレスB (例: 192.168.1.191/32) へのSubnet routeとなるよう設定して動作確認した後、イメージをVM3として保存する
    • sudo tailscale up --advertise-routes=192.168.1.151/32,192.168.1.191/32
  • Step-4. 仮想マシンXのイメージをVM2に戻してから起動した時、仮想マシンXはIPアドレスBへのSubnet routeとして機能するのかどうかを確認する

実験の結果と考察

上記実験をやってみた結果、Step-4の時点での仮想マシンXは、IPアドレスBへのSubnet routeとしては機能しない状態であった。もちろん、IPアドレスAへのSubnet routeとしては機能する。このことから、TailscaleのSubnet routes設定を変更する時には、Subnet routeとなるマシンのローカルストレージに何らかの情報が保存されるので、恒久的な書き換えは「必要」だと判断できる。

また、Step-4の時点でTailscale Admin Consoleを見ると、IPアドレスAは通常表示で、IPアドレスBはグレーアウトかつな表示になっていた。IPアドレスBはこの時点の仮想マシンXが知らないものであるから、Admin ConsoleがTailscaleネットワークでの接続履歴を表示する機能を有すること、かつ、TailscaleはSubnet routeマシンのローカル設定との整合性を確認しながら動作しているんだなということも推測できる。

参考画像: Step-3と4でのAdmin Console > Edit route settings

参考リンク