Edit post
subject
Title
edit
# 背景 是咁的,香港有個比較出名既鐵路向Minecraft server叫[Project Nazca (PNS)](https://www.facebook.com/groups/projn/?fref=ts) , 樹大招風,最近呢個禮拜狂被人DDoS。 作為過來人,我前兩日出手嘗試幫下佢地。 # 關於DDoS攻擊 針對Minecraft server既DDoS攻擊黎黎去去都係L3/L4攻擊,絕少係L7 (除非舊版Minecraft),因為可以用防火牆block到。L3/L4攻擊之中,UDP Flood (NTP/DNS等 Amplication) 最常被用都最係實用。 要避免直接受到UDP攻擊,需要技術;而要減低攻擊影響,需要大量的金錢(頻寬)。 # 難題 PNS行Minecraft server既OS係Windows,叫人無啦啦裝Linux(好多方面)應該難過登天。佢地亦要知玩家IP,唔可以全部`127.0.0.1`。GRE + CF WST大法因此直接收皮,唔可以係佢地Server行到。 # 解決方法 BungeeCord係一個Minecraft server既proxy/多伺服管理程式,配合埋Spigot用,可以做到IP forwarding (差唔多等同L7 transparent proxy)。因此,我既propose係有兩條路: 用GRE Tunnel既: `玩家 <-> GRE Server <-> BungeeCord Server <-> PNS` 同埋用CloudFlare + Websocket + WSTunnel做後備既`玩家 (WSTClient) <-> CloudFlare <-> BungeeCord Server <-> PNS` 當中GRE Server同BungeeCord Server都係我黎提供,全部Server都係香港Server,咁既話可以做到: - 隱藏IP (教埋佢地點set CloudFlare DNS同轉IP) - 防DDoS (攻擊者唔會搵到PNS IP,亦唔會搵到BungeeCord Server IP) - 保持低Ping - 睇到玩家IP - 就算攻擊者惡到ko晒所有GRE Server,玩家仲有後路入Ser玩 # 奶野 BungeeCord要求Minecraft server熄online mode,但PNS admin話佢地之前試過熄過online mode一次,玩家物品唔見晒 (我諗係UUID搞事)。 ### 收皮 垃圾Windows唔support呢樣(GRE)唔support果樣(`IP_TRANSPARENT`),令成個計劃失敗。 要到PNS肯將成個Minecraft server搬落VM Linux or baremetal Linux先得。當然BSD既話我都可以睇下點搞。 將玩家連線倒落Linux VM,Minecraft server同VM一齊玩SNAT DNAT,令server可以睇返玩家IP,唔知得唔得呢?我冇咁得閒研究啦。 # Extra read - https://blog.wtako.net/view/24/ - See recommendations below
Content
vpn_key
Password
Preview
Powered by
Simple Blog