\r\n\r\n
自宅からIPアドレスを明かさずにMinecraftサーバーを運営したい?できますよ!amazonwebservicesを使用して無料のプロキシを設定するだけで、サービス拒否攻撃からサーバーを保護することができます。その方法をお教えします。
このガイドは Minecraft だけでなく、あらゆるゲームサーバーに適用されます。このガイドが行うのは、特定のポートにトラフィックをプロキシすることだけです。Minecraftのポート25565を、ゲームサーバーが動作しているポートに変更すればよいのです。
Minecraft サーバーをホストし、インターネットに公開すると仮定すると、サーバーを運営するのは難しくありません。インストールも簡単で、使用する処理スレッドも1つだけ、さらに大幅に変更したサーバーでも、オンラインプレーヤーが数人しかいない場合は2~3GB以上のRAMを必要としません。サーバーをホストするために誰かにお金を払わなくても、古いラップトップや、デスクトップ上のバックグラウンドで簡単にサーバーを動かすことができます。
しかし、そこに接続してもらうためには、自分のIPアドレスを教える必要があります。これには、いくつかの問題があります。特に、ルーターにデフォルトの管理者パスワードが残っている場合は、セキュリティ上の大きなリスクとなります。また、分散型サービス拒否(DDOS)攻撃にもさらされ、Minecraft サーバーが停止するだけでなく、攻撃が収まるまでインターネットが遮断される可能性もあります。
ルーターに直接接続することを許可する必要はありません。その代わりに、Amazon Web Services、Google Cloud Platform、Microsoft Azureのいずれからも、小さなLinuxボックスを借りることができます(いずれも無料ティアがあります)。このサーバーは Minecraft サーバーをホストするほどの性能は必要なく、接続を転送してくれるだけです。これにより、自分のIPアドレスではなく、プロキシサーバーのIPアドレスを提供することができます。
誰かがあなたのサーバーに接続したいので、AWS プロキシの IP アドレスを Minecraft クライアントに入力したとします。パケットはポート 25565 (Minecraft のデフォルトポート) でプロキシに送信されます。プロキシはポート25565のトラフィックにマッチするように設定され、自宅のルーターに転送されます。これは裏側で起きていることで、連絡した本人も知らないことです。
その際、ルーターがポートフォワーディングを行い、実際のパソコンに接続できるようにする必要があります。お客様のコンピュータはサーバーを実行し、クライアントからのパケットに応答します。プロキシサーバーはパケットを書き換えて、プロキシサーバーが応答しているように見せかけるのです。クライアントは何が起こっているのかわからず、ただプロキシがサーバーを動かしているシステムだと思い込んでいるのです。
自宅のルーターがパソコンを守るように、サーバーの前にもう一台ルーターを追加するようなものです。しかし、この新しいルーターはamazon web service上で動作し、すべてのAWSサービス(AWS-Shieldと呼ばれる)でトランスポート層の完全なDDOS緩和を無料で受けることができます。攻撃を検知した場合、サーバーに影響を与えることなく、自動的に攻撃を緩和することができます。何らかの理由で止まらない場合は、いつでもインスタンスを停止して、家への接続を切ることができます。
プロキシを扱うには、sslhというユーティリティを使用します。SSH (通常はポート22) と HTTPS (ポート443) を同じポートで動作させたい場合、問題が発生します。sslh が前面に出て、ポートを目的のアプリケーションにリダイレクトすることで、問題を解決します。しかし、ルーターと同じようにトランスポート層で実装されています。つまり、Minecraftのトラフィックをマッチングして、お客様のホームサーバーに転送することができるのです。デフォルトでは、sslhはnon-transparentです。つまり、パケットを書き換えて自宅のIPアドレスを隠します。このため、Wiresharkのようなもので誰もそれを嗅ぎつけることはできません。
まず、すでにプロキシサーバーを設定していますが、これはLinuxの経験があれば確かに簡単ですが、必要ではありません。
Amazon Web Servicesにアクセスし、アカウントを作成する。デビットカードやクレジットカードの情報が必要ですが、これは重複してアカウントを作成されるのを防ぐためで、作成されたインスタンスには料金はかかりません。無料期間は1年なので、使い切ったら必ず電源を切ってください。Google Cloud Platformには、希望すれば無料のf1マイクロインスタンスが用意されています。また、Googleは年間300ドルのクレジットを提供しており、それを使ってきちんとしたクラウドサーバーを運営することができます。
AWSは帯域幅に課金されます。1GBは無料で利用できますが、1GBを超えるごとに0.09ドルの税金を支払います。現実的には考えないかもしれませんが、請求書に20セントの請求があったら、気をつけたいものです。
アカウント作成後、AWSの仮想サーバープラットフォームである「EC2」を検索し、AWSが新しいアカウントでEC2を有効にするのを待つ必要がある場合があります。
Instances」タブから「Start Instance」を選択し、スタートアップウィザードを起動します。
OSはデフォルトの「amazonlinux2ami」または「ubuntuserver18.04lts」を選択することができます。Nextをクリックすると、インスタンスタイプを選択する画面が表示されます。Free Tierのインスタンスであるt2.microを選択します。このインスタンスは、AWSの無料ティアで24時間365日稼働させることができます。
次のページで「起動」を選択すると、次のようなダイアログボックスが表示されます。新しいキーペアを作成する」をクリックし、「キーペアをダウンロードする」をクリックします。これはインスタンスのアクセスキーになりますので、なくさないように、ドキュメントフォルダに大切に保管しておいてください。ダウンロードしたら、"Launch Instance "をクリックします。
インスタンス]ページに戻ります。インスタンスのIPv4パブリックIP(サーバーのアドレス)を調べます。アドレスを探すためにこのページに戻り続けるのが面倒な場合は、AWSのエラスティックIP(リブート処理中に変更されない)、あるいは無料のドメインドット.tkを設定することも可能です。
アドレスを保存しておくと便利です。まず、インスタンスのファイアウォールを編集して、25565番ポートを開放します。 "Security Groups "タブから、インスタンスが使用しているグループ(おそらく launch-wizard-1 )を選択し、"Edit "をクリックします。
新しいカスタムTCPルールを追加し、ポート範囲を25565に設定します。ソースは「Anywhere」または「0.0.0.0/0」に設定します。
変更を保存し、ファイアウォールを更新します。
これからサーバーにSSH接続してプロキシを設定します。macOS/Linuxをお使いの方は、ターミナルを開いてみてください。Windowsの場合は、PuTTYなどのSSHクライアントを使用するか、Linux用のWindowsサブシステムをインストールする必要があります。後者の方がより一貫性があるのでお勧めです。
まず、キーファイルがあるドキュメントフォルダにcdディスクを焼いてください。
cd ~/Documents/Windows Subsystem for Linuxをお使いの場合、Cドライブは/mnt/C/にありますので、ドキュメントフォルダ:にcdを焼く必要があります。
cd /mnt/c/Users/username/Documents/iフラグを使用して、SSHに鍵ファイルを使用して接続することを伝えます。ファイルは.pem拡張子を持っているので、以下を含む必要があります。
ssh -i keyfile.pem [email protected]0.0.0.0」をご自分のIPアドレスに置き換えてください。AWS Linuxではなく、Ubuntu Serverをご利用の場合は、ユーザー "Ubuntu" で接続してください。
アクセス権が与えられ、コマンドプロンプトがサーバープロンプトに変更されるのが確認できるはずです。
AWS-Linuxではyum、Ubuntuではapt-getでインストールできます。
sudo yum install epel-release sudo yum install sslhインストール後、設定ファイルをnanoで開き
nano /etc/default/sslhRUN=パラメータを "yes "に変更する。
デーモンの最終行の下に、次のように入力します。
DAEMON_OPTS="--user sslh --listen 0.0.0.0:25565 --anyprot your_ip_address:25565 --pidfile /var/run/sslh/sslh.pidあなたのIPアドレス」を「あなたの家のIPアドレス」に置き換えてください。自分のIPがわからない場合は、「IPアドレスとは」で検索してください。" をGoogleで検索すると、はい、マジです。
この設定は、sslh プロキシがポート 25565 ですべてのネットワークデバイスをリッスンするようにします。Minecraft クライアントが別のポート番号を使用している場合、または別のゲームをプレイしている場合は、別のポート番号に置き換えてください。通常、sslhを使用すると、異なるプロトコルをマッチングして、異なる場所にルーティングすることができます。しかし、今回の目的では、可能な限りのトラフィックをマッチングして、あなたの \u ip_address: 25565 に転送したいだけです。
Control+X、Yの順に押してファイルを保存します。以下を入力して、sslhを有効にします。
sudo systemctl enable sslh sudo systemctl start sslhsystemctl がシステムで利用できない場合、代わりに service コマンドを使用する必要があります。
sslhが実行されているはずです。ご自宅のルーターがポートフォワーディングを行い、25565のトラフィックをコンピューターに送信していることを確認してください。コンピュータに固定IPアドレスを与えて、変更されないようにするとよいでしょう。
ユーザーがサーバーにアクセスできるかどうかを確認するには、オンラインステータスチェッカーにプロキシのIPアドレスを入力してください。また、プロキシのIPをMinecraftクライアントに入力して参加することもできます。うまくいかない場合は、インスタンスのセキュリティグループのポートが開いていることを確認してください。