我有一台托管游戏服务器的专用服务器,并且容易受到 DDoS 攻击。我想获得一台受 DDoS 保护的 VPS 来充当 UDP 的反向代理。专用服务器的 IP 地址是 7.7.7.7,VPS 的 IP 地址是 9.9.9.9。
整个想法是隐藏 7.7.7.7 地址,这样当连接到我的游戏服务器时,公众就看不到它了。当玩家连接时,他们应该向 9.9.9.9 发送数据包并从 9.9.9.9 接收数据包。如果 7.7.7.7 可见,黑客可以直接攻击它并绕过我的反向代理。我不想“路由”UDP 数据包。我不在乎所有玩家是否都来自同一个 IP 地址。
有什么方法可以在 Linux 上实现这个功能吗?如果可以,用什么命令?
答案1
我使用以下规则组合来代理端口 27015:
iptables -t nat -A PREROUTING -p udp --dport 27015 -j DNAT --to-destination 7.7.7.7:27015
iptables -t nat -A POSTROUTING -j MASQUERADE
最初,我以为 7.7.7.7 地址没有被隐藏。但我使用 Wireshark 确认代理工作正常。