开发者社区 问答 正文

使用云服务器测试synflood,发现外网目标IP无法收到数据报文,内网IP可以收到报文。

使用阿里云模拟测试synflood发包, 无法收到数据包

配置两台同区域服务器A、B服务器。

1、A内网IP发送构造syn报文 -> B内网IP,B可以正常收到数据包。 2、A内网IP发送构造syn报文 -> B外网IP,B服务器无法收到数据包。 3、A外网IP发送构造syn你报文 -> B外网IP, B服务器无法收到数据包。

测试发现,A服务器构造的报文数据包可以正常发出,如果目标IP是外网IP,则B服务器无法收到数据包,如果是内网IP则A服务器可以收到数据包。

1661754433953.jpg

双方服务器都已经关闭防火墙端口全部开放,网卡的rp_filter检测已关闭。

请问如何配置可以让云A服务器构造源IP, 发送syn报文让B外网IP或者任意服务器外网IP接收到A发送的数据包。

是什么问题导致内网正常可以收到,外网无法收到数据包呢?

展开
收起
1910110803576094 2022-08-29 17:37:53 1053 分享 版权
阿里云 AI 助理回答

根据您描述的情况,A服务器向B服务器发送SYN报文时,内网通信正常,而外网通信失败。这可能是由于以下原因导致的:

  1. 安全组与网络ACL设置:尽管您提到已关闭防火墙,但阿里云ECS实例还受到安全组规则和网络访问控制列表(Network ACL)的限制。请检查A、B两台服务器所在的安全组规则以及VPC下的网络ACL配置,确保出站(Outbound)和入站(Inbound)规则允许TCP SYN类型的流量从A到B的外网IP地址。特别是对于外网IP的通信,需要有明确的放行规则。

  2. NAT网关或EIP配置问题:如果B服务器通过NAT网关或EIP接收外部流量,需要确认NAT网关或EIP的转发规则是否正确配置,以允许来自A服务器外网IP的SYN请求进入并正确路由到B服务器。

  3. 云服务商策略限制:部分云服务提供商可能对模拟DDoS攻击的行为(如SYN Flood)实施严格的监控和限制,以防止滥用。虽然您的测试目的可能是正当的,但仍需注意此类模拟攻击可能触发云平台的防护机制,导致数据包被自动丢弃或拦截。

  4. 公网路由问题:在互联网上,某些特定的SYN报文可能因为路由问题或ISP(互联网服务提供商)的过滤策略未到达目标服务器。尤其是构造的SYN报文可能被识别为潜在的恶意流量而被沿途的网络设备或ISP阻断。

解决此问题的步骤包括:

  • 检查并调整安全组规则:登录阿里云管理控制台,针对A、B服务器所在的安全组,添加或确认存在允许TCP所有端口(或指定端口,如果SYN Flood测试指定了特定端口)的出站和入站规则。

  • 验证网络ACL配置:在VPC管理界面检查是否有网络ACL规则阻止了必要的流量,并进行相应调整。

  • 审查NAT网关与EIP设置:确保NAT网关或EIP的转发规则配置正确,能够将外网流量正确导向B服务器的私有IP。

  • 咨询云服务商支持:如果上述步骤均无法解决问题,建议联系阿里云客服或技术支持,说明测试目的,了解是否存在特定的策略限制或需要特别配置的地方。

请注意,进行此类测试应当遵循合法合规的原则,并确保不会影响其他网络用户或服务的正常运行。您也可以通过ECS一键诊断全面排查并修复ECS问题。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答