この1週間、VPSから専用マシンへのGREトンネルを利用して、DOS攻撃からサーバーを保護しようとしてきましたが、あまり成功しませんでした。
ビジュアル:
User --> VPS --> Dedicated Server
私はいくつかのガイドに従いました [〜#〜] buyvm [〜#〜] および Minecraft DDOS Protection そして必要に応じてそれを修正しました。
ip_gre
ip_nat_pptp
ip_conntrack_pptp
さらに、ipv4ポート転送が両方のマシンで有効になっています。
ip tunnel add veridian mode gre remote VPS_EXTERN_IP local DEDICATED_EXTERN_IP ttl 255
ip link set veridian up
ip addr add 10.10.10.1/24 dev veridian
これにより、インターフェイスが生成されます。
veridian Link encap:UNSPEC HWaddr 3F-8D-F2-FA-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.10.10.1 P-t-P:10.10.10.1 Mask:255.255.255.0
inet6 addr: fe80::200:5efe:3f8d:f2fa/64 Scope:Link
UP POINTOPOINT RUNNING NOARP MTU:1476 Metric:1
RX packets:4016 errors:0 dropped:0 overruns:0 frame:0
TX packets:3970 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:338404 (338.4 KB) TX bytes:359357 (359.3 KB)
ip tunnel add gre1 mode gre remote DEDICATED_EXTERN_IP local VPS_EXTERN_IP ttl 255
ip link set gre1 up
ip addr add 10.10.10.2/24 dev gre1
これにより、インターフェイスが生成されます。
gre1 Link encap:UNSPEC HWaddr 68-83-98-C8-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.10.10.2 P-t-P:10.10.10.2 Mask:255.255.255.0
inet6 addr: fe80::200:5efe:6883:98c8/64 Scope:Link
UP POINTOPOINT RUNNING NOARP MTU:1476 Metric:1
RX packets:3743 errors:0 dropped:0 overruns:0 frame:0
TX packets:3811 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:314188 (314.1 KB) TX bytes:335587 (335.5 KB)
echo '100 VERIDIAN' >> /etc/iproute2/rt_tables
ip rule add from 10.10.10.0/24 table VERIDIAN
ip route add default via 10.10.10.2 table VERIDIAN
ここから、VPSから専用サーバーに正常にpingを実行できます
ping 10.10.10.1
およびその逆
ping 10.10.10.2
さらに、VPSでNATエントリを設定すると、
iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -j SNAT --to-source VPS_EXTERN_IP
次のコマンドを実行して、専用サーバーからVPSの外部IPを正常に取得できます。
curl http://www.cpanel.net/showip.cgi --interface 10.10.10.1
私が今実行しているVPSで:
iptables -t nat -A PREROUTING -p tcp -d VPS_EXTERN_IP --dport 25565 -j DNAT --to-destination 10.10.10.1:25565
iptables -A FORWARD -p tcp -d 10.10.10.1 --dport 25565 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
VPSの外部IPアドレスを介してゲームサーバーに接続しようとしましたが、成功しませんでした。
私はこれと一週間以上戦ってきました。どんな助けでも大歓迎です。
上記のすべてが正しいです。
もう少しデバッグすると、ゲームインスタンスに外部IPが設定されている場合、ゲームサーバーのラッパーデーモン(Multicraft)がローカルホスト接続をブロックすることがわかりました。
解決策は、IPを0.0.0.0に設定することであり、ポート転送は完全に機能します。
表示されているドキュメントには記載されていないため、IP転送を有効にするのを忘れたと想定します。
次のコマンドを実行して、これが実際に当てはまることを確認します。
sysctl net.ipv4.ip_forward
IP転送が実際に無効になっている場合は、次のように表示されます。
net.ipv4.ip_forward = 0
これが問題である場合は、次を実行します。
sysctl -w net.ipv4.ip_forward=1
おそらくあなたの問題は、ポートが開いていないか、ファイアウォールがポートをブロックしていることです。
nmapを使用して、VPSから専用マシンにこれを簡単にテストできます。
nmap -A 10.10.10.2/24 -p 25565
クライアントマシンから外部からアクセス可能なマシンへも同じ方法で行いますが、10.10.10.2
をVPS外部アドレスに置き換えます。