这是一份晚了三天的公告.

        近段时间的晚上21:30至24:00之间,频繁有用户反应掉线,有时是整团的掉线.或是大卡或是抽风.技术部门当时以最快的速度查了服务器的流量,负载,中台链路的延迟和丢包率.结果一切正常.直到6月5日晚上的10点,香港节点被ntt以流量不正常为由直接关掉.后来建立了全套的监控系统.才知道具体是怎么回事.见图1.


    当时马上回复告之流量是很大,不过全是正常的流量.请不要随便封我们的ip.ntt回复说pps(packet per second,即每秒的数据包)太高,会对核心网络造成很大的影响.所以才封的.见图2


    后来就直接用电话沟通.通话录音这里不再放了,在ntt的建议下,我们对所有服务器建立了pps监控图.原来我们的某电信节点也经常出现流量突然就断掉的情况,如图3:


    但问了CT(china telecom,中国电信)机房,机房说一切正常.也测试了从台湾节点到出事故的路由和ping,结果除了到此ip不通外,其相邻ip全正常,反之从ct节点测试到台湾也一样.竟查不出原因来.只能判断是中台之间这个环节出的问题.后来才知道是因为受到pps攻击,上层防火墙把流量完全封了.

        监控的结果证明国际运营商ntt的noc(Network operations center)绝对不是吃素的.下面放两张图,一张是受攻击时的流量图和pps图,另外一张是未受攻击时的流量图和pps图.安全起见,节点名称依然加黑.受攻击进的流量和pps图,如图4:


        这里做下解释,我们的服务器全是中转服务器,举例说吧,玩家1m的流量进来,就会通过服务器中转一下出去1m到wow服务器,所以进和出的流量是一样的,大家看到绿色的部分是in的流量,而与绿色同高的蓝线则是out的流量.上面一张图是流量图,下面黄色的图则是pps图.在上图中是从22:00开始受攻击,攻击的流量是对服务器而言是in,因为这部分不正常的流量是不会转发给wow服务器的,所以只有in,没有out.但是攻击的流量非常小,只有1-5M/s这样,如果服务器的流量很大,则基本不明显,如上图,但下面的pps图则非常明显,进来的数据包非常多,因为是非正常的流量,全都没有转发出去.只有in,没有out.造成的影响只有和图5--正常的图对比下才知道了,如图5:


        红线是我们加上的,是受攻击开始的时间.攻击造成的影响是显而易见的.流量下降至少一半以上,反应到玩家那里就是整团的掉线的不断的抽风了.

        长时间的监控显示是攻击隔一天来一次,而且正好是流量最高的21:30分或是22:00开始,到24:00结束,所有CT节点全受攻击(除了佛山节点以外),联通节点暂时ok,不过联通用户只占全部用户的不到15%.

        当时考虑这么小流量的攻击,只有不到10m,linux服务器应该能抗得住,但事与愿违.发得包太多太快了,而且全是最占路由器/服务器资源的小包,不过既然dell R210抗不住,那中关村组装的服务器更是不用说了.下载数据,这是受攻击时上海节点47秒的数据,是用tcpdump -nn -i eth0 -p tcp 导出的,我们服务器的端口是443,也就是说访问61.172.249.3.443的流量是正常的,而所有访问61.172.249.3.119(端口)的流量则是攻击流量,部分数据如下:

     

    23:42:17.898993 IP 30.125.244.87.54050 > 61.172.249.3.119: . ack 109987141 win 512

    23:42:17.899032 IP 12.231.80.54.39800 > 61.172.249.3.119: . ack 2010454991 win 512

    23:42:17.899070 IP 166.144.247.39.48064 > 61.172.249.3.119: . ack 1039988607 win 512

    23:42:17.899109 IP 53.189.94.219.39847 > 61.172.249.3.119: . ack 3722904 win 512

    23:42:17.899166 IP 97.180.248.58.39849 > 61.172.249.3.119: . ack 52050075 win 512

    23:42:17.899191 IP 110.187.1.113.54135 > 61.172.249.3.119: . ack 1733972071 win 512

    23:42:17.899230 IP 6.73.253.43.39852 > 61.172.249.3.119: . ack 2098226675 win 512

    23:42:17.899269 IP 153.197.87.47.39854 > 61.172.249.3.119: . ack 1313768062 win 512

    23:42:17.899306 IP 110.171.143.36.54142 > 61.172.249.3.119: . ack 1576006839 win 512

    23:42:17.899345 IP 116.121.124.166.54081 > 61.172.249.3.119: . ack 2068164221 win 512

    23:42:17.899384 IP 59.166.174.60.46861 > 61.172.249.3.119: . ack 1774027498 win 512

    23:42:17.899422 IP 200.186.87.225.39875 > 61.172.249.3.119: . ack 367218124 win 512

    23:42:17.899494 IP 211.71.11.221.39859 > 61.172.249.3.119: . ack 1395021840 win 512

    23:42:17.899510 IP 200.242.160.220.39857 > 61.172.249.3.119: . ack 635361130 win 512

     

        win是窗口的缩写,跟数据包的大小有直接关系.全是最小的512.而正常的包则是大小不一的:

     

    23:41:54.553662 IP 61.172.249.3.443 > 222.66.132.96.50324: P 596:710(114) ack 1 win 13936

    23:41:54.553932 IP 60.166.172.100.18915 > 61.172.249.3.443: . ack 404407036 win 64772

    23:41:54.554131 IP 218.79.194.169.32336 > 61.172.249.3.443: . ack 4063779514 win 64436

    23:41:54.554141 IP 222.94.237.235.15045 > 61.172.249.3.443: . ack 955109700 win 65494

    23:41:54.554156 IP 61.172.249.3.443 > 222.94.237.235.15045: P 1:569(568) ack 0 win 11712

    23:41:54.554215 IP 61.172.249.3.443 > 58.35.243.224.33851: . 660:2100(1440) ack 0 win 9648

    23:41:54.554344 IP 60.185.35.74.36184 > 61.172.249.3.443: . ack 2184234897 win 65305

    23:41:54.554361 IP 61.172.249.3.443 > 60.185.35.74.36184: P 1:1172(1171) ack 0 win 12600

    23:41:54.554377 IP 222.244.238.40.50571 > 61.172.249.3.443: P 42:56(14) ack 480 win 63933

    23:41:54.554396 IP 61.172.249.3.443 > 222.244.238.40.50571: P 480:809(329) ack 56 win 19296

    23:41:54.554430 IP 61.172.249.3.443 > 114.92.194.206.52077: P 1:72(71) ack 58 win 65535

    23:41:54.554546 IP 61.172.249.3.443 > 222.65.10.217.3803: P 3358443964:3358444000(36) ack 4138897003 win 65535

    23:41:54.554864 IP 61.172.249.3.443 > 116.224.116.149.23072: . 2107299071:2107300511(1440) ack 2211653222 win 30016

    23:41:54.555031 IP 61.172.249.3.443 > 122.235.249.180.17051: P 1:16(15) ack 44 win 7504

        具体数据是在抓取的47秒钟内正常的数据包共262146个,折合每秒5578个包,攻击数据包共257174个,折合每秒5471个.从pps角度来讲攻击流量和正常流量基本1:1,而从网络流量角度上讲则不成比率,攻击流量仅有1-5m/s,从流量图基本看不出来.

        pps攻击真是一种非常好的攻击方法,即不用大带宽,效果又明显,最好的效果是运营商监控到pps不正常后直接断网,如香港节点和图3的ct节点,最差的效果也是流量减半.

        对于攻击源的判断如下:

        1.在互联网上,至少我个人是没有看到过任何运营商的流量图,为什么不是白天攻击,为什么攻击的时间精确到流量最高的21:00-24:00,除了我们还有谁会有如此精确数据.好吧,是同行.

        2.具体是哪一家:所有节点受攻击时唯有一个CT节点未受攻击.佛山节点。

        因为中国排名前三的运营商的广东节点全在这里,我们刚刚好排第三.上面说过,pps攻击会对整个核心网络造成很大的影响,这种攻击也会误伤到自己的.还记得清楚年初我们香港节点第一次受到攻击时,当时国内排名第二的运营商中也和我们在同一个机房.好吧.加减法是很好算的.多说无益.

        这么长时间,我们在做些什么.如同pps攻击一样,lonlife是一个非常高效的team.他们不喜欢做无用功,或是低效率的事情.包括pps,如刚才所描述的:它只有一定几率能使流量中断,这要取决运营商的监控系统.更大的几率仅仅是流量减半.这不太符合我们的风格.所以planA是:

        1.下个月将网游专用线路接好以后将所有流量引至网游专用线路.不再使用中台的internet出口,这样就给竞争对手腾出来了近一条622来用.

        2.引流量完成后,整个中台ct的带宽也就3根622+几根155,2g流量就够了.不对,两台服务器一台300多m,又新加了一台,那三台服务器,就算有1g的流量,那样可能1g的流量就够了,你懂的.

        3.效果是至少造成完全中断服务半小时以上.于周四开始.周五一天的效率不会那么高,至少ip是换不了的,周五继续.

        4.周六周日twgate放假,核心网管在休息,值班网管能力有限(这是亲身体会),换ip也需要行政和销售和配合,销售也放假.

        5.周一会换一组ip.但估计会很奇怪,为什么换了ip还是不行.

        6.twgate会开会研究要不要为了一个客户影响所有用户.

        7.台湾的网警很敬业,但他们管不到大陆.国内亦之.

        到时候,真的很想知道像ocean一样宽广的brain能不能即时找到第二个出口来.或是需要多久.所以一个月之内,就尽情的乐吧.

        不过周五(6月18日)的时候收到一个坏消息,网游专用线路因为某些不能说的原因接不了了 = =.唉planA就这样废掉了.

        无奈只能一起玩pps了,虽然是那么的不给力.昨天(6月18日)全天都在跟工程师讨论防火墙的方案,又向Juniper官方咨询方案是否可行,也向各经销商询了价格,周一采购,最快要周二才能部署上线了.不打无准备之仗.等各节点的硬墙都部署到位,大家一起玩pps.

    "点滴之恩,涌泉想报"或是说"礼尚往来"都是中华民族的传统美德.目前我们只是收礼,近20天的pps攻击我们照单全收.也一定悉数奉还,敬请笑纳.

        不打得满脸桃花开,是不会知道花儿为什么那样红.

        god be with you.

        update: 17:00

        部分客户要求的效果不好应该补偿这件事.希望大家明白天灾与人祸的区别:地震时海缆断了,这叫天灾,中华电信不会因为这个补偿我们.我们也不会因为这个补偿玩家.因为技术人员的失误造成大家上不了线,或是连接中断,这是人祸.这种情况一定补偿.受攻击是第二种人祸.非常抱歉,受攻击影响,我们的营业额下降已经很严重.也有很多用户要求退款.退款比率较正常上升很多.但是这不是我们的错.也不会因此补偿大家.希望可以理解.对于受攻击期间效果不好这个我们知道.我们会在下周给所有节点上防火墙.也接受因此事大家对效果感觉不满意的退款申请.但不会因此补偿时间.