阿里云SLB的tcp代理的一个测试

号称阿里云的SLB可以处理syn-flood攻击,如何实现的呢?

猜想:

阿里云的SLB在做tcp代理时,如果能在和client端tcp握手成功之后,再和后端服务器进行tcp连接,然后进行正常的服务,这样不就可以很好地避免后端服务器遭受syn-flood攻击了吗?

测试:

  1. 在A机器上添加iptable规则,drop掉所有SLB进来的数据包(就是为了drop掉syn-ack),避免成功创建连接
  2. 在A机器上抓包,在SLB后面的机器上抓包
  3. 从A机器向SLB发送请求
  4. 结果:SLB后端机器上可以看到syn请求

如果符合猜想,则:SLB后端机器上不会看到syn请求;事实上看到了syn请求,于是,不符合猜想。

结论: SLB在做tcp代理时,不会在和client握手成功之后才向后端服务器发起tcp连接的。(可能那样会比较麻烦,可能需要处理序号之类的东西)

对于一个高级的tcp负载均衡设备来讲,当接到client的syn包后,就先去连接后端,如果后端能连接,再syn-ack给client,这样逻辑上是好的

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据