自架低价防DDoS攻击系统方法有哪些?
自架低价防DDoS系统有两种诠释方法:
1、只确保游戏服务器的网络(家中网络)不受到攻击;
2、确保游戏服务器的可用性。
由于此两种方法以十分有限的预算建议保护游戏服务器,事先声明:
·此方法不防止TCP/应用层攻击。
·此方法不保证游戏服务器的可用性。
·此方法从未被本文作者验证或实行过。
·此方法必然会增加对游戏服务器的连线延迟。
·此方法要钱。
·使用者需有相当的程式编写技术和Linux服务器管理技术。
·此方法有未知的风险,如受到DDoS太频繁有机会令服务器供停止向你服务。
方法一
此方法实行起来相对上比较简单,花费亦比较低。此方法是以防护服务器来保护游戏服务器,当防护服务器受到攻击,可能会有以下三种情况:
·防护服务器自动被Blackhole或null route一段时间,如几小时。当所有防护服务器被Blackhole其间,游戏服务器将不可用。
·防护服务器没有明显受到影响,或网络效能稍为下降。
·防护服务器流量过大,需另外付钱。
需另外付钱的情况一般不会发生。无论如何,你的游戏服务器不会直接受到攻击,避免家中网络瘫痪或游戏服务器供应商停止向你服务。
相信一般自架游戏服务器的玩家不会有进行BGP广播的能力,修改DNS记录又费时,因此,所有流量应先经过保护服务器,再到达游戏服务器。
Linux核心内置GRE模组和iptables,使用者可透过相关模组建立连接游戏服务器(下称G)和保护服务器(下称A, B, C...)的GRE Tunnel。这是设定GRE Tunnel的教学。
G与A, B, C成功连接后,需设定DNS A记录。假设:
·你的域名是domain.tld
·A的IP是A.A.A.A
·B的IP是B.B.B.B
·C的IP是C.C.C.C
请于DNS新增n个关于gre.domain.tld的A记录,例如,
gre.domain.tld. 300 IN A A.A.A.A
gre.domain.tld. 300 IN A B.B.B.B
gre.domain.tld. 300 IN A C.C.C.C
这是在实作Round-robin DNS技术,假设玩家要取得gre.domain.tld的IP,玩家的电脑会随意从A, B, C服务器的IP中选择一个。当服务器A不可用时,玩家重新整理便可连接到B或C服务器。
方法二
方法二建基在方法一之上,并使用监察服务器(M)则会监察所有防护服务器的可用性,当防护服务器受攻击或其他塬因导致不可用时,监察服务器会以程式自动新增防护服务器,并更新DNS记录,希望尽量减少攻击对游戏服务器可用性的影响。
监察服务器和游戏服务器可以是同一部服务器。
比起方法一,方法二新增了以下先决条件:
·使用者需以程式即时监察所有服务器网络状况。
·使用者需在防护服务器不可用时以程式和相关API即时增减防护服务器。
·使用者需以程式和相关API更新DNS记录。
主要逻辑如下:
1、M被动监察A, B, C,A, B, C每隔一段时间自动向M报平安。
2、若A, B, C其中一台服务器(如B)太久未向M报平安的话,M将认定B为不可用。
3、M向服务器供应商请求删除B,并向服务器供应商要求一部新的服务器D,取得D的IP D.D.D.D,并使G与D立即建立新的GRE Tunnel。
4、M更新DNS记录,把B的A记录删除,新增D的A记录。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
评论