WSL2に外部パソコンからネットワーク経由で接続する方法

WSL2 (Windows Subsystem for Linux 2) は、Windows上でLinux環境を簡単に実行できる非常に便利なツールです。

しかし、外部のパソコンからWSL2のIPアドレスを使って接続しようとしてもうまくいかないことがあります。

WSL2が仮想的なネットワーク上で動作しており、デフォルト設定では外部からの接続が制限されているためです。

更に、

  • 起動するたびにIPアドレスが変わったり、
  • IPを固定できなかったり、
  • ホスト側からルーティングがひつようだったり

と設定が複雑です…

WSL(1)のときはもう少し簡単に外部から接続できたようなのですが、WSL2になってネットワーク接続が難しくなりました。

そこで、今回は簡単に外部のパソコンからWSL2にネットワーク経由で接続する方法をご紹介します。

この方法を使えば、仕事やプロジェクトにおいて、色んなデバイスからWSL2環境にアクセスできるようになります。更に、LAN外からもアクセスできるようになるのでめちゃくちゃ便利になります。

Tailscaleとは

Tailscaleは、セキュアなプライベートネットワークを簡単に構築できるアプリケーションです。

このアプリケーションを利用することで、異なるデバイス間で安全かつ簡単にVPN接続ができます。

Tailscaleは、ユーザー認証にGoogle、Microsoft、Okta等の各種プロバイダーを利用できるため、既存のアカウントを使って簡単に接続ができます。

また、Tailscaleは、WireGuardという高速でセキュアなVPNプロトコルをベースに作られており、NAT(Network Address Translation)を介した通信やファイアウォール越しの通信もサポートしています。

これにより、LAN内以外の場所からでも任意の端末にアクセスできます。

イメージとしては👇こんな感じです。

外部端末
||
Tailscale
||
WSL2

 

Tailescaleを通して、外部端末からWSL2に直接アクセスできるようになります。

Tailescaleは有料プランもありますが、基本無料で大丈夫です。

接続元のPCへのTailscaleのインストール

外部のパソコンからWSL2に接続するためには、まず接続元(手元)のPCにTailscaleをインストールする必要があります。

各種OSに対応したインストールを行ってください。WindowsとMacはGUIでアプリをダウンロード、インストールして、GoogleなどのアカウントでログインすればOKです。

Windowsの場合

Tailscaleの公式サイトからインストーラをダウンロードし、インストールしてください。インストール後、Tailscaleを起動し、指示に従って認証を行ってください。

macOSの場合

Tailscaleの公式サイトからインストーラをダウンロードし、インストールしてください。インストール後、Tailscaleを起動し、指示に従って認証を行ってください。

Linuxの場合

Linuxディストリビューションに応じたインストール方法が公式ドキュメントに記載されています。対応するディストリビューションに従ってインストールを行い、指示に従って認証を行ってください。

インストールが完了したら、Tailscaleアプリを起動し、指定されたプロバイダー(Google、Microsoft、Okta等)を使ってログインしてください。

これで、接続元のPCにTailscaleがインストールされ、認証が完了します。次に、WSL2にTailscaleをインストールする手順に進みましょう。

WSL2へのTailscaleのインストール

2023年4月30日現在、Ubuntuの最新バージョンは22.04ですが、WSL2上のUbuntuは 20.04なので20.04版のインストール方法を参考にしてください。

Ubuntu 20.4インストール方法

インストールが終わっていざ起動しようと思おうと次のコマンドでエラーが出ました。

sudo tailscale up
failed to connect to local tailscaled; it doesn't appear to be running (sudo systemctl start tailscaled ?)

tailscaledが起動してい無いから接続できないよ!って言ってますね。

そこで、tailscaled を起動してから、

sudo tailscaled

tailscale upを実行することで無事に起動できました。

sudo tailscaled
sudo tailscale up

エラーメッセージにかかれていたsudo systemctl start tailscaledはエラーが出て実行できませんでした。

 

tailscale upを実行すると画面にURLが表示されます。

URLをブラウザで開いて接続元端末でログインしたのと同じアカウントでログインします。

端末がアカウントに紐付けられてIPアドレスが割り当てられます。

同じアカウントでログインしている端末間で接続か可能な状態になります。

IPアドレスを管理画面から確認するか、次のコマンドでも確認できます。

tailscale ip -4

接続元端末から上記ので確認したIPアドレスにアクセスすると正常に接続できることが確認できるはずです。

お疲れさまでした!

これで、どこからでもWSL2に接続できるようになりました!

WSL2にネットワーク接続する方法まとめ

  1. 接続元PCにtailscaleをインストール
  2. WSL2にtailscaleをインストール
  3. WSL2のIPアドレスを確認する
  4. 接続元PCからWSL2のIPにアクセス

たったこれだけの設定で、LAN内からからだけではなく、外部のネットワークからでもアクセスできるようになりました。

WSL2が入ったパソコンがどこに置いてあっても簡単にアクセスできます。

WSL2に接続できなくて苦しんでいたことを考えると格段に便利になりましたね!

それでは素敵な開発ライフを!(^^)v

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください