0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TailscaleのExitノードを使ってセキュアなネット環境を構築する

Posted at

Tailscale(テイルスケール)は、WireGuardというプロトコルを基盤にした「ゼロコンフィグ(設定不要な)」VPNを提供しており、VPN環境をとても簡単かつセキュアに構築できます。

そのTailscaleで便利な機能のひとつが「Exitノード」です。特定の端末をインターネットへの出口に指定することで、外出先からでも自宅やオフィスの回線を経由して安全にインターネットへ接続・通信できます。

本記事では、Exitノードの概念、メリット、通常モードとの違い、実際の設定手順などを紹介します。

TailscaleのExitノードとは?

Exitノードは、Tailscaleネットワーク上で「インターネットへの出口(経路)」として機能するノード(端末)のことです。通常のTailscaleは端末間の安全なP2P通信が主目的ですが、Exitノードを使うとインターネット通信そのものをTailscale内の任意の端末経由に変更できます。

Exitノードを使うメリット

Exitノードにより、インターネット通信の「出口」を自宅やオフィスといった信頼できる拠点へ固定できます。通常の「デバイス間通信」だけでなく、ネット全体へのアクセス制御・保護を強化できるのが最大の利点です。

公共Wi‑Fiでも安全な通信

すべての通信を信頼できるExitノード経由とすることで、暗号化されていないWi‑Fiでも中間者攻撃(MITM)や盗聴のリスクを低減できます。

通常、ブラウザの通信はHTTPS(TLS)で暗号化されていますが、それ以外のアプリケーション通信は暗号化されていない場合があります。Exitノードを利用すると、これらの通信も安全に保護できます。

また、HTTPS(TLS)はアプリケーションの通信をエンドツーエンドで保護しますが、Exitノード経由ではIPレベルでトンネル化・暗号化されるため、より広い範囲のトラフィックを保護できます。(ただしTailscaleで保護されるのは端末からExitノードまでです。その先はExitノード以降のインターネット環境に依存します)

自宅・会社のIPアドレスを外出先で使える

「オフィスからしかアクセスできない管理画面やAPI」などがある場合、オフィス内に設置されたExitノードを経由させることでどこからでもアクセスが可能になります。

昨今はリモートワークや自宅で作業を行うケースも増えてきていると思いますが、どこからでも、オフィスにいるのと同等のインターネット環境を実現できます。

海外から日本限定サービスにアクセス(合法の範囲で)

海外出張や滞在中でも、日本にあるオフィスや自宅のExitノード経由で日本のIPアドレスとしてアクセス可能になります。(ただし各サービスの規約や著作権に注意して利用してください)

通常のTailscaleとExitノードの違い

項目 通常のTailscale接続 Exitノードを使った接続
通信対象 Tailscale内の端末(P2P) インターネット全体(Web/APIなど)
通信の出口 各端末のローカル回線 指定したExitノード経由
グローバル IP 端末が接続中の回線のIP ExitノードのIP
主な用途 社内PC、ファイル共有、プリンタなど 安全なネット利用、固定IPアドレス、地域制限回避など

Exitノードの構築例(Windows/Mac/Linux)

Exitノードを構築してTailscaleクライアント(アプリ)から利用する手順を紹介します。基本的には好きな端末(マシン)にTailscaleクライアントをインストールし、Exitノードとして設定するだけであり、特に難しさはありません。

  • Tailscaleアカウントは既に作成されているものとします
  • 「Exitノードを利用する側の端末」にはTailscaleクライアントが既にインストールされているものとします
  • ここでは説明を簡単にするため、既にあるTailscaleアカウントに新しくExitノードを追加する形で説明します

WindowsマシンをExitノードにする場合

[1]. Tailscale公式のダウンロードページからWindows版インストーラーを選択してダウンロードします

[2]. ダウンロードしたファイルを実行してインストールします

[3]. Tailscaleを起動し、作成済みのアカウントでログインします

SS03.png

[4]. Tailscaleアカウントでログイン後、Exitノードとして動作させるためRun as exit nodeにチェックを入れます

SS09.png

[5]. Exitノードとして稼働させるための確認メッセージが出てくるので「はい」を選択します。

[6]. Tailscaleの管理画面(Admin Console)を開き(ブラウザが起動します)、対象のマシンの Machine settings > Edit route settings...を開き、 Use as exit node にチェックを入れます

SS04.png

SS08.png

SS05.png

macOSマシンをExitノードにする場合

[1]. Tailscale公式のダウンロードページからmacOS版インストーラーを選択してダウンロードします

[2]. ダウンロードしたファイルを実行してインストールします

