【Chromebook】シンクライアントとしてのシステム構築 Tailscale編 ~「どこでも自室」を数分で実現する~

Chromebook

シンクライアントとしてChromebookの能力を拡張する

はじめに

Chromebookは単体でも利用可能なPCですが、WindowsやMacに比べると、「動かないアプリがある」という課題に直面することがあります。

もちろん、Google Workspaceなどの代替手段で解決できることも多いですが、どうしても特定のアプリを動かしたい場合もあります。そんなときは、やはり個人では「リモートアクセス」が唯一無二の選択肢になります。

本記事で紹介するTailscaleは、外出先からの利用で真価を発揮します。Chromebookの安全性やシンプルさ、遊び心のあるUIを楽しみつつ、裏側でWindowsのパワーを借りる「シンクライアント構築」について解説します。

何ができるようになる?

Tailscale導入後は以下ができるようになります。

・外出先でもWindows appまたはSunshine / MoonlightによるサーバーWindowsへのアクセス
 ができる
・外出先でもWindows内にあるSMBファイル共有されたフォルダにChromebookのファイルアプ
 からアクセスできる
・外出先でもローカルVS Code内でSSH接続をサーバーWindowsに行い作業できる
・外出先でもローカルAIにアクセスできる
・公衆Wi-Fiでも通信を暗号化できる

上記は自宅内は同じWi-Fiにつながるはずなので、Tailscaleは不要でできることになります。しかし、上記は同じネットワーク内にいる状態でないとできません。それを外出先のWi-Fiに繋いでいるにも関わらず自分のデバイスが同じネットワーク内にいるように構成し、上記を自宅外で実現するのがTailscaleになります。

一方、Tailscaleを導入しなくてもできるリモートアクセスもあります。
・ParsecによるWindowsへのアクセス
これはTailscaleなしで外出先からリモートアクセスできます。通信も暗号化されています。これのみで十分の場合はそれでも良いと思います。

私としてはできることの幅と選択肢が増えるのでTailscaleの導入は推したいところではあります。

構成図(イメージ)

以下に構築後はどうなるかのイメージ図を載せます。だいたいこんな感じです。

このようにTailscaleを使うと、カフェが、一瞬で自分の書斎になります。

Tailscaleの設定方法概要

それでは実際の設定方法の流れの概要を見ていきましょう。

1.ChromebookにTailscaleのAndroidアプリを入れます。
  アプリを入れた後はGoogleアカウントでログインし、Webのコンソール画面でログインを完了
  してください。これにより自分のデバイスでTailscaleが動作し始めます。

2.次にCrostiniにもTailscaleを入れます。(VS CodeのSSH接続に必要)
  ターミナルに以下を入れます。
  curl -fsSL https://tailscale.com/install.sh | sh
  sudo tailscale up
  同様にログインして完了します。

3.WindowsにもTailscaleを入れます。
  公式HPからWindows版をインストールします。
  その後、同様にログインします。

4.Exit nodesの設定を行う。(この設定が公衆Wi-Fiから通信内容を守ります。)
  Windowsで右下の「^」を押して、「Exit nodes」から「Run exit node」を押します。
  その後の確認画面は「OK」を押せば大丈夫です。
  次に自分のアカウントのアイコンにカーソルを合わせて、「Admin console…」を押して
  Webブラウザが立ち上がりAdmin consoleが表示されます。WindowsのPC名が表示されている
  行の一番右に「…」があるのでそこを押し、「Edit route setting…」を押してください。
  そうするとチェックボックスがあるので、「Use as exit node」にチェックを入れます。これで
  Exit nodesが使えるようになります。

5.サブネットルーティング用デバイスを設定する。
  これがあるとTailscaleが入っていないデバイスに外出先からアクセスするのが可能になりま
  す。また、最近の家電はアプリで外出先から動かせますが、それはメーカーのクラウドサーバ
  ーを信じてデータを預けている状態です。一方このデバイスを設定すると、クラウドを介さな
  いので『自分専用の裏口(ラズパイ)』となり、クラウド非対応の古い機器や、プライバシーを
  重視したい機器までが制御可能です。
  常時起動できるものが望ましいと思いますが、外出するときだけ設定しても良いです。
  24時間365日動作させておけるもののほうが外出のたびに起動する手間がないです。
  デバイスが決まれば以下を実行します。
  sudo tailscale up –advertise-routes=(デバイスのIPアドレス)/24
  (↑advertiseの前は、マイナスハイフンを2つ繋げます。ブログのシステムが自動変換で長いダ
  ッシュに変換してしまっています。)
  この後はAdmin consoleの「…」「Edit route setting…」を押し、IPアドレスのチェックボッ
  クスにチェックを入れて完了です。

5に関して、私はRaspberry Piを使用しています。どの製品か記載しておきます。アマゾンリンクです。(※非アフィリエイト。特に報酬などは発生しませんが、構成を再現したい方の参考になれば幸いです。)
Raspberry Pi Zero 2 W
Geekworm Raspberry Pi Zero 2 W ヒートシンク
KIOXIA(キオクシア) 旧東芝メモリ microSD 32GB

microSDにRasberry Piの公式サイトにあるRasberry Pi Imagerを使用してOSを書き込みます。Rasberry Pi Zero 2 Wを選択、Rasberry Pi OS (other)を選択、Rasberry Pi OS Lite (64-bit)を選択、OSを書き込んでください。
Rasberry Pi OS Liteで以下を実行します。
sudo nano /etc/sysctl.conf
以下の2行を追記します。
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
以下を実行します。
sudo sysctl -p
アドバタイズします。
sudo tailscale up –advertise-routes=(IPアドレス)/24

Raspberry Piはサーバー用途が想定されているので、常時起動しても安定しています。

以上で終了です。

SMBファイル共有

このシステムを構築することで可能になる便利な機能の一つに、SMBファイル共有があります。 これは、自分が持っているスマホ、タブレット、PCのすべてから、Windows上の共有フォルダへアクセスし、ファイルの読み書きができるようになるものです。

もちろん、各デバイスにTailscaleをインストールしておく必要がありますが、それだけで共有フォルダを介した自由なファイル共有が可能になります。つまり、OSの壁を乗り越えてデバイス間で直接ファイルを転送できるということです。

これにより、AirDropやQuick Shareといった特定のOS機能に頼らなくても、自分のデバイス間はすべて完結できます。反映速度も体感では速く、スムーズにファイルをやり取りすることが可能です。

まとめ

これはChromebookのパワーを拡張する上で大切なインフラ構築になります。これをやることによってできることの幅が広がります。開発であればコンパイルなどを手元でやって手元のデバイスに負荷をかけることがなくなりますし、Windows内のファイルと常に直接同期もしておけます。一般用途ではOfficeなど、動かしたいアプリも動作します。

今回はTailscaleの設定と構築する意味について絞りましたので、次回はリモートアクセスの3つのアプリWindows app、Persec、Sunshine / Moonlightの使用感の比較をiPadでリモートアクセスした時の比較も交えて説明した記事になる予定です。

Tailscaleは物理的な距離を忘れて、カフェが書斎になります。生産性も上がりますのでぜひ。

コメント

タイトルとURLをコピーしました