さくらのVPSにTailScaleをインストールし、Exit Nodeとして動作するまでのログ
を参考にする。
VPSサーバの作成
今回は、前からさくらのVPSを契約していたので、そのVPSのOS再インストールするところから始める。
Rocky Linux 9をインストールする。
管理ユーザ情報の設定
パスワードやSSH登録はお好きなように設定。
サーバに関する設定
スタートアップスクリプトは使用する。
さくらインターネットが公式で提供している「Setup and update」スクリプトを使用する。
スタートアップスクリプト設定
- 初回起動時にパッケージ更新: 更新する
- 日本語環境 ja_JP.UTF-8 に変更: 変更しない
- ホスト名を設定: TailScaleには関係しない
- SSHポートを変更: 変更する方が好ましい
- ログインユーザ名を変更: 変更する方が好ましい
- キーボード配列のVM内部設定をUS配列に変更: 今回はUS配列のキーボードを使用しているので、US配列に変更する
- VM内部のファイアウォール機能(firewalld, ufw, nft のいずれか)を有効化: firewalldを使用するため、有効化する
- ウェブ管理インタフェース Cockpit をインストール: インストールしない
- (対応している場合)IPv6 を有効化: 有効化しない
- スワップ(swapfile)を作成: 念の為、8GB作成
- パッケージ管理システム Snappy(snap) をインストール: インストールしない
- (RedHat系のみ) SELinux を有効化: 有効化しない
- カーネルクラッシュダンプを有効化: 有効化しない
- タイムゾーンを変更: 変更しない Asia/Tokyo
パケットフィルター設定
firewalldを使用するが、パケットフィルターを設定していないと全部開放状態になってしまうため、一応をパケットフィルター設定を利用する。
ただし、デフォルトで有効されているポート番号22の設定は削除しても構わない。
さくらのVPSのWebコンソールを使用して、TailScaleの設定を行うため。
上記条件で、OSインストールを開始。
シリアルコンソール
設定したユーザ名とパスワードでログイン。
TailScaleのインストール
https://tailscale.com/download/linux より、以下のコマンドを実行。
curl -fsSL https://tailscale.com/install.sh | sh
TailScaleの起動
以下のコマンドを実行。
sudo tailscale up
表示されたURLにアクセスし、Connect device画面で「Connect」をクリック。
成功すれば、TailScaleのAdmin ConsoleのMachinesページで、さくらのVPSが追加されているはず。
Exit Nodeの設定
https://tailscale.com/kb/1103/exit-nodes?tab=linux より、以下のコマンドを実行。
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
sudo firewall-cmd --permanent --add-masquerade
TailScaleの再起動。
sudo tailscale down
sudo tailscale up --advertise-exit-node
TailScaleのAdmin ConsoleのMachinesページにアクセスし、Exit Node設定を有効したMachineの「Exit route settings...」を開き、「User as exit node」のチェックを入れて、「Exit Node」として承認する。
Exit Node経由の通信の開始
今回使用している計算機がmacOSなので、macOSでの設定を記述。
macOSでTailScaleを起動後、メニューバーのTailScaleアイコンをクリックし、
Exit Nodes > Tailnet Exit Nodes欄にある、先ほどExit Node設定したVPSを設定すればOK。