下面是我的理解,可能有误,仅供参考。
要调优,三次/四次握手必须烂熟于心。
client server (SYN_SENT) —> (SYN_RECV) (ESTABLISHED) <— —> (ESTABLISHED)
client(主动) server (FIN_WAIT_1) —> (CLOSE_WAIT) (FIN_WAIT_2) <— (TIME_WAIT) <— (LAST_ACK) —> (CLOSED)
大家熟知的 SYN flooding/SYN spoofing 就是在 SYN_RECV 的状态下发起的进攻。这种由于 TCP/IP 协议引起的缺陷只能防治而不好根治,除非换了 TCP/IP。通过下面的方式,可以在一定程度上缓解 DDOS 攻击。
增大半连接的队列,即 backlog queue 人工干预以减少 SYS_RECV 的时间,可以降低第一个重传包的时间或者减少重传的次数
检测 SYN 攻击,可以使用 netstat 命令查看当前的连接类型以及连接数目,如果发现有大量的 SYN_RECV,就值得怀疑了: $ netstat -tuna | grep . . . → Read More: sysctl.conf网络内核参数说明(转)
最新评论