Tailscaleの使い方、その5:レンタルVPSをExit Nodeにする

2022年10月18日



VPNまとめを参照されたい。

Tailscaleの使い方、その4の続きである。

レンタルサーバをExit Nodeにする

今回は、いわゆるレンタルサーバを借りて、それをTailscaleに接続し、このサーバをExit Nodeにしてみる。つまり、以下の形態だ。

レンタルサーバとは言っても、例えばLolipopのようなウェブコンテンツを格納するためだけのサーバではだめで、いわゆるVPS(Virtual Private Server)と言われるものである。VPN(Virtual Private Network)と紛らわしいのだが、他の言い方は無いらしい。

今回はKagoyaのVPSを使うことにした。同タイプのサービスは他にいくらでもあると思うが、このサービスの良いところは、日毎に課金されることである。3日しか使わないのであれば、3日分の料金だけで済むので、何かしらテストするにはもってこいだ。

VPSサーバを作る

まずは、KagoyaでVPSサーバを作成する。既に他のVPSが二つあり、使用している状態だ。「インスタンス作成」を選択する。

Tailscaleは、wireguardをベースとしているので、Redhat系列なら9を選択した方が良いかもしれない。CentOS Stream 9を選択してみる。最低限の構成で、日額は20円。

認証キーを作成して、ダウンロードし、それを指定する。ダウンロードしたものを無くしてしまうと、手元のマシンからPutty等のSSH端末が使えない。ただし、これを無くしても、Kagoyaのコンソールを使うことができるのだが、コピー・ペーストができないので面倒。

VPSが作成され、起動した。

Tailscaleをインストールする

コンソールを起動する。ブラウザのポップアップを許可しないといけない。

あとは、このコンソールの中で作業する。

https://tailscale.com/download/linuxに指示があるように、以下のコマンドを入力する。

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

なんやかやとインストールされるので、インストールが終了したら次のコマンドを発行。

tailscale up

すると、上のコンソール画面に示したように、

https://login.tailscale.com/a/c2ed********

などという文字列が現れるので、これをブラウザに入力して、このマシンを認証してあげる。認証の画面は省略する。すると、TailscaleのAdmin Consoleにこのマシンが現れる。

これでとりあえず、この新たなVPSサーバマシンがVPNの仲間に加わった。この状態で何をするかと言えば、以前にも書いたように、この暗号通信路の上で、このVPSサーバに対して、telnetやftp等のあまり安全ではないソフトを使うことができる。

Exit Nodeとしての登録

しかし、今回の目的としては、このサーバマシンをExit Nodeにすることである。

https://tailscale.com/kb/1103/exit-nodes/に説明がある。

次に以下のコマンドを入力

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
firewall-cmd --permanent --add-masquerade

そしてTailscaleを再起動するが、Exit Nodeとして「名乗り」をあげるためにフラグを指定する。

sudo tailscale down
sudo tailscale up --advertise-exit-node

TailscaleのAdmin Consoleを見てみると、このLinuxマシンがExit Nodeとしての承認を求めているので、承認してあげる。

このExit Nodeを他クライアントから使う

あとは、他のクライアントからこのExit Nodeを使うように指定する

Windowsの場合、タスクバーアイコンを右クリックしてExit Nodeを選択すれば良い。

Androidの場合には、Tailscaleアプリ画面の右上メニューから選択する。

いずれの場合にも、IP確認を行うと、KagoyaのIPアドレスになっていることがわかる。

まとめ

以前のTailscaleの使い方、その3で行ったことは、たとえスマフォを持って外出していても、自宅のパソコンをExit Nodeとすることにより、スマフォがインターネットのどこに接続しようとも、常に自宅で契約中のプロバイダ回線(私の場合はぷらら)を経由させるということだった。

しかし、Exit Nodeは任意のマシンを指定できるため、今回のようにKagoyaのVPSを指定して、自宅のパソコンも、外出中のスマフォも、すべてそこを経由させることができる。自宅契約のプロバイダが信用できない場合には、この方法がある。

ただし、今度は、Kagoyaが信用できるかという話になってくるのだが、そういう時は、友人と一緒にこのExit Nodeを使ってしまえば良い。複数で使うことによって、アクセス先は把握できるものの、「誰がそこにアクセスしたのか」は全くわからない。

Tailscaleの使い方、その6:レンタルVPSサーバにアクセスするに続く。