Merge pull request #274 from MrXiaoM/patch-1

添加 网络层攻击防御 反向代理
This commit is contained in:
lilingfengdev 2024-09-22 11:11:26 +08:00 committed by GitHub
commit cdc4aea1b8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -221,3 +221,25 @@ connection_throttle_limit: 3
如果你使用的是腾讯云之类的大厂 VPS ,永远不要尝试硬扛 DDOS ,服务器受攻击流量超过其机房黑洞阈值时,VPS 会屏蔽服务器的外网访问,直接断网并且恢复时间未知。
:::
#### 反向代理
IPv4 地址的数量是极其有限的, 不管是租赁还是托管, 服务商通常不会允许你频繁更换 IP 地址(或者得加钱)。
正如前一个方法所言, 攻击者需要服务器的 IP 地址才能攻击。但如果我们可以把服务器的地址藏起来呢?
额外租赁一些低价的云服务器做反向代理, 所有需要访问源服务器的玩家, 都需要通过反向代理才可访问。这会提升一定的延迟, 但总比被攻击时进不去服务器要强吧?
依此, 我们定义源服务器为「源站」, 用于反向代理的低价服务器为「节点」。
这些「节点」由此变为「源站」的挡箭牌, 替服务器阻挡攻击流量, 只要攻击者没有找到源站的IP, 你的服务器就是相对安全的。
作为替代,你的节点会承受攻击, 达到阈值依然会导致玩家无法进服, 此方法仅可让你在攻击下可快速恢复访问, 而无需等待黑洞封禁时间结束。
使用这个方法,需要你能找到满足以下特点的云服务器来作为节点, 条件可能较为苛刻, 没有高防服务器那么烧钱但价格也不太便宜。
+ 在中国大陆境内 (尤为重要,除非你想玩家延迟 `200ms+`)
+ 稳定
+ 相对便宜
+ 带宽相对较高
可用于制作反向代理的软件有 `hopper-rs`、`nginx`、`haproxy` 等等, 配置正确的情况下, 反向代理会进行 IP 地址转发, 不会导致服务器显示的玩家 IP 全部为同一个 IP 地址。
有条件最好自行制作一个快捷安装脚本, 以便在节点因攻击被断网时, 可快速地再租一台节点服务器部署反向代理。