きっかけ
今の自宅の回線がマンション共用の物なので、ルーターがいじれません。
ルーターがいじれないという事はインターネットからのアクセスのポートマッピング(ポート開放)ができないという事です。
ただ、回線の速度や安定感はあるので追加で回線を契約するほどのコストをかけたくないですし、
今までは宅内サーバーをインターネットに公開するために ngrok (HTTPやTCP) や localtonet (UDP) を利用して公開していましたが、
localtonet は 日本サーバーが無いために ping 値が高くなる等、歯がゆい状況でした。
そこで他に方法ないかなと探していたら見つけました。
インターネットからのアクセスを受けた マシン(VPS) から tailscale ネットワーク内のマシンにポートフォワーディングして、
VPS のマシンが実質ルーター代わりになるという方法
ポートフォワーディングについては、uredir を使わずに nginx や iptables でフォワーディングの設定をする、でもよかったんですが、以下の理由で uredir を採用してます。
- uredir のコマンドが覚えやすかった (uredir :8211 フォワーディング先IP:8211)、redir と同じ
- iptables のコマンドを覚えるのがむずかしかった
- nginx を使用してフォワーディングさせて比較しても体感できる差がなかった
1 | 2025/05/27 追記 |
各 VPSで パルワールドサーバーの UDP フォワーディング を試した結果、安定性や速度が異なったので感想とともに記録を残します。
VPS マシン側の構築
OS: ubuntu 22.04 server
- tailscale をインストール
1 | curl -fsSL https://tailscale.com/install.sh | sh |
VPS 管理コンソールにて ポート 8211 (palworld server) の inbound を許可
uredir や redir 等で、tailscale 内のマシンにフォワーディングする様設定
UDP
1 | uredir :8211 サーバーマシンのtailscale内IP:8211 |
TCP
1 | redir :25565 サーバーマシンのtailscale内IP:25565 |
2024/05/12 追記
VPS マシンの exitnode の有効化とその直後の IP フォワーディング許可設定は不要だったので削除しました。
サーバーマシン側の構築
- tailscale をインストール
1 | curl -fsSL https://tailscale.com/install.sh | sh |
- サーバーを起動
注意点
その時たまたま VPS プロバイダ側で障害があったとか、一時的な問題が起きていた可能性もあるのであくまで参考程度にしてください。
条件もきっちり揃えられていません。
各 VPS で試してみた
Azure VM
テストに利用したスペック
- コア数とメモリ: 1コア1GB
- ネットワーク: 100Mbps
- 金額: 1271円/月 以上
速度
速度は出ているけど、レイテンシの値が高い。
何故かコロンビアやインドのサーバーを利用してました。
念のため別のサイトでも試してみる。
Ping も Jitter も良好
パルワールドを遊んでみる
ロードがなかなか終わらない・・・
10分程度待てば接続はされた。
とはいえ建築物の表示にもかなりの時間がかかるため遊ぶのはきびしそう
その他気になった事
tailscale up したときに見覚えのないログが出た、何か改善の余地あり?
Warning: UDP GRO forwarding is suboptimally configured on eth0, UDP forwarding throughput capability will increase with a configuration change.
この方法で最適化されるらしいですが、残念ながら体感できず。。。
- 翻訳
Linux 6.2 以降のカーネルで Tailscale バージョン 1.54 以降を使用すると、トランスポート層のオフロードによって UDP スループットが向上します。
1 | NETDEV=$(ip route show 0/0 | cut -f5 -d' ') |
サーバーがマインクラフトだとしてもサーバーに繋がるまでに時間がかかりました。なんでだろう
Sakura VPS
テストに利用したスペック
- コア数とメモリ: 2コア1GB
- ネットワーク: 100Mbps
- 金額: 990円/月
速度
パルワールドを遊んでみる
tailscale ネットワークだけで接続するのと体感は変わらず快適
WebArena Indigo
テストに利用したスペック
- コア数とメモリ: 1コア1GB
- ネットワーク: 100Mbps
- 金額: 449円/月
安くてよさそう
速度
ちょっと遅いかな
パルワールドを遊んでみる
なんだかパケロスが激しい
接続してから数十秒の間、建築物のオブジェクトが読み込まれず、これで遊ぶのは厳しそう、と感じました。
Conoha VPS
テストに利用したスペック
- コア数とメモリ: 2コア1GB
- ネットワーク: 100Mbps(インターネット)
- 金額: 1064円/月(時間課金)
速度
パルワールドを遊んでみる
ロード時間がそこそこ長くかかった
建築物等がなかなか読み込まれず、表示されるまでに5分くらいかかった
Azure VM を少しマシにした様なレベルで、これで遊ぶのは厳しい
AWS Lightsail
テストに利用したスペック
- コア数とメモリ: 2コア1GB
- ネットワーク: 1Gbps?
- 金額: $5/月
速度
シアトル経由になってしまった
別のサイトで測るとジッターもpingも良好
パルワールドを遊んでみる
体感は Sakura と変わらない
その他
採用されたのは・・・
さくら VPS でした。安定感がどエライです。
LIghtsail も快適だったので、こっちへの乗り換えもアリ
なんで安定感に差がでるのか
わからないです。知ってる人いたら教えてほしいです。
他の VPS について
他に試したい VPS もいくつかあるので試したら追記していきます。