TailscaleでVPN環境を構築する

Tailscaleとは

TailscaleとはWireguardというVPN技術をベースにつくられたメッシュ型のVPNサービスです。

参考URL 100台まで無料のVPNサービス「tailscale」、リンクだけでマシンのシェアも可能!?【イニシャルB】 - INTERNET Watch

Hamachiに似ていますね。公式サイトもHamachiの置き換えについて言及があります。 Tailscale: A modern replacement for Hamachi · Tailscale

個人的には2014年ごろHamachiを使っていたことがあります。ええ、上記の記事にあるようにゲームのためですが。

Tailscaleで気になっていたのがVPNに参加している端末の中からExitNode(インターネットへの出口)を決められるということ。 自宅PCをExitNodeにするもよし、パブリッククラウド上のサーバをExitNodeにするもよし。

サービス利用開始

サービスの利用申し込みはいたって簡単でした。上記の紹介記事どおりです。 WindowsやAndroid、iOS用のアプリもあるのでそちらの利用もいたって簡単にできるようになりました。

OCI上のインスタンスをTailscaleのVPNに参加させる

通信料に応じた課金額が少ないOCIにインスタンスを立ててTailscaleのExitNodeにしようと思います。 こちらにSSHトンネルでアクセスすることで、VPNに参加したWindowsPCにVNCでアクセスできるようにすることなどを狙っております。 また広告カットのフィルタをこちらのサーバ上に入れることで通信費の節約しようという以前も実施していた試みを別の形で実践しようとも考えております。

yourpalm.jubenoum.com

OS: Ubuntu 22.04 で環境を構築して、SSHでログインできるようにした後、以下のコマンドを実行して完了でした。あっさり。 Setting up Tailscale on Ubuntu 22.04 (jammy) · Tailscale Docs

curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/jammy.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/jammy.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list
sudo apt-get update
sudo apt-get install tailscale
sudo tailscale up
# 初回起動時にログイン用URLが払出されるのでログインする

To authenticate, visit:

        https://login.tailscale.com/a/XXXXXXXX

tailclace upSuccess.

# いったん停止する
sudo tailscale down

# パケットフォワーディングを許可する
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p /etc/sysctl.conf

# ExitNodeとして起動する
sudo tailscale up --advertise-exit-node

ここまで設定するとTailscaleの管理ページには、ソフトをインストールして接続した機器が見えるようになっています。 ExitNodeを複数設定した上で、その時々で選択できるようですので、AWSなどの海外のリージョンにExitNodeを立てて…なんてこともできるのかな。 設定も簡単なのでいろいろ試してみたいと思います。