引き出しに眠るスマホにはプロセッサ、フラッシュストレージ、Wi-Fi、バッテリーがあり、これは人が喜んで導入する多くのシングルボードコンピュータより多いハードウェアだ。画面もあり、バッテリーは劣化し、ベンダーが先へ進めばOSはパッチを受け取らなくなる。そのどれも、VPNゲートウェイやNASにすべきかどうかを決めはしない。

VPNゲートウェイにすべきかNASにすべきかは、比較が能力の話であり判断が運用の話である以上、その比較では決まらない。

それを決めるのは三つの条件だ。どれか一つでも満たさなければ、そのプロジェクトは機器ではなく週末の実験であり、データを移す前にどの条件が欠けたのかを知っておくほうがよい。

条件一:役割が実際に対応している

三つの構成が同じ名前で呼ばれる。VPNクライアントはスマホ上のアプリの通信を守る。VPNサーバーは内向きの接続を受け付ける。ゲートウェイは他の機器の通信をトンネルへ転送する。これらは別のプロジェクトであり、動くクライアントのトンネルは残りの二つについて何も証明しない。

標準のAndroid上のアプリはバックグラウンド実行の規則に従い、開いたままの端末はデーモンではない。プラットフォーム自身のDozeとApp Standbyのガイドは、端末がアイドル状態に入るとバックグラウンドプロセスがネットワークアクセスを失うことがある理由を説明しており、それはまさにゲートウェイで起こってはならない挙動だ。

Android内のLinuxユーザー空間は、取り除く制約より多くの制約を引き継ぐ。chrootはファイルシステムのルートを変えるが、Androidのカーネル、ドライバー、セキュリティポリシーの上で動き続けるので、chroot内のrootはプラットフォーム上のrootではない。代わりにOSを置き換えると、その特定の端末のモデム、ストレージ、電源の対応がプロジェクトの一部になり、端末対応はたいてい誰も保守しない部分だ。

条件二:アドレスに到達できる

ゲートウェイは、それに依存するクライアントから到達できなければならない。家庭用ルーター内のWi-Fi上のスマホは、そのLANからもルーターが転送する先からも到達できるが、自分で仕組まない限りインターネットからは到達できない。

セルラーはこれを簡単にはせず、難しくする。多くのモバイルネットワークは加入者をキャリアグレードNATの背後に置くので、転送する内向きのアドレスがそもそも存在せず、モデムを足しても公開の待ち受けは生まれない。要件が外からの遠隔アクセスなら、設計には両端が外へ接続するリレーかオーバーレイネットワークを含める必要があり、それは保守すべき二つ目の可動部品だ。

ネットワーク接続も機器によって異なる。USB Ethernetアダプターを受け付けるスマホもあれば受け付けないものもあり、Wi-Fiは独自の遅延とローミング挙動を加える。画面が消えると眠るゲートウェイや、ハンドオーバーでトンネルを落とすゲートウェイは、ゲートウェイがないより悪い。

条件三:更新と復旧の担当者がいる

これは人が飛ばす条件であり、その物が一年もつかどうかを決めるのはこれだから、すべての構成要素に所有者が要る。OSビルド、置き換えたならカーネル、サーバーパッケージ、証明書、そして配った認証情報だ。

復旧はより難しい半分だ。画面なし、壊れたタッチパネル、膨らんだバッテリーで再起動したあと、どう入るのか。失ったクライアントの識別情報をどう失効させるのか。元が製造終了した機種のとき、ストレージを代替機へどう復元するのか。

電源もここに含まれる。継続的な負荷は継続的な熱を意味し、劣化したバッテリーは自動のUPSではない。メーカーの指示に従い、膨張や損傷は回避すべきものではなく停止の合図として扱う。

答えが「いいえ」のとき

三つの条件を、実際に必要なものに当てはめ、カテゴリではなく作業について具体的に考える。

TaskPhone is reasonable when
Protecting the phone's own trafficThe client is a supported Android app; no forwarding involved
Small lab tunnel inside one LANDowntime is acceptable and you can reach the device to fix it
Household NAS holding the only copyNever; that is a backup problem, not a hardware problem
Unattended remote access for othersYou already own patching, revocation and replacement

専用のLinuxホストもこの一覧から逃れられない。ハードウェアとディストリビューションが対応していれば、より明確なサービスマネージャーとストレージ・ネットワーク管理の道筋があるが、それでも電力、更新、バックアップが要る。ボードだけでは機器ではない。

だから、対応する能力がささやかな作業に合い、実験的な停止が本当に許容できるならスマホを選ぶ。失ってはならない家庭内ストレージや、他の人が依存する遠隔アクセスが必要なら別のものを選ぶ。どちらの場合も決め手は再現可能なインストールと実際に試した復旧手順であり、無料のハードウェアがどれだけあってもそのどちらも代替できない。

関連記事