2026.07.03広告・PRを含む記事です
自宅サーバーのDDoS対策|自宅IPを隠してマイクラを公開する方法
- 友達に配ったサーバーが急に重くなったり、頻繁に落ちたりして、DDoS攻撃を疑っている
- まだ公開していないが、自宅のIPアドレスが外部に見えるのが怖くて公開に踏み切れない
- レンタルサーバーに引っ越すほどの規模でも予算でもないが、自宅IPを直接晒すのも避けたい
サーバーが重くなるたびにDDoSを疑いながら、対策の仕方が分からず様子見している人は多いです。
mcsrv24.comでは、自宅サーバー運営者からの相談をもとに、VPSで自宅IPを隠す構成を整理しています。
DDoS攻撃は、自宅回線側の設定だけでは止め切れません。
自宅のグローバルIPが攻撃者に知られている限り、次の攻撃も同じIPへ届くためです。
だからこそ発想を変え、自宅IPそのものを外部から見えなくする構成に切り替えます。
- VPSを踏み台にしたiptables中継構成
- Cloudflare SpectrumでJava版をさらに隠す方法
- HAProxyで複数VPSに接続を振り分ける方法
手順通りに設定すれば、自宅の回線やIPアドレスを表に出さずにマイクラサーバーを公開できます。
友達を招待しながらも、自宅ネットワークを攻撃の的にしない安心感を持って運用できます。
自宅サーバーのDDoS対策は攻撃を防ぐより自宅IPを隠すことが基本方針
家庭用回線とルーターの防御力では、大量の通信を送りつけるDDoS攻撃を正面から受け止め切れません。
DDoS攻撃とは、複数の経路から大量の通信を同時に送りつけ、回線やサーバーを機能停止に追い込む攻撃です。
止める手段がない以上、攻撃を受け止める発想ではなく、VPSやCloudflareのような保護サービスを自宅と外部の間に挟む発想に切り替えます。
対処法と言える対処法がないのがDDoSなので、自宅IPを隠す工夫のほうが現実的です。
自宅サーバーの公開方法自体は、ポート開放以外にもいくつか選択肢があります。
VPS中継以外の公開方法まで比較したい場合は、自宅サーバーの公開方法を比較する記事で整理しています。
この記事では、DDoS対策としてVPSで自宅IPを隠す構成に絞って進めます。

Java版とBedrock版でプロトコルが違う点を先に整理する
自宅サーバーのDDoS対策を組む前に、使っている版のプロトコルを確認しておきます。
Java版はTCPの25565番、Bedrock版・Geyserを使ったクロスプレイはUDPの19132番と、プロトコルそのものが異なります。
| 版 | プロトコル | ポート | この後の対策 |
|---|---|---|---|
| Java版 | TCP | 25565番 | VPS中継、Cloudflare Spectrum、HAProxyのすべてが使えます |
| Bedrock版(Geyser経由のクロスプレイ含む) | UDP | 19132番 | VPS中継は使えますが、Cloudflare SpectrumとHAProxy(OSS版)は使えません |
この版とプロトコルの違いが、このあとに紹介するCloudflare SpectrumやHAProxyの対応範囲を決めます。

