Subnet routes機能を用いたTailscaleの運用における、こんな内容の検証が必要になった。
OverlayFS化してmicroSDカードの書き換えを停止しているラズパイをLAN-A環境に置いている。ラズパイにはTailscaleをインストールしてSubnet routeとして設定し、LAN-B環境からLAN-A内の機器へアクセスするためのいわば踏み台にして利用中である。
このラズパイに、LAN-A環境へのSubnet routes設定を新規で1つ追加する時、次のOS起動時に備えてラズパイのOverlayFSを一旦解除しての設定作業が必要があるのかどうか。つまり、Subnet routeとなるマシンのローカルストレージの恒久的な書き換えが必要とされるのかどうかを調べたい。
「ローカルストレージの恒久的な書き換えが必要とされるのかどうか」の検証は、ラズパイの実機を持ち出さなくても、仮想マシンのイメージの世代を入れ替えることで可能だと思い、次のような実験方法を考えた。
sudo tailscale up --advertise-routes=192.168.1.151/32
sudo tailscale up --advertise-routes=192.168.1.151/32,192.168.1.191/32
上記実験をやってみた結果、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マシンのローカル設定との整合性を確認しながら動作しているんだなということも推測できる。