![(D)DoS 攻击后流量积压?](https://linux22.com/image/801619/(D)DoS%20%E6%94%BB%E5%87%BB%E5%90%8E%E6%B5%81%E9%87%8F%E7%A7%AF%E5%8E%8B%EF%BC%9F.png)
大约 25 小时前,我收到一封来自 UptimeRobot (uptimerobot.com) 的电子邮件,告诉我我的网站已经关闭。
我赶紧跑到服务器机房,发现我的 TP-Link 路由器完全没有反应(甚至从 LAN 端也没有反应),路由器上的交通灯以惊人的速度闪烁等等。我收到一位“朋友”的消息,说他认识的一个人是个白痴,在某个聊天频道上告诉所有人攻击我。
在经历了 17 小时的流量冲击(每秒约 15,000 个数据包)后,我将网络移至新的 WAN IP,这显然阻止了攻击。据我所知,那些令人不快的人仍在攻击旧 IP。无论该地址分配给谁,我都为之感到难过。
无论如何,在我切换 IP 之后,路由器上的交通灯仍然闪烁,并且仍然没有响应。我对路由器和调制解调器进行了硬重启;它们恢复后,交通灯速度已降至正常水平,路由器现在有响应。
问题是,网络仍然感觉就像受到攻击一样 - 每当我 ping google.com 时(这是明显地当网络连接到 Internet 时,大约有 50% 的数据包丢失,往返大约需要 100 毫秒,而正常情况下大约需要 30 毫秒。
我重启了路由器和调制解调器好几次,以为它们可能仍然被攻击产生的流量“堵塞”了;但事实证明这是失败的。局域网本身很好——不同节点之间的数据包丢失率为 0%,延迟低至 0.051 毫秒,所以我推断内部网络内没有任何东西导致问题。
有人知道这是怎么回事吗?我们的 ISP 管道是否可能完全被攻击期间发送的流量所堵塞?这些对我来说都说不通,只是想知道是否有人以前经历过类似的事情。提前谢谢。
编辑:
以下是从外部 ping 网络后的一些输出,如果有人感兴趣的话:
(省略了 IP 地址,因为那次攻击之后我现在很疑神疑鬼)
PING x.x.x.x (x.x.x.x): 56 data bytes
64 bytes from x.x.x.x: icmp_seq=0 ttl=59 time=47.797 ms
64 bytes from x.x.x.x: icmp_seq=1 ttl=59 time=47.103 ms
64 bytes from x.x.x.x: icmp_seq=2 ttl=59 time=41.792 ms
64 bytes from x.x.x.x: icmp_seq=3 ttl=59 time=51.739 ms
Request timeout for icmp_seq 4
Request timeout for icmp_seq 5
Request timeout for icmp_seq 6
Request timeout for icmp_seq 7
64 bytes from x.x.x.x: icmp_seq=8 ttl=59 time=43.218 ms
Request timeout for icmp_seq 9
64 bytes from x.x.x.x: icmp_seq=10 ttl=59 time=45.034 ms
64 bytes from x.x.x.x: icmp_seq=11 ttl=59 time=42.263 ms
Request timeout for icmp_seq 12
64 bytes from x.x.x.x: icmp_seq=13 ttl=59 time=46.498 ms
Request timeout for icmp_seq 14
Request timeout for icmp_seq 15
Request timeout for icmp_seq 16
64 bytes from x.x.x.x: icmp_seq=17 ttl=59 time=43.183 ms
^C
--- x.x.x.x ping statistics ---
18 packets transmitted, 9 packets received, 50.0% packet loss
round-trip min/avg/max/stddev = 41.792/45.403/51.739/3.031 ms
这是从地理位置上靠近网络的位置获得的,通常数据包丢失率为 0%,延迟约为 25 毫秒。再次感谢您的帮助。
这是一个跟踪路由,它可能比上面的 ping 输出更具信息量:
traceroute to x.x.x.x (x.x.x.x), 64 hops max, 52 byte packets
1 10.0.0.1 (10.0.0.1) 4.767 ms 4.178 ms 4.195 ms
2 7.38.4.1 (7.38.4.1) 11.357 ms 18.649 ms 14.658 ms
3 69.63.243.209 (69.63.243.209) 15.616 ms 32.639 ms 16.381 ms
4 69.63.249.85 (69.63.249.85) 26.902 ms 13.912 ms 15.729 ms
5 67.231.220.182 (67.231.220.182) 26.328 ms 27.733 ms 15.328 ms
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
^C
看起来数据包在之后被丢弃了67.231.220.182
,根据 ARIN 的 WHOIS,这是 Mt. Pleasant 上的 Rogers 交换站 - 这应该是我所在位置与我尝试访问的网络之间的最后一跳。这让我相信这不是我的 ISP 的问题,所以我不认为我的管道是问题所在。
答案1
不,路由器和调制解调器不会“排队”,它们只会传输流量。如果它们已重新启动,它们将重新开始并监听传入流量。如果它们收到数据包,它们会对其进行路由,如果另一端没有数据包,数据包将流入无用地址,路由器或调制解调器不会缓存数据包的副本以供重试或类似操作。任何网络重试、缓存、跟踪丢失的数据包等都是端点的责任,而不是中间设备的责任。
至于解决数据包丢失问题,您确实应该致电您的 ISP。他们的工作是确保您拥有可靠且稳定的连接。对于商务舱客户,他们通常非常乐于助人,甚至可能会采取速率限制、IP 阻止或其他措施来阻止攻击。熟悉您的 ISP 的服务台。请记住,您付钱让他们管理您的网络连接,让他们工作吧!:)