Tailscaleを使って超簡単にVPNを構築してみる

はじめに
最近はじめて自前でサーバーを立てたのですが、家の外からアクセスしたいと思ったらVPNを構築する必要があります。
IPアドレスの固定やVPNサーバーを立てたりと色々構築が大変なのですが、なんとTailscaleというVPNサービスを使うことでそこらへんの知識があまりなくても1時間足らずでVPNの構築までできてしまうという最高のサービスを見つけました!
この記事では、Tailscaleの基本的な仕組みから、Windows、Ubuntu(Linux)での導入方法や実際の使い方までを詳しく解説します。
Tailscaleとは?
VPNの基本とTailscaleの特徴
VPN(Virtual Private Network)は、インターネット上に仮想的なプライベートネットワークを構築し、データの機密性を保ちながら安全な通信を実現する技術です。
例えば普通にインターネット上に自作のサーバーを公開してしまうと、ハッカー達に攻撃されるリスクにさらされてしまいます。
そこでインターネット上に自分しか使えないトンネルを使ってサーバーにアクセスするようにすることで、外出先などでもインターネットを通して安全に通信を行うことができるようになります。
これが簡単なVPNの仕組みになります。
そして今回紹介するTailscaleは、P2P型のVPNサービスです。
中央サーバーを介さずにデバイス同士が直接通信します。これにより、通信速度の低下を防ぐことができるます!
さらに何がすごいのかというと、ipアドレスの公開だったり固定IPの用意などの色々な手順をすべてサービスが自動化してくれるという点です。
Googleアカウントなどでログインするだけで簡単に構築されてしまうので本当に知識なくVPNが構築できてしまいます!
2. Tailscaleの導入
それでは早速実際の使い方を見ていきましょう
アカウント作成
Tailscaleを利用するには、まず公式サイト(https://tailscale.com)でアカウントを作成します。GoogleやMicrosoftアカウントを使って簡単に登録できます。

サイトにアクセスし、 GetStarted
をクリックして進めていってください。
ポチポチしていくとGoogleアカウントなどでログインができるのでログインまで済ませてください。
ログインが完了すると、以下の画面のようにVPN接続するデバイスの設定に移ります。自分が利用する端末をクリックするとインストールの手順が表示されます。

Windows・Macでのインストール

先ほどのこの画面からWindowsもしくはMacOSを選択してあげることでインストールリンクが表示されるので、そこからアプリをダウンロードしてインストールしてください。
その後インストールしたアプリを立ち上げてログインすることでデバイスが登録されます。
Ubuntu(Linux)でのインストールと接続
まずはターミナル上で以下のコマンドを順番に実行し、Tailscaleをインストールします。
UbuntuではなくCentOS系を利用している方はaptをyumに置き換えてください。
sudo apt update
sudo apt install curl
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/focal.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/focal.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list
sudo apt install tailscale
インストールが完了したら、次のコマンドで起動することができます。
sudo tailscale up
To authenticate, visit:
https://login.tailscale.com/a/xxxxxxxxxxx
コマンドを実行すると、ウェブブラウザのURLが表示されるのでこのURLをブラウザに貼り付けてアクセスしてください。
さらに以下のようなコネクトボタンが出てくるので、それを押すことで登録することができます。


接続が成功すると、Tailscaleの画面にUbuntuクライアントが登録されている様子がわかります。
モザイクをかけてしまっていますが、デバイス名と割り振られたipアドレスを確認できます。

3. Tailscaleの使い方
それぞれのデバイスにインストールと登録まで完了したら早速繋いでみましょう。
今回はUbuntuで建てているサーバーに対してMacBookからSSHできるようにするというケースで進めていきます。
Ubuntu側の設定
sshがインストールされてなければ入れておきます。
sudo apt install openssh-server
sudo ufw allow ssh sudo ufw enable
また、先程確認したipアドレスは確認しておきましょう。
クライアント側(Mac)の設定
まずはインストールしたアプリが起動&接続されているかを確認しましょう。
Macの場合は上にあるツールバーにアイコンがあるのでそこから確認できます。

ここまで確認できたら、先程控えたUbuntuのipアドレスを使ってssh接続していきます。ipアドレスでなくても、Tailscaleに登録したデバイス名でもいけます。
ssh user@100.55.555.555 -- Ubuntuのユーザー名@ipアドレスを入れる
これで接続が完了しました!
めちゃくちゃ簡単です!
まとめ
今回はtailscaleの導入方法と簡単な使い方について紹介しました。
こんなに簡単にVPNが構築できたことにとても感動しています、、!
自作サーバーを外出先から気軽にアクセスできるようになると出来ることの幅がぐっと広がると思うので、さらなる活用術なども今後発信できればと思います。
もしご不明点があればコメントやメールを頂けたら出来る範囲でサポートしますのでお気軽にお問い合わせください。
お読みいただきありがとうございました!