You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

IPv6环境下访问被防火墙丢弃的端口后,合法端口连接出现挂起的异常问题咨询

IPv6环境下访问被防火墙丢弃的端口后,合法端口连接出现挂起的异常问题咨询

大家好,我最近在用两台虚拟机测试nftables防火墙规则——一台作为启用防火墙的服务端,另一台作为客户端发起连接测试,结果遇到了一个只在IPv6环境下出现的奇怪问题,想请教下各位:

测试场景与正常表现

  • 无防火墙时:用nc -6 fe80::9d08:b3e2:47fa:2935%ens33 <任意端口>测试,如果服务端没监听对应端口,会返回connection refused;如果服务端用netcat监听该端口,连接能成功建立,这都是正常的。
  • 添加防火墙规则后:我配置规则只放行33333端口,其他流量默认丢弃。此时访问33333端口,不管服务端是否监听,结果都符合预期(要么连接拒绝,要么成功建立)。

异常问题的出现过程

当我尝试访问一个被防火墙默认策略丢弃的端口(比如22222)时,netcat会一直挂起直到超时,这本来我觉得是符合预期的,但之后再访问合法的33333端口时,居然也会挂起直到超时

我只能通过以下操作临时恢复:先清空防火墙规则,重新用netcat访问33333端口并成功连接后,再重新应用防火墙规则,这时候访问33333才会恢复正常。但只要再访问一次被丢弃的端口,问题就会再次出现。

补充信息

  • 这个异常只在IPv6环境下出现,IPv4测试完全没有问题
  • 我试过用ncat、nmap以及tcpdump工具测试,都能观测到类似的异常表现
  • 感觉自己可能对IPv6网络的某些机制理解不到位,想问问有没有大佬遇到过类似的问题或者知道原因?

备注:内容来源于stack exchange,提问作者stmas

火山引擎 最新活动