[3]. Tailscaleを起動し、作成済みのアカウントでログインします

SS06.png

[4]. Tailscaleアカウントでログイン後、Exitノードとして動作させるためRun as exit nodeにチェックを入れます

SS10.png

[5]. Exitノードとして稼働させるための確認メッセージが出てくるので「はい」を選択します。

[6]. Tailscaleアカウントでログイン後、Tailscaleの管理画面(Admin Console)を開き(ブラウザが起動します)、対象のマシンの Machine settings > Edit route settings... を開き、Use as exit nodeにチェックを入れます(管理画面での手順はWindows版を参考にしてください)

LinuxマシンをExitノードにする場合

[1]. インストールスクリプトを実行します

curl -fsSL https://tailscale.com/install.sh | sh

[2]. Tailscaleを起動し、Exitノードとして設定します。以下のコマンドを実行します。

sudo tailscale up --advertise-exit-node

[3]. コンソールにURLが表示されるので、ブラウザで開き、作成済みのアカウントでログインします。

[4]. ログイン後、Tailscaleの管理画面(Admin Console)を開き、対象のマシンの Machine settings > Edit route settings... を開き、Use as exit nodeにチェックを入れます(管理画面での手順はWindows版を参考にしてください)

または公式のダウンロードページの「Manually install on」から対象のOSを選び、案内に従ってTailscaleクライアントをインストールします。

Exitノードの利用方法

ここまでの手順が問題なく完了していれば、Exitノードを利用する準備はできています。構築したExitノードを利用するには、「Exitノードを利用する側の端末」でTailscaleを起動してログインしたのち、Exitノードを選択します。

[Windowsでの例]

SS11.png

正しく接続されると、インターネットへの通信がExitノード経由になります。IPアドレス確認サービスなどを使い、自身のIPアドレスが変わることを確認してください。Exitノード選択を解除またはTailscaleを終了することでIPアドレスはもとに戻ります。

クラウド上にExitノードを構築する

自宅やオフィスにExitノード用の適当なマシンがない場合、クラウド上にExitノードを構築するという選択肢もあります。クラウド上にExitノードを構築すると自宅やオフィスにマシンを置く場合と比べて「初期コストが抑えられる」「物理的な管理が不要」「常時稼働できる」「帯域が広い(場合が多い)」などのメリットがあります。

クラウドにExitノードを構築する場合は、大まかに以下のような手順で行います。

[1]. AWS、GCP、Azureなどのクラウドプロバイダでアカウントを作成し、支払い情報などを登録します。

[2]. 適当な仮想マシン(VM)インスタンスを作成します。OSはLinux系(Ubuntu、Debian、CentOSなど)が一般的です。

[3]. VMにSSHで接続し、TailscaleのLinux版クライアントをインストールします。Tailscaleの公式ドキュメントを参考にしてください。

[4]. Tailscaleを起動し、Exitノードとして設定します。以下のコマンドを実行します。

sudo tailscale up --advertise-exit-node

[5]. Tailscaleの管理画面(Admin Console)を開き、対象のマシンの Machine settings > Edit route settings... を開き、Use as exit nodeにチェックを入れます(管理画面での手順はWindows版を参考にしてください)

[6]. 「Exitノードを利用する側の端末」でExitノードを選択して利用します。

より簡単にクラウド上にExitノードを構築する方法

手早く始めたい場合の選択肢の一つとして、NodeFlowのようなマネージドサービスがあります。アカウント作成後、数クリックでTailscaleのExitノードを立ち上げられます。固定IPを持つため、IP制限のある管理画面やAPIにアクセスする場合にも便利です。フルマネージドサービスなので、Exitノードの管理やメンテナンスが不要になります。

また、AWSなどのクラウド上に仮想マシンを置く場合、起動時間に応じた課金が発生することがあります。NodeFlowには使用していないExitノードの自動停止機能やスケジューリング機能があるため、無駄なコストを抑えられます。

まとめ

TailscaleのExitノードを利用することで、外出先からでも自宅やオフィスの回線を経由して安全にインターネット通信が可能になります。公共Wi‑Fiの利用時でも通信を保護でき、自宅やオフィスのIPアドレスを利用できるなど、多くのメリットがあります。

Tailscaleを使ったExitノードの構築は比較的簡単であり、Windows、Mac、Linuxなど様々なプラットフォームで利用可能です。クラウド上にExitノードを構築する場合も、NodeFlowのようなサービスを利用すると手軽に始められます。TailscaleのExitノードを活用して、安全で柔軟、便利なネットワーク環境を実現しましょう。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?