VPSを中継させてiptablesで自宅IPを隠す構成を作る
自宅サーバーの手前にVPSを立て、外部からの接続をすべてVPSで受け止めてから自宅サーバーへ転送すれば、自宅IPを直接晒さずに公開できます。
クラウド上のVPSでパケットを中継する構成なら、Linux標準のiptablesで組むのが扱いやすい選択です。
作業は次の3つに分かれます。
- VPS側でパケット転送を有効にする
- iptablesでDNATとSNATの転送ルールを書く
- 自宅側のファイアウォールでVPSからの通信だけ許可する
この3つが揃って初めて、外部から見えるIPがVPSのものだけになり、自宅IPが隠れます。
VPS側でパケット転送を有効にする
VPSでパケット転送を有効にしないと、iptablesのルールを書いても通信が自宅サーバーまで届きません。
まず、コマンドで一時的に有効化します。
sudo sysctl -w net.ipv4.ip_forward=1続けて、再起動後も設定を残すために/etc/sysctl.confへ恒久設定を追記します。
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.confsudo sysctl -psysctl -wによる一時有効化だけだと、VPSを再起動した時点でパケット転送が無効に戻ります。
iptablesでDNATとSNATの転送ルールを書く
Java版のTCP25565番を例に、最小構成の転送ルールを書きます。
まず、VPSに届いた通信の宛先を自宅サーバーへ書き換えるDNATルールをPREROUTINGに追加します。
sudo iptables -t nat -A PREROUTING -p tcp --dport 25565 -j DNAT --to-destination [自宅のグローバルIP]:25565続けて、戻りの通信の送信元をVPS自身のIPへ書き換えるルールをPOSTROUTINGに追加します。
自宅側のグローバルIPが固定なら、SNATを使います。
sudo iptables -t nat -A POSTROUTING -p tcp -d [自宅のグローバルIP] --dport 25565 -j SNAT --to-source [VPSのグローバルIP]自宅側のグローバルIPが動的で頻繁に変わる場合は、SNATの代わりにMASQUERADEを使います。
sudo iptables -t nat -A POSTROUTING -p tcp -d [自宅のグローバルIP] --dport 25565 -j MASQUERADEMASQUERADEはVPS側の送信元IPをそのつど自動で判定します。
固定IPを指定するSNATと違い、自宅回線のIPが変わっても設定を書き直さずに済みます。
自宅側のファイアウォールでVPSからの通信だけ許可する
自宅ルーターまたはOSのファイアウォールで、送信元IPをVPSの固定IPだけに絞り込みます。
VPS以外のIPから25565番宛てに届く通信は、すべて拒否する設定にします。
これをやらないと中継の意味がなくなり、自宅IPへ直接攻撃されるリスクがそのまま残ります。
Cloudflare SpectrumでJava版の接続をさらに隠す
VPS中継に加えて、Cloudflare Spectrumを使うとJava版の接続をさらに一段階隠せます。
Cloudflare SpectrumはJava版をサポートしていますが、Bedrock版はサポートしていません。
VPS中継の手前にCloudflare Spectrumを挟むと、外部からはCloudflareのエッジしか見えなくなり、VPSのIPさえも表に出さずに済みます。
Freeプランでは使えず、Pro、Business、Enterpriseのいずれかのプランが必要です。
運用実態としては、ProプランとBusinessプランはポート25565番に固定され、任意のポート番号を指定できるのはEnterpriseプランに限られる傾向があります。
Bedrock版・GeyserクロスプレイはCloudflare Spectrumだけでは隠せないため、Bedrock側は前段のVPS中継で自宅IPを守る構成のままにします。
HAProxyで複数VPSに接続を振り分ける
人数が増えて1台のVPSでは捌き切れなくなったら、HAProxyで複数のVPSに接続を振り分けます。
leastconnアルゴリズムは、接続数が少ないサーバーへ新しい接続を割り振る方式で、Minecraftのように接続を長く保持するプロトコルに向いています。
UDPを使うBedrock版・GeyserクロスプレイのロードバランシングはHAProxyの無償のOSS版では標準機能としてサポートされていません。
Nginxのproxyはラグが多すぎて、正直使い物になりません。
TCPをそのまま右から左へ流すHAProxyに対し、Nginxのリバースプロキシは通信を一度アプリケーション層で解釈するぶん、Minecraftのような常時接続の通信では遅延が乗りやすくなります。
VPSを2つ借りてLB的に組めば、人数もちゃんと増やせます。
対策手段ごとの対応範囲を比較する
ここまで紹介した4つの対策を、対応範囲で比較します。
| 対策 | Java対応 | Bedrock対応 | UDP対応 | 自宅IP秘匿 | 難易度 |
|---|---|---|---|---|---|
| 直接公開 | ○ | ○ | ○ | × | 低 |
| VPS+iptables中継 | ○ | ○ | ○ | ○ | 中 |
| Cloudflare Spectrum | ○ | × | × | ○ | 中 |
| HAProxy | ○ | × | × | ○(VPS中継と併用) | 高 |
VPS+iptables中継が土台になり、Cloudflare SpectrumとHAProxyはJava版の接続にさらに上乗せする対策という位置づけです。
Bedrock版・GeyserクロスプレイはVPS中継だけで自宅IPを守ります。
結局どの対策を選ぶか|自宅サーバーを公開し続ける現実的な判断
対策を重ねるほど設定の手間も増えるため、友達の人数、対策にかけられる時間、自宅IPが晒される不安のバランスで選びます。

DDoSの不安がなければ、VPSを挟まずポート開放だけで公開するのが一番早い方法です。
環境があるなら結局ポート開放が一番早いです。
自宅IPが晒される不安のほうが大きいなら、この記事のVPS中継から始めます。
それでもVPS中継やCloudflare Spectrumの設定を続けるより、素直に自宅の回線を晒したくないという結論に落ち着くなら、レンタルサーバーへ移すのも現実的な選択です。
自宅サーバーとレンタルサーバーの費用や手間の違いは、自宅サーバーとレンタルサーバーを比較する記事で整理しています。
よくある質問
iptablesの転送ルールはVPSを再起動すると消えますか?
消えます。iptablesで追加したルールはメモリ上の設定のため、再起動後も残したい場合はルールの永続化が必要です。Debian・Ubuntu系ではiptables-persistentパッケージ、その他のディストリビューションではnftables形式での保存など、環境ごとの永続化手段を使います。
中継用のVPSはどのくらいのスペックがあればいいですか?
Minecraftのパケット転送自体はCPUやメモリへの負荷が軽い処理のため、最小構成のVPSでも足りる傾向にあります。複数人が同時接続する場合や、HAProxyで複数台を運用する場合は、実際の接続人数を見ながらスペックを調整します。
まとめ:自宅IPを隠して自宅サーバーを安全に公開する
自宅サーバーのDDoS対策は、攻撃を正面から防ぐことではなく、自宅IPを外部から見えなくすることです。
Java版はVPS+iptables中継を土台に、必要に応じてCloudflare SpectrumやHAProxyを重ねます。
Bedrock版・GeyserクロスプレイはVPS+iptables中継が中心の対策です。
設定の手間が負担に感じるなら、無理に自宅サーバーを維持せず、レンタルサーバーへ移す選択も検討する価値があります。







