0
2

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 NodeをOracle Cloudの無料インスタンスで構築する手順

Last updated at Posted at 2025-04-05

はじめに

最近、TailscaleというVPNを使っています。きっかけは、以前QiitaにWireGuardの導入方法を投稿した際、「Tailscaleの方が便利だよ」というコメントをいただいたことでした。それ以来、Tailscaleをメインで使うようになりました。

WireGuard派の方もいらっしゃるかと思いますが、Tailscaleは鍵の管理が不要で導入が簡単なうえ、モダンなWeb UIが用意されていて管理もしやすいため、個人的にはTailscaleを使うようになりました。

Tailscaleには多くの機能がありますが、中でも「Exit Node」機能が便利です。これは、Tailscaleをインストールした端末をインターネットのゲートウェイとして利用できる機能で、私もこれを使ってトラフィックを自宅へ逃してインターネットにアクセスしたりしています。

Exit-Nodeについて詳しく知りたい方はこちら↓(学内や社内での利用には注意が必要です)

解決したいこと

現在、自宅に設置したUbuntuサーバ(Tailscale入り)をExit Nodeとして使い、インターネットへアクセスしています。

しかし最近、電気代の高騰を受けて「節電しよう」という話が家庭内で持ち上がりました。サーバの稼働による電力消費を見直したいと考えていたところ、以下の記事を見つけました。

手順

Oracleクラウドでのインスタンス作成

上記の記事を参考に、Oracle Cloudで無料インスタンス(Ubuntu 22.04)を作成します。

基本的には記事通りに作業を進めれば問題ありませんが、「可用性ドメインAD-1のシェイプVM.Standard.A1.Flexの容量が不足しています」というエラーでインスタンスが作成できないことがあります。私も同様のエラーに遭遇しましたが、アカウントをアップグレードすることで回避できました(※アップグレード時にはご注意を)。

また、なぜかインスタンス作成段階でブート・ボリュームの料金が発生しています。ただ、契約額の合計は¥0と表示されているため、実際には無料のようです。もし理由をご存知の方がいれば、コメントいただけると助かります。

↓スクリーンショット(料金表示)

image.png

image.png

Tailscaleでのアカウント作成

以下のサイトからアカウントを作成してください。

インスタンスへのTailscaleの導入

インスタンスへSSHで接続し、Tailscaleをインストールします。SSH接続の方法は以下を参考にしてください。Tailscaleのインストールする手段は色々あります。

インストール方法①:Web UIからスクリプト生成

  1. Tailscaleの管理画面で「Add device」をクリック

  2. 「Generate install script」を選択

  3. 表示されたスクリプトをインスタンスにコピー&実行

image.png

image.png

インストール方法②:curlコマンドで手動インストール

詳しくはこちらを参照ください。

インスタンスをExit-Nodeとして起動

次は、インスタンスでTailscaleを起動させるとともにExit-Nodeとする方法を説明します。

1. まず、Ubuntuでトラフィックを転送できるようにしていきます。

# echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
# echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
# sudo sysctl -p /etc/sysctl.d/99-tailscale.conf

2. 次にNATの設定をしていきます。(※[インターフェイス]は適宜置き換えてください)

# sudo iptables -t nat -A POSTROUTING -o [インターフェイス] -j MASQUERADE

3. 最後に、Tailscaleを起動させます。

# sudo tailscale up --advertise-exit-node

確認

無事にOracleクラウドのインスタンス経由で、インターネットへアクセスすることができているかを確認します。今回は、Mac BookでTailscaleを起動させ、Exit-Nodeにインスタンスを指定してグローバルIPv4を確認していきます。

※MacではGUIで操作することができますが、場合によってはCLIでの設定が必要となります。各種設定については以下をご参考ください。

まず、App StoreからTailscaleをインストールし、起動させます。その次は、Tailscaleのアカウントと連携させVPN接続が可能なようにします。そして、Tailscale Appを起動させると、上バーにTailscaleのマークが表示されるので、そこからVPN接続を開始します(Connectedと表示されます)。次に、「Exit Nodes」から作成したインスタンスを指定します。無事に、設定が終了すると上バーのアイコンが以下のようになります。

image.png

この状態で、以下のサイトでグローバルIPv4を確認します。

確認すると、Oracleの「インスタンスの詳細」で表示されているグローバルIPv4アドレスと同一のアドレスであることが確認できます!
( 黒塗り部分に表示されるIPアドレスが同じはずです!! )

image.png

image.png

最後に

今回は、Oracle Cloudの無料インスタンスをTailscaleのExit Nodeとして使う方法を紹介しました。無料であるかどうかはやや不安が残りますが、無料で作成したインスタンスを介して、インターネットへアクセスできるようになります。

この記事が少しでもお役に立てれば嬉しいです。ありがとうございました!

0
2
1

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
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?