【忘備録】 ポートフォワーディングで自宅のゲームサーバーやウェブサーバーをポート開放せずに公開する

2024年11月29日

Blog Image

自宅サーバーでポートを開放せずに外部に公開したいと思ったので、今回はVPSと自宅サーバーを使って、自宅のポートを開放せずにポートフォワーディングを使用して外部に公開する方法を説明していきます。

必要なもの

  • VPS グローバルIPがあれば、性能が低くても大丈夫です。

  • 自宅サーバ ラズベリーパイなどでも動かすことができます。

VPS側の設定

まずは、SSHのポートフォワーディングができるように、sshd_configの設定を変更します。

GetewayPortsを、clientspecifiedにする必要があるので、nanoを使ってsshd_configを編集します。

$ sudo nano /etc/ssh/sshd_config

変更前

#GatewayPorts no

変更後

GatewayPorts clientspecified

このように変更したら、sshdを再起動します。

この設定をすると、すべてのポートに影響が出るので、ファイアーウォールの設定をしっかりと行ってください。

$ sudo service sshd restart

次に、ポートを開放します。今回は、Ubuntu Serverでやっていきます。

ufwが導入されていない場合は、

$ sudo apt install ufw

$ sudo ufw allow 22(sshのポート番号)
Rule added 
Rule added (v6)

$ sudo ufw allow (ほかの使いたいポート番号)
Rule added 
Rule added (v6)

$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y 
Firewall is active and enabled on system startup

と打ってください。

今回は50000番を使います。

Ubuntuで50000番のポートを開放する場合は、

$ sudo ufw allow 50000

と打つと開放されます。

自宅サーバ側の設定

次に自宅サーバーで、リバースSSHをします。

今回はマインクラフトサーバーを公開してみるので、ポートは25565です。

ssh -R <VPSのIPアドレス>:50000:localhost:25565 -N <ユーザー名>@<VPSのIPアドレス>

終わりに

自宅のポートを開放せずに、外部に公開することができました。ファイアーウォールの設定は、しっかりやっておきましょう。