💻

外出先から家のPCへリモートデスクトップを繋ぐときに、Tailscaleがお手軽で便利だった話

2024/12/06に公開

https://qiita.com/advent-calendar/2024/iwakenlab
この記事は、「Iwaken Lab. Advent Calendar 2024」6日の記事です。

外出先でも家のPCを操作したい!

外出先でもストレスなく、UnityやMayaを使いたい時が結構あるんです。でも、使っているノートパソコンが結構スペックが低くて、ストレスになることが多いです。ゲーミングノートパソコンを持っていたとしても、カフェやワーキングスペースでレンダリングをすればファンの音で迷惑です。
そこで、家にあるパソコンにリモートアクセスできる環境を構築して、リモートで作業できる環境を構築しようと思いました。

VPNを使って自宅のPCにアクセスする

VPNを通して自宅のPCにアクセスすることが、多分純粋なやり方な気がしています。
SoftEter VPNとかOpenVPNとかを使えばできるらしいとは聞きつつも、ネットワークなんもわからん自分は挫折しました...
それと今使っているネットワークでは、ポートフォワードをしたりするのに抵抗があるというのもあります。
もう少し手軽に、外出先でも気軽にほぼローカルネットワークと同じようにネットワーク扱いたいなぁと思っていました。

Tailscaleというツールが便利だった

最近、外出先で自宅のPCにリモートアクセスするときのVPNとして、Tailscaleを利用していました。

Tailscaleのいいところ

  • 導入が簡単
    • 基本的にインストールとログインだけでVPN接続が確立します
  • 無料枠が大きい
  • 対応OSが幅広い
    • Windows、MacOSはもちろん、Android、iosのようなモバイル環境、LinuxではCLIからも利用できます

モバイル環境向けにもクライアントアプリが提供されているのがとても良いんですよね...


Tailscaleを実行すると、100.xx.xxx.xxのようなIPアドレスが振られる。このIPアドレスを使用することで、同じネットワーク上のTailscaleクライント同士で通信ができる。

Tailscaleを導入する

アカウント登録

Google, Microsoft, GitHub, Appleのアカウントと連携する形でアカウントを登録します。
https://login.tailscale.com/start
いくつか質問されるので答えていきます。

  1. 使用目的
    ビジネス用か、個人用かを選択します。
  2. 一つ目のデバイスを追加する
    一つ目のデバイスのOSを選択して、インストールします。

    インストールすると、タスクトレイにTailscaleが起動しているので、右クリックしてLog in...を選んで、開いたブラウザの画面で、先ほど登録したアカウントにログインします。

    Connectを選択して、Tailscaleに接続します。

    接続できると初めの画面では、画面下には接続されたデバイスが認識されます。
    100.xxx.xxx.xxの部分が、Tailscaleでの通信に使用するIPアドレスです。
    このまま2台目のデバイスでもTailscaleに接続する手順を行います。

    これで、Tailscaleのセットアップが完了しました。

ダッシュボード (admin console)

TailscaleのWebサイトにログインすると、admin consoleにアクセスすることができます。
https://login.tailscale.com/admin/machines
この画面から、各デバイスのアドレスや接続状態を確認することができます。

また、アドレスの部分をクリックすると、IPv4以外のアドレスを確認することができます。

普段の使い方

Windowsリモートデスクトップ

Windows ProがインストールされたPCでリモートデスクトップを有効にし、Tailscaleに接続しておきます。
リモートデスクトップに接続するPCでは、Tailscaleで割り当てられているアドレスをリモートデスクトップクライアントに入力して接続することで、アクセスすることができます。

Exit node

Exit nodeはTailscaleがインストールされたマシン上で、すべての通信を特定のExit Nodeを経由させてから通信する機能です。
例えば、外出先で使用しているネットワークが厳しいファイヤーウォールによって、目的のサイトにアクセスできないとき。海外にいるときに日本のサイトを見たい時。こんな時にExit nodeを使用することで、Exit nodeに設定したマシンを経由して通信を行うことができます。

Exit nodeを有効にする

Exit nodeを有効にするには、有効にしたいマシンのTailscaleのメニューからExit nodeのメニューを開いてRun exit nodeを有効にします。

その後Admin consoleでExit nodeを有効にするマシンのroute settingsを開いて、Use as exit nodeを有効にして、保存します。

Exit nodeを有効にするマシンのEdit route settingsを開く

Use as exit nodeを有効にする
Exit nodeに接続するには、接続するクライアントのTailscaleのメニューから、Exit nodeの項目で接続先のExit nodeを選択するとExit node経由で通信を行えるようになります。

Taildrop

Taildropを使用すると、まるで某A〇〇Dropのように簡単にファイルの送受信ができます。
Tailscaleを接続した状態で、ファイルを右クリックしたり、スマートフォンでは共有の項目を見ると、Send with Tailscaleという項目があります。
これを選択して、送信先のデバイスを選択するだけで、簡単にファイルの送受信を行うことができます。

最後に

他にもTailscaleには機能がたくさんあるわけですが、あまり使いこなせている気はしていません。でも、シンプルな使い方でも結構使い勝手がいいTailscaleをぜひ使ってみてはいかがでしょうか。
https://tailscale.com/kb

Discussion