# \[小说\]雨云-从出生到上市 5-8章

**URL:** <https://forum.rainyun.com/t/topic/13304>\
**Category:** 综合讨论\
**Created:** [2026 年7 月 20 日 07:09 UTC](https://forum.rainyun.com/t/topic/13304 "2026-07-20T07:09:13Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

作者： ![MGS浪疯](https://forum.rainyun.com/user_avatar/forum.rainyun.com/mgs%E6%B5%AA%E7%96%AF/32/8285_2.png) [@MGS浪疯](https://forum.rainyun.com/u/MGS%E6%B5%AA%E7%96%AF)\
发布日期： [2026 年7 月 20 日 07:09 UTC](https://forum.rainyun.com/t/topic/13304/1 "2026-07-20T07:09:15Z")

</div>

全文仅供娱乐，如有任何不当之处，立马修改/删除  
小说内容仅为虚构，请勿当真  
买云请上雨云，便宜稳定性价比高，专属五折优惠码：mianfei  
或点击：[雨云 - 新一代云服务提供商](https://www.rainyun.com/mianfei_)

快速跳转到对应章节请看第1-2章帖子的开头

> [@\[小说\]雨云-从出生到上市 1-2章](https://forum.rainyun.com/t/topic/13297):
>
> 全文仅供娱乐，如有任何不当之处，立马修改/删除 小说内容仅为虚构，请勿当真 买云请上雨云，便宜稳定性价比高，专属五折优惠码：mianfei 或点击：[雨云 - 新一代云服务提供商](https://www.rainyun.com/mianfei_) 快速跳转： [1-2章](https://forum.rainyun.com/t/topic/13297)[3-4章](https://forum.rainyun.com/t/topic/13302)文科生的服务器 九月末的广州，热得像蒸笼。 广州南方学院的男生宿舍里，林语正蹲在地上拆一个半人高的纸箱。电风扇呼呼地转，吹得他额前的碎发一翘一翘。舍友们都去军训了——大一新生…

# 第5章 连夜大迁移

林语盯着手机屏幕上那条消息，手指悬在键盘上方，停了整整三秒。

“小子，别以为自己跑得快就没事了。我记住你了。”

他深吸一口气，没有回复，直接把这条消息截了图，发给了搬砖狐。

然后他打开微信的通讯录，找到那个刚才搬砖狐推给他的深圳CDN朋友的微信号，发送了好友申请。

对方几乎是秒过。

“您好，我是搬砖狐的朋友，林语。”

“我知道，她说你那边被攻击了？需要临时清洗节点？”

“对，50M带宽，按小时付费。能不能先开两个小时应急？”

“可以，我这边给你一个IP和端口，你把正常流量指过来就行。费用的话，每小时30块，凌晨算半价，15块。”

林语心里算了一下——15块一小时，开一个晚上也就一百多块，能承受。

“好，开吧。”

对方很快发来了一串IP和端口信息。

林语立刻登录服务器，修改了Nginx的配置，把正常的HTTP和HTTPS流量反向代理到那个清洗节点上。

不到五分钟，雨云香港节点的服务恢复了正常。

林语松了一口气，然后打开了搬砖狐的对话框。

“节点恢复了，谢谢你和你的朋友。”

搬砖狐回了一个狐狸打哈欠的表情：“他是我前公司的同事，技术不错。费用我帮你先垫了，回头再说。”

“不用，我自己来。”

“得了吧，你现在身上还有多少钱？垫着吧，等你有钱了再还我。”

林语看着这条消息，沉默了一会儿，然后回了一个“好”字。

他知道搬砖狐是故意的——不想让他因为钱的事分心。

这个女孩，总是这样。

他放下手机，靠在椅背上，闭上眼睛，整理了一下思绪。

现在攻击暂时被挡住了，但问题远没有解决。

第一，攻击来源是谁？陈经理的可能性很大，但他怎么知道雨云的香港节点IP的？林语从没在公开场合透露过。

第二，攻击还会不会继续？如果对面铁了心要搞他，下一次攻击只会更猛。

第三，也是最关键的问题——他不能让客户承担风险。如果攻击隔三差五就来一次，他的信誉就全毁了。

林语睁开眼睛，做了一个决定。

他必须换机房。

换一个高防的，能抗DDoS的机房。

哪怕贵一点，咬咬牙也得换。

他打开电脑，开始搜索香港的高防机房供应商。

搜了一圈，发现价格比他现在用的那家贵了将近一倍。

最低配的高防云服务器，2核4G、5M带宽、40G防御，月费就要800多块。

而他现在用的那家，512M内存的虚拟主机，成本摊下来一个月才几十块。

这个价格差距，对他来说，几乎翻了一整年的运维成本。

但他没有犹豫太久。

他给自己的账户转了800块，然后联系了那家高防机房的销售。

“你好，我要买一台香港高防云服务器。2核4G、5M带宽、40G防御。”

销售回复很快：“好的先生，请问您需要月付还是年付？”

“月付。”

“800元/月。请问您需要额外加防御吗？100G防御加200元，200G防御加500元。”

林语犹豫了一下，然后回了一句：“暂时40G够用了。先开一个月。”

“好的，付款后我们将在一小时内为您开通服务器。”

林语把800块转了过去，然后开始准备数据迁移的方案。

雨云目前有三个付费客户，加上他自己跑的几个测试站，总共服务了七个网站。

数据量不大，加起来也就几十个G。

但问题在于——他需要在尽可能短的时间内完成迁移，把服务中断时间压缩到最低。

现在是凌晨两点四十五分。

他给自己定了一个目标：天亮之前，把所有数据迁移到新服务器上，并恢复所有服务。

他打开那个半成品的Go语言管理系统，开始在代码里添加“一键迁移”功能。

他之前已经写好了服务器的管理模块，迁移功能只需要包装一层rsync和数据库导出的命令就行。

一边写代码，一边等新服务器开通。

三点二十分，新服务器开通了。

林语登录上去，开始配置基础环境。

安装Nginx、PHP、MySQL、Redis……这些他闭着眼睛都能配好。

三点四十五分，环境配好了。

他开始打包旧服务器上的数据。

网站文件、数据库、配置文件……他一个一个地导出，打包，然后通过rsync传到新服务器上。

数据传完后，他开始导入数据库。

前两个客户的数据库都导入得很顺利，第三个客户的数据库刚一导入，就报错了。

表损坏。

林语懵了一下。

他检查了一下错误信息——是wp\_posts表的索引损坏。

“妈的……”

他低声骂了一句，然后强迫自己冷静下来。

表损坏，不是没救。

他在网上搜了一圈，找到了一个MySQL自带的修复命令：

```auto
mysqlcheck -r -u root -p 数据库名 表名

```

他试着跑了一下。

结果跑完后，又报错了。

“Index table is full…”

林语揉了揉太阳穴。

这台新服务器的MySQL配置里，临时表的大小限制太低了。

他登录phpMyAdmin，修改了my.cnf配置文件，把tmp\_table\_size和max\_heap\_table\_size都调到了256M。

然后重启MySQL，重新跑修复命令。

这次成功了。

他松了一口气，开始恢复剩余的数据。

凌晨五点十分，所有数据都迁移完毕。

林语开始测试各个网站。

第一个客户的WordPress，打开——速度正常。

第二个客户的Typecho，打开——速度正常。

第三个客户，也是最新的那个客户——没有建站，只有一个phpinfo页面，正常。

他自己的测试站，也正常。

林语靠在椅背上，长长地吐出一口气。

然后他想起了一件事——他还没有通知客户。

他打开微信，找到那个三人客户群，发了一条消息：

“各位客户，因为昨天机房故障，我们对服务器进行了紧急迁移。现在服务已恢复，给您带来的不便，敬请谅解。”

发完后，他盯着屏幕，等着客户们的回复。

他做好了被骂的准备。

等了大概五分钟，第一个客户回复了。

ID叫“风之旅人”，一个用WordPress写旅行博客的博主。

“林总，我说实话啊，昨天晚上的网站确实打不开，我着了一会儿急。”

林语赶紧回复：“抱歉抱歉，确实是我的问题。服务器被攻击了，我连夜换了一个高防机房，现在稳了。”

风之旅人回了一句：“换机房了？那成本不低吧？”

“比原来贵了几百块。但没办法，安全第一嘛。”

风之旅人沉默了一会儿，然后发了一段话：

“兄弟，我实话跟你说，我用过好多家的虚拟主机了，便宜的有，贵的也有。但像你这样，出了问题连夜换机房、自己掏钱的，我是第一次见。”

林语没想到会收到这样的话。

他正想回复，风之旅人又发了一条：

“你那个年付50块的套餐，太便宜了。我建议你涨涨价，别把身体亏空了。”

林语笑了一下：“好的好的，感谢建议。”

然后第二个客户也冒泡了。

ID叫“老陈运维”，一个做技术博客的运维工程师。

“我昨晚就发现了，网站断了几次，但今天早上起来就好了。原来是换机房了？”

林语：“对，被攻击了，临时换的。”

老陈运维：“攻击多大？”

林语：“百兆左右，不算大，但原来的机房扛不住。”

老陈运维：“那你现在用的什么机房？”

林语把新机房的名字说了一下。

老陈运维沉默了一会儿：“那个机房我知道，香港高防的，价格不便宜。你这个月的成本，怕是得翻倍。”

林语：“还好，省着点用，能做多少做多少。”

老陈运维：“你这性价比挺高的。好好干，别崩了。”

林语：“好的好的，感谢信任。”

第三个客户，就是那个只开了phpinfo的新客户，一直没说话。

林语也没催。

他关了微信，起身去洗手间洗了把脸。

镜子里的自己，脸色苍白，眼袋很重，头发乱糟糟的。

但他精神还不错。

他洗了把脸，回到桌前，打开HostLoc，准备发一个新帖，公布换机房的消息。

结果他刚点开论坛，就看到了一个帖子，标题赫然写着：

“曝光：雨云是骗子公司，收了钱不办事，故意弄丢用户数据！”

发帖人的ID：server\_wholesale。

林语瞳孔猛缩。

他点进帖子，看到内容——

“各位站长注意了！这个叫‘雨云’的虚拟主机商，就是个皮包公司！收了钱不给服务，数据全丢了，还说是被攻击了！我朋友就是之前找他们买的虚拟主机，结果网站打开全是500错误！我朋友联系他们退款，他们直接装死！大家千万别上当！”

帖子下面已经有人跟帖了。

“真的假的？我还想买呢。”

“雨云？就那个50块一年的？一看就不靠谱。”

“这种小厂就是这样，割一波就跑。”

林语握紧了鼠标，指关节发白。

他知道这是谁发的。

server\_wholesale——那个“陈经理”的ID。

他没想到对方会用这么卑劣的手段。

造谣，泼脏水，倒打一耙。

他深吸一口气，强迫自己冷静下来。

然后他开始敲键盘，回复那个帖子：

“你好，我是雨云的创办人，林语。”

“首先，关于您提到的‘雨云是骗子公司’——我们的服务记录都是公开的，欢迎任何用户向我要后台截图。我们从未有过‘收了钱不服务’的情况。上周四我们确实被攻击了，但我们已经连夜更换了高防机房，所有数据都已恢复。”

“其次，关于您说的‘联系退款装死’——我们目前只有三个付费客户，没有任何一个提起过退款需求。如果您能提供您的朋友信息和订单号，我马上核实。”

“最后，我想问您一个问题——”

“您的ID，server\_wholesale。请问您是不是佛山某IDC公司的负责人？上周五，您约我去佛山考察机房，结果我到了之后，发现您的办公室已经人去楼空，前台桌子上贴着一张‘欠薪两个月，老板跑路’的纸条。”

“我想请各位站长评判一下——到底谁才是骗子？”

林语发完这段话后，刷新了一下页面。

论坛里安静了几秒。

然后有人开始回复了:

“卧槽，这剧情……”

“佛山那家IDC之前确实有人踩过坑，听说跑路了。”

“楼主，你是那个被坑的吧？”

林语没有继续回复。

他关掉页面，靠在椅背上，闭上了眼睛。

心口在剧烈地跳，但他知道，自己不得不站出来，把这件事说清楚。

他打开微信，给搬砖狐发了一条消息：

“那个陈经理，在论坛上发帖黑我。”

搬砖狐几乎是秒回：“谁？那个跑路的？”

“对。他发帖说我是骗子公司，说我们弄丢数据。”

搬砖狐沉默了几秒，然后回了一句：

“林语，你有没有想过一个问题。”

“嗯？”

“他为什么要这么针对你？”

林语愣住了。

他想了一会儿，然后打字回复：

“因为他想逼我关站。”

“对。他就是想让你关站。你知道为什么吗？”

林语又愣住了。

他之前从没想过这个问题——一个跑路的代理商，为什么要费这么大劲，来搞他一个没什么规模的小站长？

他想了想，忽然一个念头闪过——

“是不是因为我发现了什么不该发现的？”

搬砖狐回复了一个握拳的表情。

“你想想，他为什么会约你面谈？”

“他说想合作……”

“合作个屁。他是想看看，你到底知不知道他跑路的事。”

林语心里一沉。

他想起那天去佛山之前，陈经理给他发的那条消息，里面提到了“合作和资源”。

而那天他到了佛山，发现办公室空了之后，对方就再也没有联系过他，直到今天凌晨发来威胁消息。

“你的意思是……他想杀人灭口？”

“不至于杀人灭口，但他肯定不想你到处去说这件事。毕竟他在圈子里还要混的。”

林语沉默了一会儿，然后问了一句：

“那我怎么办？”

搬砖狐的回复很快:

“第一，截图保留证据，包括他论坛发帖的ID、你和他聊天的记录、佛山那间办公室的照片。”

“第二，别跟他吵。他越吵，你越要稳。让他自爆。”

“第三，你今晚就得把这件事翻篇。明天开始，继续做你的事。让他一个人在那儿蹦跶。”

林语看着这几行字，心里渐渐安定了下来。

搬砖狐说得对。

他不是来和人打架的。

他是来做生意的。

他关掉微信，重新打开HostLoc的帖子。

此时帖子里已经有了二十多条回复。

有人质疑“陈经理是你朋友吗”，有人@版主要求查IP，也有人表示“反正我不信50块一年的虚拟主机”。

林语没有继续回复，而是新建了一个帖子，标题是：

“【公告】雨云更换香港高防机房，客户数据全部恢复，感谢大家支持。”

帖子内容很简单：

“各位好，我是雨云的创办人林语。

今晚我们的香港节点遭受了DDoS攻击，我们已经将服务器迁移到了新的高防机房。

所有客户数据都已恢复，服务正常运行。

对于今晚出现的服务中断，我深表歉意。

为了弥补，我们决定将所有现有客户的服务期限延长一个月，作为补偿。

感谢大家的理解和支持。

如有任何问题，请随时联系我微信：rainyun\_linyu。”

发完这个帖子后，他回到那个造谣帖里，把这条公告的链接贴了上去。

然后他退出了HostLoc。

天亮之前，他决定先睡一会儿。

他扑到床上，闭上眼，脑海里全是今天的画面。

陈经理的空办公室，荷兰IP的DDoS攻击，造谣帖，搬砖狐的冷静建议……

他笑了。

他觉得自己像是被扔进了一个满是鲨鱼的池子里。

但他不怕。

因为他有搬砖狐。

他闭上眼睛，很快就睡着了。

* * *

林语醒来的时候，已经是上午九点半了。

他拿起手机一看，有十几条未读消息。

有客户群里的，有搬砖狐的，还有几个陌生人加他好友。

他先点开了客户群。

风之旅人发了三条消息：

“林总，下午好啊。我刚才扫了一眼你的论坛，有人黑你是吧？别理他，我们都信你。”

“你那个50块的套餐，我给你付了年费，撑你一下。”

“一年60块，多出来的10块算奖金。”

林语看到这条消息的时候，鼻子突然有点酸。

他回了一句：“风哥，太客气了……我收不了。”

风之旅人秒回：“收着收着。你那个服务，值这个价。”

林语不知道该说什么，只回了一个“谢谢”。

然后老陈运维也冒泡了：

“我刚才也在论坛看到了。我说句实话，那个发帖的ID，我看着有点眼熟。好像之前在HostLoc上发过卖机房的帖子，后来被封了。”

林语：“真的假的？”

老陈运维：“不确定，但我记得那个ID的IP段和之前营销号的一样。你自己小心点，别让人坑了。”

林语：“好的好的，感谢提醒。”

他退出群聊，点开了搬砖狐的消息。

搬砖狐发了一个截图——是她和林语那个CDN朋友的聊天记录。

“他说，他昨晚看了一下你转过去的流量包，发现攻击流量停了一会儿又继续了。”

“他说，攻击不是自动爆破，是有人在手动控制。”

林语看完后，眉头皱了起来。

手动控制？

那说明——攻击者不是脚本小子，而是有经验的IDC从业者。

他想起那个陈经理的威胁消息。

“小子，别以为自己跑得快就没事了。我记住你了。”

他咬了咬牙。

看来，这位陈经理是真的有备而来。

他给搬砖狐回了一条消息：“我知道了。我会处理的。”

然后他打开了那几条陌生人加好友的信息。

第一个人的验证消息是：“老陈介绍我来看看雨云。”

林语点了通过。

第二个人的验证消息是：“你好，我是HostLoc的版主，关于昨晚的帖子想跟你聊聊。”

林语心里一紧，点上了通过。

对方开口第一句话就是：

“你好，我是HostLoc的版主。关于昨晚那篇造谣帖，我们已经做出了处理。”

“处理结果是什么？”

“封停了那个ID。但我们这边，也希望你能提供一些证据，证明你这边确实有数据被攻击的记录，以便我们在后台留存。”

林语想了一下，然后回复：“没问题，我马上去准备。”

他打开电脑，找到了那台旧服务器上的日志记录，包括被DDoS攻击时的流量图表、黑洞路由开启的记录、以及他和那家IDC的沟通截图。

他把这些打包成一个压缩文件，发给了版主。

过了一会儿，版主回复了四个字：

“证据充足。”

然后他话锋一转，问了一句：

“老弟，我想问你一个问题，你老实回答我。”

“你问。”

“你是不是招惹到什么人了？”

林语沉默了一会儿，然后打了一个字：

“是。”

版主沉默了几秒，然后回了一段话：

“IDC这个圈子里，坑很多。有的人，踩了坑爬不起来了，就决定把人往坑里拽。”

“你踩的那个坑，他没爬出来，是他活该。但你得小心，他不是不会爬出来的——他是想把你也拉进去。”

林语看着这话，沉默了很久。

然后他回了一句：“我明白。”

“那就好。好好干，别怕。”

林语放下了手机。

他站起身，走到窗边，看着外面灰白的天色。

广州的秋天，没有北方的凉意，空气里还有一丝燥热。

他深吸一口气，让那口带着灰尘和尾气的空气填满肺部。

然后他转身，重新坐回桌前，打开电脑，开始写一个新的功能。

他决定给雨云加一个“自动备份系统”。

如果服务器被攻击，数据不会丢。

他写了一个小时，把基本的备份逻辑写好了。

然后他打开那个造谣帖。

那个ID已经被封停，帖子也被删了。

论坛里已经没有人再提起这件事，反而有几个新帖子在讨论“50块一年的虚拟主机靠不靠谱”，而林语的公告帖还被版主置顶了。

他看了看那个帖子，心里很平静。

他想起搬砖狐说的那句话：

“让他自爆。”

确实。

那个人越是想搞他，他就越要稳。

他关掉页面，继续写代码。

雨云的前路，还很长。

但林语不怕。

稳步推进，不要捉急。

太阳总会升起来的。

而今天，只是一个新的开始。

他写了一会儿代码，停了下来。

然后打开手机，给搬砖狐发了一条消息：

“谢谢你。”

对方很快回了一句：

“谢什么？”

“谢你一直在。”

搬砖狐发了一个狐狸捂脸的表情，然后又发了一句话：

“你别感动了，我那是怕你被打击到，下午又不会写代码了。”

林语笑了。

他打字回复：

“你放心，我不会的。”

“因为有你在这边撑着我。”

他发完这句话后，心跳快了一点。

过了一会儿，搬砖狐回了一句：

“行了行了，你快去上课吧。下午还有历史课呢。”

林语看了看时间——已经上午十点半了。

他确实该去上课了。

他合上电脑，拿起书包，走出宿舍。

外面的阳光正好，照在脸上的时候，有微微的暖意。

林语走在上课的路上，心情出奇地好。

他知道，困难还很多。

那个陈经理，肯定还会搞事。

那个攻击他的人，也不会轻易收手。

但他不怕。

因为他不是一个人在前行。

他有人陪着。

他笑了笑，加快了脚步。

而在宿舍的角落里，那台老旧的服务器依然在运转着，风扇嗡嗡作响，指示灯闪烁不停。

雨云，依然在。

# 第6章 嘴炮与真相

林语从历史课回到宿舍的时候，手里还拿着半瓶矿泉水。

上午的课他听得心不在焉——脑子里全是HostLoc论坛上那些破事。

他把书包往床上一扔，打开电脑，习惯性地先检查了一遍服务器的运行状态。

CPU占用率正常，内存使用正常，带宽流量也正常。

自动备份系统他早上写了一半，现在得继续写下去。

林语刚打开编辑器，手机就震了一下。

搬砖狐发来一条消息：

“论坛上那个帖子，你又上去了。”

林语愣了愣，连忙打开HostLoc。

果然，那个造谣帖的下面，出现了一大堆新回复。

有人@他要求解释，有人在质疑雨云的真实性，还有人在问“50块一年的服务器到底能不能用”。

但最大的变化是——陈经理又发了一条新帖子。

这次的标题是：“【警告】广州润雨科技虚假宣传，大家擦亮眼睛”。

帖子里的内容更加详细，甚至编造了一些“受害者”的聊天截图，说林语收了钱不办事，服务器三天两头断线。

林语看完，嘴角抽了抽。

他觉得又好气又好笑。

这人的戏，怎么这么多？

他深吸一口气，拿起手机，给搬砖狐发了一条消息：

“我想回击一下。”

搬砖狐秒回：“怎么回击？”

“用事实说话。”

“你能不能具体点？”

林语想了想，把思路梳理了一下，然后回复：

“第一，他写的东西，我已经全部截图保存了。”

“第二，佛山那间办公室的现场照片，我也有一些。”

“第三，我有他和我聊天的完整记录，包括他说要和我合作的，还包括他威胁我的那句。”

“第四，我昨天遭到攻击的数据，版主那边已经认定了。”

搬砖狐发了一个托腮的表情：

“那你打算怎么写？”

林语想了想，打了一行字：

“我打算，把他写得彻底翻不了身。”

* * *

林语打开HostLoc，新建了一个帖子。

他想了想标题，最后写下了：

“【吃瓜】某自称IDC代理商的老板，看看你都知道些什么。”

这个标题看着不像是正经澄清，倒像是吃瓜帖。

但他就是要用这种效果。

林语开始写正文。

他先用最平和的口吻，把整个事情的经过写了一遍。

从收到陈经理的合作私信开始，到他决定去佛山实地考察，再到发现办公室人去楼空，最后到服务器被攻击、论坛被造谣。

他没有加任何情绪化的词汇，只是把自己看到的、听到的、经历的，原原本本地写了出来。

然后，他开始贴证据。

第一张截图是陈经理发来的合作私信，里面详细写着“更低的机柜价格”、“更高带宽支持”。

第二张截图是他和陈经理的微信聊天记录，包括约好见面时间，以及见面当天他还问了一句“快到佛山了”，对方回复“好的，我等你”。

第三张照片是他到佛山后拍的那栋破旧老楼，照片里的大门紧闭，窗户上贴着“欠薪两个月，老板跑路”的纸条。

第四张截图是陈经理发来的威胁消息——“小子，别以为自己跑得快就没事了”。

第五张截图是HostLoc版主给他的回复，确认了造谣帖来源与陈经理的ID一致。

他把这些图片一张张贴上去，然后写了一段总结：

“所以，在我看来，这件事的过程是这样的——”

“第一步：他给我发合作私信，约我面谈。”

“第二步：我到佛山后，发现他已经跑路了。”

“第三步：他发现我发现他跑路了，于是开始威胁我。”

“第四步：威胁没用，他就开始在论坛上造谣。”

“第五步：昨晚，我的服务器遭到了DDoS攻击，攻击源IP和他使用的IP段一致。”

“我不知道这位陈总到底是什么心态。你跑路了，我没到处说，只是想换个机房继续做我自己的生意。”

“你却反过来造谣我、攻击我。”

“你这逻辑，真的让我很难理解。”

“难道你跑路之后，还得让我帮你把办公室扫干净了，再去给你烧柱香？”

“我也不是什么圣人。你造谣我，那我就把这件事讲清楚。”

“反正我有的是证据。”

“再说了，你一个跑路的代理商，非要来找我一个刚创业的大学生麻烦，这不是自投罗网吗？”

“我要是你，我就老老实实装死。起码还能留个全尸。”

林语写到这里，停了一下，看着屏幕傻笑了一声。

他觉得自己这段写得挺爽的。

然后他继续写：

“最后说一句。”

“雨云的香港节点已经更换到高防机房了，所有数据都已恢复，服务正常。”

“欢迎各位老师来测试，有问题随时私信我。”

“我不怕你攻击，反正我有备份。”

“至于你嘛，陈总——我只能说，你运气不好，碰上了我这么一个较真的文科生。”

“我虽然不会打架，但我很会写东西。”

“你继续造谣，我继续截图。”

“反正我不急。”

“稳步推进，不要捉急。”

他写完最后一句，点击了“发表”。

* * *

帖子发出去之后，林语靠在椅背上，心里很平静。

他知道，这件事还没完。

但他知道，自己已经掌握了主动权。

他拿起手机，给搬砖狐发了一条消息：

“发了。”

搬砖狐秒回：“我看看。”

过了一会儿，她发了一个捂脸笑的表情：

“你这写的……太狠了吧？”

林语：“狠吗？我觉得还挺温柔的。”

搬砖狐：“温柔？你那段‘烧柱香’写得很有灵性。”

林语笑了。

他想了一下，又回了一句：

“你觉得他会回复吗？”

搬砖狐：“肯定会。”

“那我要不要准备一下？”

“不用。你继续写代码，让他一个人蹦跶。”

“好。”

林语关掉手机，重新打开编辑器，继续写自动备份系统。

但他的手刚到键盘上，手机又震了一下。

他看了一眼，是客户群里有人发了一条消息。

风之旅人发了一个链接，然后说：“林总，你发帖了？”

林语点进去一看，发现正是自己刚才发的那个帖子。

帖子下面已经有十几条回复了。

“蹲一个瓜子破案。”

“好家伙，戏剧性拉满。”

“楼主，你这个帖子写得比小说还精彩……”

“那位陈总现在是不是在砸键盘？”

林语看了几条回复，笑了出来。

他回复了一句：

“不是什么大事，只是把事实讲清楚。”

“大家不要站队，保持理性。”

风之旅人又回了一句：“林总你这个态度，很稳。”

“谢谢。”

林语又看了一眼帖子的浏览量——已经有三百多个人点进来了。

他退出了帖子，重新打开编辑器。

但刚写了两行代码，手机又震了。

这次是一个私信，来自一个他没见过的ID：“老王在打酱油。”

“楼主，你那个帖子里说的陈经理，是不是一个叫‘陈x强’的？”

林语愣了愣，回复了一句：

“你怎么知道的？”

对方很快回复：

“因为我也被他骗过。去年，他卖了我一批低配当高配的服务器，收货后发现型号不对，他拉黑我了。”

林语看着这条消息，心里一动。

他回复了一句：

“那你现在怎么办？”

对方回了一句：

“没怎么办，自认倒霉。所以看到你在论坛上发帖，我就想加你问一下。”

林语刚想回复什么，又一个私信进来了。

这个ID叫：“广漂小陈。”

“你好，看到你在论坛上的帖子。我想问一下，你是不是用的那家IDC叫‘粤宏’？”

林语：“对。”

“妈的，就知道是他。”

林语：“你也被骗过？”

对方回复了一个哭的表情：

“他欠我三个月工资。我是他之前雇的运维，现在还在讨薪。”

林语愣了愣，然后问了一句：

“你是他雇的运维？”

“对。你之前去佛山那间办公室的时候，有没有看到门口贴了一张纸条？”

“看到了，上面写着‘欠薪两个月，老板跑路’。”

“那就是我贴的。我等了三个月，他终于跑路了。我现在还在找他要钱。”

林语看着这条消息，心里忽然涌上一阵复杂的情绪。

原来，那个纸条是这个运维贴的。

原来，陈经理不仅坑了他，还坑了别人。

他回复了一句：

“兄弟，辛苦了。这件事，我会继续跟进的。”

“你不用跟进，只要把他搞臭就行。”

“你放心。”

林语关掉私信，继续写代码。

但这一次，他的手机上又出现了新消息——论坛上的那个帖子，回复已经飙到了五十多条。

大部分都是支持他的，也有人在质疑他是不是炒作的。

林语看了看那些质疑的回复，笑了笑，没有回复。

他相信，时间会证明一切。

* * *

晚上七点，林语写完自动备份系统的第一版，测试了一下，确认没问题后，把它部署到了服务器上。

他看了看时间，决定先吃点东西。

他刚拿起手机，就看到客户群里有人喊他：

“林总，你在不在？”

林语回复：“在的，怎么了？”

“我刚才看你的论坛帖子，下面有一个新ID在回复，说你是骗子公司。”

林语愣了愣，赶紧打开HostLoc。

果然，在他发的那条帖子下面，出现了一个新人的回复。

这个ID叫“IDC正义使者”，回复的内容很简单：

“你发的这些截图，都是你自己编的。如果你真的那么厉害，为什么不敢把服务器IP公开？”

林语看完，笑了。

他回复了一句：

“可以啊，公开就公开。”

他在回复里写上了雨云香港节点的IP地址，然后补充了一句：

“欢迎各位老师来测。”

“不过友情提示一下，这个节点换了高防以后，防御能力还不错。”

“刚才那位正义使者，你要是有本事，就来打一下试试。”

他发完这句话后，论坛上安静了几秒钟。

然后，有人回复了：

“噗哈哈哈哈，楼主这是正面硬刚。”

“笑死我了，他居然真的公开IP。”

“正义使者，到你了，上吧。”

“围观群众表示，今晚又有瓜吃了。”

林语看着这些回复，心里很平静。

他知道，陈经理肯定又在背后使坏。

但他不怕。

因为他已经把防御升级了。

他打开管理后台，调出香港节点的安全日志。

果然，IP地址公开不到三分钟，就有来自荷兰的IP尝试访问主站。

林语笑了。

他拿起手机，给搬砖狐发了一条消息：

“他又来了。”

搬砖狐秒回：“谁？”

“那个正义使者，应该是小号。”

“你确定？”

“IP和攻击我的那个是同一个段。”

搬砖狐发了一个狐狸龇牙的表情：

“那你打算怎么办？”

林语想了想，回复了一句：

“让子弹飞一会儿。”

“他攻击一次，我就截一次图。”

“他攻击十次，我就截十次图。”

“等他攻击完了，我攒齐了证据，再发一个帖子。”

搬砖狐发了一个捂脸笑的表情：

“你是真的稳。”

“那必须的。”

* * *

晚上八点半，林语正在吃泡面，手机又震了一下。

他看了一眼，是论坛上的一条最新回复。

回复的人是之前那个发私信的运维“广漂小陈”，他回了一句：

“大家好，我是之前在陈经理那里工作的运维。我可以证明，雨云的老板说的都是真的。那个陈经理确实跑路了，欠了我三个月工资，现在还在躲着我。如果大家有需要，我也可以提供我当时的工作合同和聊天记录。”

这条回复一出，论坛上瞬间炸开了锅。

“好家伙，这是锤上加锤啊。”

“看来这位陈经理确实是惯犯了。”

“楼上的兄弟，你辛苦了。”

“支持你讨薪。”

“加油，兄弟。”

林语看到这条回复，也愣住了。

他没想到那个运维会主动站出来。

他放下泡面，打开私信，给“广漂小陈”发了一条消息：

“兄弟，谢谢你站出来。”

对方回复：“不用谢。我看他造谣你的时候，我就已经很生气了。”

“你在哪？要不要我帮你找找律师？”

“不用。我找不到他，但至少可以在网上曝光他。谢谢你给我这个机会。”

林语看着这条消息，鼻子忽然有点酸。

他知道，在这个圈子里，被骗的人太多了。

但他没想到，自己会因为一个帖子，遇到同样被坑过的人。

他回复了一句：

“有需要帮忙的话，随时找我。”

“谢谢。”

* * *

晚上十点，林语准备睡觉了。

他看了一眼论坛上的帖子，浏览量已经突破了两千。

回复数也到了一百多条。

大部分都是支持他的，也有人在讨论“IDC圈子到底有多乱”。

林语没有继续回复。

他关掉电脑，躺在床上，看着天花板发呆。

手机震了一下。

是搬砖狐发来的消息。

“睡了吗？”

“还没。”

“你那个帖子，我看完了。写得挺好的。”

“谢谢。”

“你觉得，这件事还有后续吗？”

林语想了一下，然后回复：

“不知道。但我不怕。”

“为什么不怕？”

“因为我有你。”

“行了行了，别肉麻了。快睡吧。”

“嗯，晚安。”

“晚安。”

林语放下手机，闭上了眼睛。

正准备睡着的时候，手机又震了一下。

他拿起一看，是HostLoc论坛的私信提醒。

他打开私信，看到一条新消息。

发送者的ID是“KK想咸鱼”，内容只有一句话：

“兄弟，你的防御规则太弱了，随便一个脚本都能打穿。”

林语愣了愣，然后坐了起来。

他看着这条消息，心里忽然涌上一阵不安。

防御规则太弱？

他回复了一句：

“什么意思？”

对方很快回复：

“我刚才用了你最常用的密码‘rainyun’试了一下，直接连上了你的服务器。”

林语愣住了。

他脑子里“嗡”地一声响。

最常用的密码？

他想起那天安全日志里看到的SSH登录尝试——其中一次就用了“rainyun”这个密码。

他一直以为是巧合。

但现在看来——那个IP之所以能猜到他的密码，是因为他的防御规则确实太弱了。

林语沉默了一秒，然后打了一行字：

“你是黑客？”

对方回复：

“算是吧。只不过我是那种比较友好的黑客。”

“我刚才试了一下，你的iptables规则只限制境外IP，但你自己也有境外客户。你建了一个白名单，但白名单只覆盖了你自己的业务IP——其他普通客户依然可以绕过你的限制。”

“也就是说，你的防御规则，对攻击者来说，就是一个笑话。”

林语看着这条消息，彻底清醒了。

他坐直身子，盯着屏幕，手指悬在键盘上方，不知道该怎么回复。

过了几秒，对方又发来一条消息：

“兄弟，我给你一个建议。”

“什么建议？”

“把‘rainyun’这个密码改了。”

“然后，找一套靠谱的防御规则。如果你不会写，我可以帮你。”

林语看着这条消息，沉默了很久。

然后他打了一个字：

“好。”

对方发了一个“OK”的表情，然后补充了一句：

“兄弟，你放心，我不会白帮忙的。”

“你想要什么？”

“我想当你雨云的客户。”

“从今天开始，我用你的服务器。”

林语看着这条消息，先是愣了一下。

然后他笑了。

他回复了一句：

“欢迎。我给你打九折。”

“哈哈哈哈哈，行，那就说定了。”

林语放下手机，看着窗外的夜色，嘴角不自觉地向上扬了扬。

他知道，自己今天遇到了一位技术大佬。

而这位大佬，愿意帮他。

他看着那台依然在运转的老旧服务器，心里忽然充满了力量。

雨云，真的要飞起来了。

* * *

第二天早上，林语醒来的时候，已经是七点半了。

他拿起手机，翻了翻HostLoc的帖子，发现帖子已经被版主置顶了。

他在帖子下面看到了一条新回复，来自“KK想咸鱼”：

“各位，雨云我已经用过了，稳定性不错。价格也很良心。大家可以放心上车。”

这条回复一出，下面有十几个人跟着回复：

“大佬都这么说了，那我也试试。”

“蹭一波大佬的安利。”

“已下单。”

“+1。”

林语看着这些回复，笑了。

他打开雨云管理后台，看了一眼订单记录。

昨晚到现在，已经有六个人下单购买了虚拟主机套餐。

加上之前的四个，雨云的付费用户已经突破了十个。

他算了一下，心态有点飘。

他打开微信，给搬砖狐发了一条消息：

“你猜现在有多少客户了？”

搬砖狐秒回：“十个？”

“不止。”

“十五个？”

“差不多。”

“卧槽，你这发展速度有点猛啊。”

林语回了一个傲娇的表情，然后补充了一句：

“稳步推进，不要捉急。”

“你那是稳步推进吗？你那是开挂。”

到了中午的时候，林语打开后台一看，付费用户已经增加到了十四个人。

他又看了一下HostLoc的帖子，发现除了安利以外，还有人开始讨论雨云的性价比。

而且，有一个人在下面回复了一句：

“我已经用了两天的雨云了，稳定性确实不错。之前用某云盾的时候，三天两头断线，换了这个之后，反而稳了。”

林语看着这条回复，心里更开心了。

他知道，这就是口碑的力量。

他打开私信，找到“KK想咸鱼”，发了一条消息：

“兄弟，你这个安利，效果太好了。”

对方很快回复：“哈哈，没什么。你那个价格确实良心，我没骗人。”

“你什么时候开始用？”

“我已经买了。一小时前刚下的单。”

林语看了一眼后台，果然发现了一个新的订单，地址是浙江台州，购买的是他那个50元一年的香港虚拟主机套餐。

他笑了一下，回复了一句：

“欢迎上车。”

“兄弟，我想跟你说一个事。”

“你说。”

“我觉得，你的雨云，可以做得更大。”

林语愣了愣，然后问了一句：

“多大？”

“至少，比你现在想的，要大得多。”

林语看着这条消息，沉默了很久。

他忽然觉得，自己好像遇到了一个贵人。

他深吸一口气，回复了一句：

“那你能教我怎么做吗？”

对方很快回复：

“先把那个密码改了。”

“其他的，慢慢来。”

“稳步推进，不要捉急。”

林语看着最后那句话，笑了。

他回复了一句：

“好。”

他关上手机，打开服务器，输入了一条命令：

```auto
passwd root

```

他想了想，输入了一个全新的密码。

一个复杂的、安全的、不会被人猜到的密码。

改完密码后，他看了一眼窗外。

阳光正好，照在宿舍楼下的梧桐树上，叶子泛着金黄的光。

秋天了。

但这里，是广州。

秋天，也是温暖的。

林语站起身，走到窗边，看着远处灰蓝色的天空。

他想起刚才“KK想咸鱼”说的那句话：

“你的雨云，可以做得更大。”

他笑了笑。

是啊。

他还年轻。

雨云，也可以。

他转过身，重新坐回桌前，打开编辑器，继续写代码。

这一次，他写的不再是一个自动备份系统。

而是一个未来。

# 第7章 防御初探

林语醒来的时候，窗外的阳光已经有些刺眼了。

他看了一眼手机，七点四十二分。

昨晚改完密码后，他躺在床上翻来覆去睡不着，脑子里全是“KK想咸鱼”说的那些话。

“你的防御规则太弱了。”

“随便一个脚本都能打穿。”

“你的雨云，可以做得更大。”

他翻了个身，拿起手机，发现“KK想咸鱼”凌晨三点给他发了一条消息：

“睡了吗？没睡的话，我发你几条规则试试。”

林语看了一眼时间，现在是早上七点四十三分。

他回了一句：

“刚醒。发我吧。”

对方几乎是秒回：

“等我一分钟。”

林语愣了一秒，心想这位大佬难道是不用睡觉的吗？

但他没有多问。

三十秒后，对方发来了一段iptables脚本：

```auto
# 基础防护规则
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
# 限制SSH频率
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
# 限制HTTP请求频率
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 10 --hitcount 20 -j DROP
# 禁止荷兰IP
iptables -A INPUT -s 45.144.0.0/16 -j DROP
iptables -A INPUT -s 185.220.0.0/16 -j DROP

```

林语看着这段脚本，眼睛都亮了。

他之前手动配置的那些规则，跟这个一比，简直就是幼儿园水平。

他回复了一句：

“大佬，这段脚本我能直接用吗？”

对方回复：

“直接复制进去就行。但要注意，这条限制HTTP请求频率的规则，只适合小站。如果你的流量大了，需要重新调优。”

“好，我知道了。”

“你试一下，有不懂的问我。”

林语从床上爬起来，脸都没洗，直接坐到桌前，打开服务器终端。

他深吸一口气，把那段脚本复制进去，按下了回车。

终端显示了一串“OK”之后，他松了一口气。

他输入了一行命令：

```auto
iptables -L -n -v

```

看着屏幕上跳出来的规则列表，他第一次感觉到，自己的服务器有了一种“安全感”。

林语靠在椅背上，看着天花板，嘴角不自觉地向上扬了扬。

他打开微信，给“KK想咸鱼”发了一条消息：

“规则已经生效了。谢谢大佬。”

对方很快回复：

“不客气。你那边还有没有其他服务器？我可以都帮你看看。”

林语想了想，回复了一句：

“暂时就这一台。不过后面可能会加。”

“好，有需要找我。”

“对了，大佬，你平时都在什么论坛混？”

“主力是HostLoc和V2EX。偶尔去福利吧看看。”

“懂了。”

林语把对方的ID“KK想咸鱼”记在了备忘录里。

他知道，这个人，以后肯定会成为雨云的重要人物。

* * *

上午的课是英语和近代史。

林语坐在教室最后一排，耳朵里听着老师讲“鸦片战争对中国近代化的影响”，脑子里却在想着iptables规则。

他掏出手机，打开记事本，把“KK想咸鱼”发的那段脚本又看了一遍。

忽然，他的手机震了一下。

是搬砖狐发来的消息。

“上课呢？”

“嗯。英语课。”

“我看你刚才在朋友圈发了一张服务器截图，是换防御规则了？”

林语愣了一下。

他刚才确实发了一条朋友圈，照片是终端里的规则列表。

他回了一句：

“对，刚才一个大佬帮我改了一下。”

“哪个大佬？”

“一个叫‘KK想咸鱼’的。应该是技术圈的。”

“那挺好的。不过你要注意，别被人坑了。”

“放心吧，我有分寸。”

“嗯。对了，你午饭吃了没？”

“还没。等下下课去吃。”

“要不要一起？我在你们学校北门。”

林语愣住了。

搬砖狐来他们学校了？

他赶紧回复：

“你来我们学校了？”

“对啊。今天刚好路过，想着顺便看看你。”

“那你等我一下，我马上下课了。”

“不急，慢慢来。”

林语看着手机屏幕，脸上不自觉地带了笑。

他旁边的同学杨晨探过头来，看了一眼他的屏幕，调侃了一句：

“哟，恋爱了？”

林语白了他一眼，没有说话。

* * *

十一点四十五分，下课铃响了。

林语第一个冲出教室，背着书包一路小跑到了北门。

果然，一个穿着白色T恤、扎着马尾的女生正站在校门口，手里拿着一杯奶茶。

看到林语，搬砖狐笑了一下，举了举手里的奶茶：

“给你带的。原味的。”

林语接过奶茶，笑着说了一句：

“谢谢。”

“客气什么。走吧，请你吃午饭。”

“好。”

两人在学校附近找了一家快餐店。

点完餐后，搬砖狐看着林语，问了一句：

“你最近怎么样？那个陈经理的事解决了吗？”

林语摇了摇头：“还没。但至少论坛上已经没人信他了。”

“那就好。对了，你那个防御规则，是谁帮你写的？”

“一个叫‘KK想咸鱼’的。他昨晚私信我，说我的密码太弱了，然后给了我一堆建议。”

“那人靠谱吗？”

“应该靠谱。他帮我试了一下密码，直接连上了我的服务器。如果他真是坏人，早就把我的数据全删了。”

搬砖狐皱了皱眉：“那也是。不过你还是多留个心眼。”

“放心吧，我有分寸。”

两人边吃边聊，聊了一会儿搬砖狐的工作日常。

搬砖狐现在在一家互联网公司做前端开发，工资不高，但胜在轻松。

她跟林语吐槽：

“公司最近又在搞什么‘技术转型’，让我们学Vue3。我学倒是能学，但总感觉没啥必要。”

林语笑了笑：“技术更新换代是正常的。你不学，别人学了，你就落后了。”

“你说得也有道理。对了，你那个管理系统写完了吗？”

“差不多了。还差一个支付接口，对接一下支付宝就可以了。”

“那你加油。我等着看你做大做强。”

林语笑了笑，没有回答。

他喝了一口奶茶，看着窗外灰蓝色的天空，心里忽然涌上一阵复杂的情绪。

他知道，自己现在还在起步阶段。

别说做大做强了，连稳住都难。

但他不想放弃。

他看了一眼搬砖狐，忽然说了一句：

“我想做一个进销存系统。”

搬砖狐愣了愣：“进销存系统？哪来的需求？”

“有一家做建材的小公司找上我了，让我帮他们开发一套管理软件。”

“多少钱？”

“三千。”

搬砖狐瞪大了眼睛：“三千？你要做多少功能？”

林语掰着手指头数了数：

“商品管理、库存管理、进货管理、销售管理、统计报表。”

“就这些？”

“对，就这些。”

“那你打算多久做完？”

“一个月。”

搬砖狐叹了口气：“行吧，你自己悠着点。”

“放心，我心里有数。”

* * *

吃完饭，林语送走了搬砖狐，回到宿舍已经是下午一点半。

他没有午休，而是直接坐到电脑前，打开了编辑器。

他先把那个进销存系统的数据库设计写了出来。

表结构不多，一共六个表：用户表、商品表、库存表、进货表、销售表、报表表。

他用了两个小时，把数据库设计写完了。

然后他打开终端，把数据库导入到了本地环境。

看着屏幕上跳出来的“OK”，他伸了一个懒腰。

手机震动了一下。

是“KK想咸鱼”发来的消息：

“规则运行了一天，有什么异常吗？”

林语回复：“没有。挺稳定的。”

“那行。对了，你那边有没有做日志监控？”

“没有。”

“建议你做一个。不然如果被攻击了，你都不知道是谁干的。”

“怎么弄？”

“可以写一个简单的脚本，每天自动把日志压缩，发到你的邮箱。”

林语想了想，觉得这个建议很靠谱。

他回复了一句：“好，我写一个。”

“加油。”

* * *

下午两点，林语开始写日志监控脚本。

他用了Go语言，因为Go语言在处理文件读写方面比较顺手。

一个小时后，他完成了脚本的核心逻辑：

每天凌晨三点，自动压缩前一天的访问日志和错误日志，打包成zip，然后通过SMTP发送到他自己的邮箱。

他把脚本跑了一遍测试，确认没问题之后，把它添加到了crontab里。

看着终端里显示的“job added successfully”，他松了一口气。

下午三点半，林语开始写进销存系统的前端页面。

他选了Bootstrap作为UI框架，因为简单好用。

他花了一个小时，把登录页、首页、商品管理页的雏形写了出来。

页面很简陋，但功能能用。

他打开浏览器，测试了一下登录流程，发现有一个bug——登录成功之后，没有跳转到首页。

他打开代码，检查了一遍，发现是一个路由配置写错了。

他改完之后重新测试，这次一切正常。

他靠在椅背上，看着屏幕上那个简陋的登录页，心里有些满足。

* * *

下午五点半，林语被一阵急促的手机铃声打断了思路。

他看了一眼来电显示，是那个建材公司的老板——张老板。

他接通了电话：

“喂，张总？”

“小林子啊，你那个系统做得怎么样了？”

“还在开发中。目前数据库和前端的雏形已经写好了。”

“什么时候能做完？”

“预计二十天左右。”

“二十天？太慢了。我给你一周时间，做不完就扣尾款。”

林语愣了一下：“一周？张总，你这个系统有六个表，还有统计报表的功能，一周根本不可能。”

“那就不关我的事了。你自己答应的工期，你自己想办法。”

说完，对方直接挂了电话。

林语看着手机屏幕上“通话结束”的字样，愣了几秒。

然后他深吸一口气，把手机放到桌上。

他知道，自己遇到的是那种典型的“催命式”客户。

但他没有生气。

因为他知道，生气解决不了问题。

他打开编辑器，继续写代码。

这一次，他写得比之前更专注。

他觉得，一周虽然紧张，但也不是不可能。

无非就是熬夜而已。

反正他已经习惯了。

* * *

晚上七点半，林语正在写进货管理的接口时，手机又震了一下。

他拿起来一看，是搬砖狐发来的消息。

“吃了吗？”

“还没。”

“别饿着。我帮你点了外卖，应该快到了。”

林语愣了愣，然后回复了一句：

“你这都能算到？”

“不是算到。是猜到。你这个人一写起代码就忘记吃饭，我得替你的胃负责。”

林语笑了笑，回了一句：“谢谢。”

“客气什么。你快吃，别凉了。”

“好。”

五分钟后，外卖到了。

是一份叉烧饭加一杯冻柠茶。

林语打开饭盒，狼吞虎咽地吃了起来。

吃完饭后，他继续写代码。

这一次，他变得更有精神了。

因为有人在乎他吃没吃饭。

他觉得，这种感觉挺好的。

* * *

晚上十点，林语正在写库存管理的逻辑时，服务器监控突然弹出一条警报：

“80端口流量异常，每秒请求量超过200。”

林语愣了愣，然后立刻打开终端，输入了一条命令：

```auto
netstat -an | grep :80 | wc -l

```

结果显示：当前连接到80端口的IP数量是47个。

他皱了皱眉。

这个数字虽然不算高，但考虑到雨云现在的客户只有十几个，这个流量明显不正常。

他立刻切换到iptables规则页面，检查当前规则：

“限制HTTP请求频率：10秒内最多20次。”

理论上，这条规则应该能挡住大部分CC攻击。

但54个IP同时请求，每个IP请求一次，就已经超过了20次的上限。

他想了想，决定把频率限制再收紧一些。

他把规则改成了“10秒内最多10次”。

然后他重新加载了规则。

看着屏幕上显示的成功消息，他松了一口气。

他盯着终端的实时流量监控，看了一分钟。

流量明显下降了。

从每秒200多降到了每秒40多。

他松了一口气。

这时候，手机震了一下。

是“KK想咸鱼”发来的消息：

“我看到你刚才改规则了。是不是被CC了？”

林语回复：“嗯。流量突然飙上去了。”

“现在压下去了吗？”

“压下去了。”

“那就好。你那条规则其实可以再优化一下。”

“怎么优化？”

“可以加一个IP白名单。比如你自己的IP，还有搬砖狐的IP，可以直接绕过频率限制。”

林语想了想，觉得这个建议不错。

他回复了一句：“好，我加一下。”

他打开编辑器，在规则文件里加了一行：

```auto
iptables -A INPUT -s 14.215.177.0/24 -j ACCEPT

```

这个网段是林语自己学校宿舍的外网IP。

然后他又加了一行：

```auto
iptables -A INPUT -s 113.87.0.0/16 -j ACCEPT

```

这个是搬砖狐的IP段。

改完之后，他重新加载了规则。

然后他打开终端，测试了一下访问：

直接从宿舍网络访问，响应时间从原来的500毫秒降到了50毫秒。

他满意地点了点头。

* * *

晚上十一点，林语继续写代码。

进销存系统的统计报表模块比较复杂，需要写一个自动生成月度报表的函数。

他花了两个小时，把核心逻辑写完了。

但测试的时候，发现了一个bug——统计数据的时候，会把已删除的商品也算进去。

他愣了一下，然后打开代码，检查了一遍。

发现是SQL语句没有加“is\_deleted”过滤条件。

他改正之后，重新测试，这次一切正常。

他靠在椅背上，看着屏幕上那个简陋但功能完整的系统，心里有了一丝满足感。

他看了一眼时间：凌晨一点十分。

他关掉电脑，躺在床上，看着天花板发呆。

手机震了一下。

是搬砖狐发来的消息：

“睡了吗？”

“还没。”

“我也没睡。刚才在写一个组件，觉得没必要用Vue，直接用原生JS搞定了。”

林语笑了笑，回复了一句：“那挺好的。”

“你今天写代码到几点？”

“刚结束。一点十分。”

“早点睡。明天还有课。”

“嗯，晚安。”

“晚安。”

林语放下手机，闭上眼睛。

但他怎么也睡不着。

脑子里全是代码。

他想，自己可能真的已经变成了一个“代码机器”。

不过，他不觉得这是坏事。

至少，他找到了自己热爱的东西。

他睁开眼睛，看着窗外模糊的夜色，嘴角不自觉地向上扬了扬。

他知道，明天，又是新的一天。

而他的雨云，会继续生长。

* * *

接下来的五天，林语几乎住在了电脑前。

白天上课的时候，他带着笔记本，坐在教室最后一排，偷偷写代码。

老师讲课的声音，像是背景音乐一样在他耳边播放。

但他一个字都没听进去。

他的脑子里，全是进销存系统的代码逻辑。

下课之后，他第一时间冲回宿舍，继续写。

吃饭的时间，从原来的三十分钟，压缩到了十分钟。

他一边吃外卖，一边盯着屏幕上的代码。

晚上，他一直写到凌晨两点，有时候写到三点。

有一次，他写着写着，眼睛就闭上了。

等他醒过来的时候，发现自己在键盘上趴着睡着了。

屏幕上多了一堆乱码：

“asdfghjkl;”

他苦笑了一下，把乱码删掉，继续写。

第六天下午，他终于把进销存系统写完了。

他打开浏览器，从头到尾测试了一遍。

商品管理：正常。

库存管理：正常。

进货管理：正常。

销售管理：正常。

统计报表：正常。

看着屏幕上那个完整的系统，他松了一口气。

他给张老板打了一个电话：

“喂，张总，系统我已经写完了。你用之前我先测试一遍，明天给你发一个测试链接。”

电话那头，张老板的声音有些惊讶：

“写完了？这么快？”

“嗯。你给的工期是七天，我今天写完，第六天。”

“行行行，你发过来，我看看效果。”

“好。”

挂了电话，林语靠在椅背上，看着天花板。

他的眼睛有些酸涩。

他的心里，却有一种说不出的满足感。

他拿起手机，给搬砖狐发了一条消息：

“我写完了。”

搬砖狐秒回：“那个进销存系统？”

“对。”

“这么快？”

“嗯。一周。”

搬砖狐发了一个震惊的表情：“你是真的猛。”

“还行。”

“那你今晚好好休息一下。别熬夜了。”

“好。”

林语放下手机，伸了一个懒腰。

他正准备去洗个澡的时候，手机突然震了一下。

他拿起来一看，是服务器监控发来的警报：

“80端口流量异常，每秒请求量超过500。”

林语的脸色瞬间变了。

他立刻打开终端，输入命令：

```auto
netstat -an | grep :80 | wc -l

```

结果显示：当前连接到80端口的IP数量是128个。

每秒请求量还在上升，已经超过600了。

林语深吸一口气，强压下心里的紧张。

他知道，这不是普通的CC攻击。

这是一场正儿八经的DDoS。

他切换到iptables规则页面，检查当前规则。

频率限制还在，但已经挡不住了。

因为攻击者用了几百个IP同时请求，每个IP只请求一次，就已经超过了十秒十次的限制。

他想了想，决定启用更严格的防护策略。

他打开编辑器，改了一条规则：

```auto
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 60 --hitcount 5 -j DROP

```

限制放宽到六十秒五次。

改完之后，他重新加载了规则。

他盯着实时流量监控，看了一分钟。

流量还在涨。

虽然涨得慢了一些，但依然在涨。

每秒请求量已经接近700了。

林语咬了咬牙，决定启用更狠的策略。

他把规则改成了：

```auto
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 120 --hitcount 3 -j DROP

```

限制放宽到一百二十秒三次。

然后他重新加载了规则。

这一次，流量终于开始降了。

从每秒700降到了每秒400。

又从每秒400降到了每秒200。

最后，稳定在了每秒100左右。

林语看着屏幕上的数字，松了一口气。

他正准备给“KK想咸鱼”发消息的时候，手机突然响了。

是张老板打来的电话。

“喂，小林子，你那个系统我刚才看了一下，发现一个bug。”

林语愣了愣：“什么bug？”

“库存管理里面，我添加了一个商品之后，显示库存正常。但我再添加一次，库存就变成了负数。”

林语皱眉：“不应该啊。我测试过，不会出现负数的情况。”

“你自己看看。”

“好，我查一下。”

挂了电话，林语打开代码，检查了一遍库存管理的逻辑。

他发现了问题所在——在添加库存的时候，他忘了判断当前库存加上新库存之后是不是负数。

他修正了逻辑，然后重新部署了一遍。

他给张老板发了一个消息：

“张总，bug已经修了。你再试一下。”

张老板很快回复：“我试了，没问题了。系统整体效果不错，尾款过两天打给你。”

林语松了一口气。

他放下手机，看着电脑屏幕上那个已经稳定下来的流量监控面板，心里忽然涌上一阵复杂的情绪。

他知道，自己的路还很长。

但他也知道，自己正在一步一步往前走。

他重新坐回到桌前，打开编辑器，继续写了一个新的脚本。

一个自动追查攻击来源的脚本。

他知道，雨云要活下去，光靠防御是不够的。

他得知道，是谁在攻击他。

然后，一个个地还回去。

他看了一眼窗外。

夜色很深。

但他不觉得累。

他只觉得，自己正站在一个巨大的迷宫里。

每一步，都可能踩到陷阱。

但他不怕。

因为他知道，自己手中，有一把钥匙。

那把钥匙，叫“坚持”。

他敲下第一行代码。

今晚，又是一个不眠夜。

# 第八章 第一场风暴

凌晨三点，林语刚写完追踪脚本的第一版。

他揉了揉酸涩的眼睛，正准备测试一下脚本效果，手机突然震了起来。

是服务器监控的警报。

“CPU使用率：98%”

林语愣了一下，立刻切到服务器监控面板。

他看到CPU使用率的曲线图正在以肉眼可见的速度向上攀升——从原来的30%，到50%，再到80%，现在已经逼近100%了。

他立刻打开终端，输入命令：

```auto
top

```

屏幕刷出一排进程信息。

他扫了一眼，很快锁定了罪魁祸首——一个名为“apache2”的进程，CPU占用率高达95%。

但不对。

他记得自己用的是Nginx，不是Apache。

他立刻明白了。

这是攻击者在服务器上植入了挖矿程序。

他深吸一口气，强迫自己保持冷静。

他打开进程管理器，找到那个恶意进程的PID，然后输入：

```auto
kill -9 2356

```

进程被强制终止了。

他看着CPU使用率缓缓降下来，松了一口气。

但他知道，这只是暂时的。

因为那个挖矿程序，肯定有自动重启的机制。

果然，不到三十秒，CPU使用率又开始往上蹿了。

林语皱眉。

他想了想，决定直接清理掉恶意文件。

他打开系统日志，找到了挖矿程序的路径——在“/tmp”目录下，一个叫“.systemd”的隐藏文件。

他立刻删除文件：

```auto
rm -rf /tmp/.systemd

```

然后他又检查了一下定时任务，找到了一个每隔三十秒重启挖矿程序的Crontab任务。

他删掉了那个任务，然后清空了日志文件。

做完这一切，他重新启动了一下Nginx服务。

CPU使用率终于稳定在了20%左右。

他松了一口气，靠在椅背上，揉了揉太阳穴。

他的脑子里一片混乱。

他不知道自己是怎么招惹上这群人的。

但他知道，自己必须尽快找到防御的办法。

他拿起手机，给“KK想咸鱼”发了一条消息：

“睡了没？”

对方很快回复：“没睡。怎么了？”

“我的服务器被植入了挖矿程序。”

“卧槽？稳住了吗？”

“稳住了。但我怕他再来。”

“你把系统日志给我看看，我帮你分析一下攻击来源。”

林语截图发过去。

不到五分钟，KK发来了一段分析结果：

“攻击IP来自几个海外节点，应该是用了代理。但有个细节——其中一个IP是112.96.168.0/24网段，这个网段在广东佛山的电信机房。”

林语愣了一下：“佛山？那不是陈经理的机房吗？”

“不确定。但这个网段确实属于那边。”

“…我知道了。”

林语咬了咬牙。

他想起了陈经理跑路之后收到的威胁消息。

原来，对方一直在监视他的服务器。

他现在所处的位置，就像是一只刚学会捕食的小狐狸，已经被一群老练的猎手盯上了。

他知道，这场仗，才刚刚开始。

* * *

第二天早上八点，林语被闹钟吵醒。

他睁开眼睛，发现自己趴在桌上睡了一夜。

电脑屏幕上，还显示着昨晚的服务器监控日志。

他看了一眼，确认服务器运行正常，然后去洗手间洗了把脸。

他正刷牙的时候，手机突然响了。

是搬砖狐的电话。

“喂，你昨晚又熬夜了？”

“嗯。”

“服务器还撑得住吗？”

“撑住了。但被植入了挖矿程序。”

“卧槽？你怎么发现的？”

“凌晨三点的时候CPU突然飚到98%，我就去查了。然后发现了一个假的apache2进程。”

“然后呢？”

“我把它干掉了，然后清空了日志和定时任务。”

“靠谱。不过你最好再加一层防护。”

“我已经让一个技术大佬帮我查了一下攻击来源，发现IP来自佛山那边的电信机房。”

搬砖狐沉默了一秒：“你是说，陈经理那边的人干的？”

“不确定。但可能性很大。”

“那你打算怎么办？”

“我打算写一个自动防御脚本，可以自动封禁恶意IP。”

“靠不靠谱？”

“应该。”

“行。那你写完了发我看看，我帮你review一下。”

“好。”

挂了电话，林语擦了擦嘴，然后回到宿舍，打开电脑。

他正准备继续写自动防御脚本的时候，突然发现服务器面板的流量曲线图，又开始往上飙升了。

每秒请求量已经超过了800。

比昨天凌晨还要猛。

林语的脸色变了。

他立刻打开iptables规则页面，检查当前规则。

频率限制还在。

但这一次，攻击者显然做了更充分的准备。

攻击流量来自上千个不同的IP，每个IP只请求一次，然后换一个新的IP。

频率限制已经彻底失效。

每秒请求量已经接近1000了。

他咬了咬牙，决定启用更极端的策略——直接封禁整个C段。

他打开编辑器，写了一条规则：

```auto
iptables -A INPUT -s 112.96.168.0/24 -j DROP

```

然后他写了一个脚本，自动拉取攻击来源的IP，然后封禁整个C段。

他启动脚本，看着终端上不断跳出的封禁信息：

“封禁C段：112.96.168.0/24”

“封禁C段：113.87.0.0/16”

“封禁C段：14.215.177.0/24”

…

每秒封禁三个C段。

五分钟后，攻击流量终于开始下降。

从每秒1000降到了每秒500。

从每秒500降到了每秒200。

最后，稳定在了每秒80左右。

林语松了一口气。

他正准备去喝口水的时候，手机突然震了一下。

是雨云用户群的群消息。

他打开群一看，发现用户们已经开始慌了起来。

“@林语 老板，雨云是不是崩了？”

“我的网站打不开了。”

“我也是。”

“@林语 什么情况？”

“求解释。”

林语看着满屏的问询，深吸一口气。

他知道，他不能发火。

他知道，他必须保持冷静。

他打开群，发了一条消息：

“稳步推进，不要捉急。服务器正在遭受CC攻击，我已经在处理了。预计十分钟内恢复。”

“真的假的？”

“老板，你确定撑得住？”

“@林语 那我等你十分钟。”

“好。”

林语看着群里的消息，心里其实急得冒烟。

但他知道，自己必须稳住。

因为他稳住了，用户才会跟着稳住。

他重新打开终端，检查了一下服务器状态。

CPU使用率：75%。

内存使用率：60%。

带宽使用率：80%。

还好，都还在可控范围内。

他想了想，决定启用更严格的防护策略——直接封禁所有海外IP。

他打开规则文件，加了一行：

```auto
iptables -A INPUT -s 0.0.0.0/0 -m geoip --src-cc US -j DROP

```

但很快，他发现一个问题——

他的服务器没有安装geoip模块。

他愣了一下，然后苦笑了一下。

“好吧，那就手工人肉封禁。”

他打开攻击日志，把所有海外IP一个一个地拉黑。

十秒一个。

封了大概一百多个之后，攻击流量终于彻底停止了。

他松了一口气，靠在椅背上，看着屏幕上的监控数据。

CPU使用率：20%。

内存使用率：30%。

带宽使用率：10%。

一切恢复正常。

他打开群，发了一条消息：

“已经恢复。大家检查一下自己的网站。”

“谢谢老板！”

“稳了稳了！”

“@林语 你是真的牛！”

林语看着群里的消息，嘴角不自觉地向上扬了扬。

他放下手机，看了一眼时间。

从攻击开始到攻击停止，总共持续了两个小时。

这两个小时里，他手动封禁了300多个IP，三个完整的C段，还有十几个海外IP。

他的手指头都快抽筋了。

但他知道，这一切都值得。

因为他又一次，把雨云的服务器从死亡线上拉了回来。

* * *

下午两点，林语在食堂吃午饭。

他坐在角落里，一边吃饭，一边用手机看服务器监控数据。

搬砖狐给他发了一条消息：

“听说你刚才又干了一架？”

“嗯。”

“怎么样？”

“稳住了。但手动封禁太累了。”

“那你得赶紧把自动防御脚本写完。”

“正在写。”

“加油。”

“好。”

林语放下手机，继续吃饭。

他的脑子里，全是代码。

他现在最大的问题，不是怎么写自动防御脚本。

而是怎么让自动防御脚本，可以自动识别真正的攻击请求，而不是把正常用户当成攻击者。

他想了想，想到了一个方案——利用机器学习算法，训练一个流量分类模型。

但他很快意识到一个问题——他没有足够的数据，也没有足够的时间去训练这个模型。

“算了，还是用最土的办法吧。”

他决定，写一个基于IP信誉度的自动封禁系统。

他把IP信誉度分为三档：

低风险：正常访问，不做限制。

中风险：请求频率异常，限制每个IP的请求速率。

高风险：发现攻击行为，直接封禁整个C段。

他打开编辑器，开始写代码。

他写了一个Go语言的程序，定时从服务器日志中提取攻击IP，然后根据IP的请求频率和行为特征，给每个IP打一个信誉分。

如果信誉分低于60分，就自动封禁。

如果信誉分在60-80之间，就限制请求速率。

如果信誉分高于80分，就放行。

他写了大概一个小时，终于完成了第一版。

他启动程序，看着终端上输出的日志信息：

“IP 112.96.168.1，信誉分：45，触发封禁”

“IP 112.96.168.2，信誉分：30，触发封禁”

“IP 112.96.168.3，信誉分：55，触发封禁”

他满意地点了点头。

他知道，这个系统还很简单，但至少能帮他在攻击的时候，省去手动封禁的时间。

他给搬砖狐发了一条消息：

“写完了。自动封禁系统。”

“这么快？”

“嗯。用了Go语言写的，逻辑很简单——基于信誉度的封禁。”

“发我看看。”

林语把代码发过去。

不到五分钟，搬砖狐回复了：

“代码写得还行。但有一个bug——你只检查了80端口的请求，如果是443端口的请求呢？”

林语愣了一下。

他确实忘了考虑HTTPS的请求。

“我改一下。”

“行。改完再发我。”

“好。”

林语打开编辑器，在代码里加了一行：

```auto
if req.Port == 443 {
    // 处理HTTPS请求
}

```

改完之后，他重新启动程序。

他看了一眼时间。

下午四点。

他还有个选修课要上。

他关掉电脑，拿起课本，往教室走。

* * *

晚上八点，林语回到宿舍。

他打开电脑，看了一眼服务器的状态。

一切正常。

他正准备继续写进销存系统的后续维护工作的时候，手机突然震了一下。

是“KK想咸鱼”发来的消息：

“你写的自动封禁系统，我刚才测试了一下，发现一个问题。”

“什么问题？”

“你只是封禁了IP，但没有封禁请求类型。”

“什么意思？”

“意思是，攻击者可以换一种请求类型继续攻击你。比如改成POST请求，或者改成WebSocket请求。”

林语愣了一下。

他确实没有考虑到这个。

“那我应该怎么办？”

“你可以在封禁IP的同时，也封禁请求类型。比如针对某个攻击源，封禁所有的POST请求。”

“好，我改一下。”

林语打开编辑器，在代码里加了一行：

```auto
if req.Method == “POST” && req.IP in highRiskIPList {
    // 封禁POST请求
}

```

改完之后，他重新启动程序。

他给KK发了一条消息：“改完了。”

“行。你先测试一下，看看效果。”

“好。”

林语打开了测试工具，模拟了一个POST请求过去。

然后他查看了实时日志，发现那个POST请求确实被拦截了。

他满意地点了点头。

他正准备给KK发消息汇报结果的时候，手机突然又震了一下。

是雨云用户群的群消息。

他打开群一看，发现又有人反映服务器访问慢了。

“@林语 老板，我怎么又感觉卡了？”

“我也是。”

“今天已经第二次了。”

“@林语 是不是又被攻击了？”

林语皱眉。

他打开服务器监控面板，检查了一流量曲线图。

确实，每秒请求量又开始往上飙升了。

从刚才的80，已经飙到了300。

而且还在继续涨。

林语深吸一口气，强迫自己保持冷静。

他打开自动封禁系统的终端，看了一眼当前状态。

系统正在运行，封禁列表已经有一百多个IP了。

但攻击流量还在涨。

他想了想，决定启用更激进的策略——封禁所有来自相同C段的请求。

他写了一条规则：

```auto
if sameCidrRequestCount > 50 {
    // 封禁整个C段
}

```

他把这个规则添加到自动封禁系统中，然后重新启动程序。

他盯着终端上的信息，看了一分钟。

封禁C段的数量在直线上升。

每秒封禁三个C段。

五分钟后，攻击流量终于开始下降。

从每秒500降到了每秒200。

从每秒200降到了每秒80。

最后，稳定在了每秒40左右。

林语松了一口气。

他打开群，发了一条消息：

“已经处理。大家检查一下自己的网站。”

“谢谢老板！”

“稳了稳了！”

“@林语 你今晚不去睡觉吗？”

林语看着那条消息，笑了笑。

他回复了一句：“睡。马上睡。”

他放下手机，靠在椅背上，揉了揉太阳穴。

他看了一眼时间。

晚上十点。

今天，他已经连续工作超过十五个小时了。

他的眼睛酸涩，脑子也有些发沉。

但他知道，他不能停。

因为他一旦停下来，雨云就可能真的撑不住了。

他打开编辑器，开始写下一个脚本——一个自动追踪攻击来源的脚本。

他写了一行又一行的代码。

每一个函数，每一个变量，都像是他的战友。

他看着屏幕上的代码，心里忽然涌上一阵安慰。

他知道，自己不是一个人在战斗。

至少，他有代码。

至少，他有雨云。

他敲下最后一行代码，然后靠在椅背上，闭上了眼睛。

他需要休息。

他需要睡觉。

因为明天，又是新的一天。

* * *

凌晨一点，林语醒来。

他看了一眼电脑屏幕，发现自动追踪脚本已经跑完了一轮。

他打开日志，查看了一下结果。

他发现，攻击流量确实来自佛山那边的电信机房。

而且，他还发现了一个问题——

那些攻击流量，不是突然出现的。

而是被封禁之后，隔了大概三十分钟，又重新出现了。

这说明了什么？

这说明，攻击者就在盯着他的防御反应。

他封一个C段，对方就换一个新C段。

他封一个IP，对方就换一个新IP。

这不是普通的攻击。

这是一场正儿八经的攻防战。

林语咬了咬牙。

他知道，自己必须找到对方的弱点。

他打开IP反查工具，输入了一个攻击源的IP。

很快，页面弹出了结果：

“IP：112.96.168.1”

“归属地：广东佛山”

“运营商：中国电信”

“设备类型：IDC服务器”

他愣了一下。

IDC服务器？

他立刻想到了什么。

他打开搜索引擎，输入了“佛山电信IDC代理”。

搜索结果第一页，是一家IDC代理公司：

“佛山蓝速网络科技有限公司”

他打开那家公司的官网，扫了一眼。

页面很简陋，只有一个手机号和一个QQ号。

他看了一眼那家公司的地址——“佛山市禅城区XX路XX号”。

他忽然想起，陈经理之前在HostLoc发的帖子，也是用了一个佛山IP。

他立刻明白了。

这一切，都是连在一起的。

陈经理跑路之后，他可能没有彻底消失。

他可能换了一个马甲，开了另一家IDC代理公司。

而他盯上林语，就是因为林语揭穿了他的骗局。

林语深吸一口气，把那个IP和那家公司记录下来。

他知道，自己必须做好更充足的准备。

因为接下来的日子，只会更难。

他看了一眼窗外。

夜色很深。

但他的心里，却异常清醒。

他拿出手机，给搬砖狐发了一条消息：

“我查到了攻击来源。”

“是哪里的？”

“佛山。一家叫‘蓝速网络’的小型IDC代理。”

“你确定？”

“确定。IP归属地和他们官网的地址一致。”

“那你打算怎么办？”

“我打算先搜集证据，然后把他们的恶意行为曝光到HostLoc。”

“靠谱。但你要小心。他们既然敢攻击你，就肯定还有后手。”

“我知道。我会小心的。”

“行。你早点睡。明天我们商量一下对策。”

“好。”

林语放下手机，闭上眼睛。

他知道，自己必须休息。

因为明天，他还有很多事情要做。

他翻了个身，脑子里全是刚才查到的那家公司的信息。

“蓝速网络…”

他默默念着这个名字。

心里，已经暗暗下了一个决心。

他要把这件事，查个水落石出。
