OpenWRT 路由器疑似干扰了 IPv6 的 TCP 连接,应该如何排查?有偿。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
villivateur
1.56D
V2EX    OpenWrt

OpenWRT 路由器疑似干扰了 IPv6 的 TCP 连接,应该如何排查?有偿。

  •  
  •   villivateur 2022-12-29 17:11:04 +08:00 3056 次点击
    这是一个创建于 1019 天前的主题,其中的信息可能已经有所发展或是发生改变。

    环境:Nano Pi R2S / OpenWrt 21.02.1

    现象:经过路由器的 IPv6 TCP 连接,不管流量大小,随机时间后会被掐断,具体表现是触发重传,然后 Client 会向 Server 发送一个 RST 包导致连接断开。

    这个 TCP 连接可以不经过公网,例如我的 LAN 网络和 Wireguard 虚拟网络中的设备通讯,也会出现上述问题,故排除了宽带运营商的锅(我的 Wireguard 接入点是 IPv4 的)。

    这种情况应该怎么排查?附图是我 Wireguard 网络中的设备连接 LAN 中的设备,SSH 协议,client 和 server 的抓包情况。

    其他说明:

    1. 这个问题是两个月前才出现的,此前 IPv6 使用良好,两个月间搬过家、更新过某些 opkg 包
    2. ICMPv6 确定不受影响,UDP 理论上也不受影响(未测试)

    如果能帮忙解决,发 50RMB 以上支付宝红包。

    第 1 条附言    2023-01-03 09:04:34 +08:00
    @zbinlin
    @jim9606
    @systemcall

    修改 MTU 、MSS 相关的参数没有用,我干脆重刷了 22.03 的系统,现在似乎解决了,依然谢谢大家。

    虽然并不知道问题真正出在哪。
    13 条回复    2023-01-15 21:54:14 +08:00
    delete26
        1
    delete26  
       2022-12-29 17:13:01 +08:00
    openclash 告诉我推荐关闭 ipv6,因为大部分 bug 都是因为 v6 导致的,所以我关闭了 openwrt 上 v6 的所有功能
    villivateur
        2
    villivateur  
    OP
       2022-12-29 17:13:48 +08:00
    @delete26 但我 IPv6 是刚需,没法关
    Atomo     3
    Atomo  
       2022-12-29 21:02:10 +08:00
    逃避不是解决问题的最佳选项,期待楼下的答案
    lostberryzz
        4
    lostberryzz  
       2022-12-29 21:18:08 +08:00
    建议不要用 OpenWrt 作为主路由,开源可玩性和基础功能稳定性是硬币的两面
    systemcall
        5
    systemcall  
       2022-12-29 21:40:22 +08:00
    老问题了,mtu 的问题
    开启 mss 钳制、把 mtu 调小,1400 多一点基本上就好了
    villivateur
        6
    villivateur  
    OP
       2022-12-29 22:50:14 +08:00
    @systemcall 请问是修改 br-lan 的 MAC 层 MTU 么?现在是默认值 1500 ,调到 1400 多一点吗?
    jim9606
        7
    jim9606  
       2022-12-30 01:48:19 +08:00
    先排查一下是不是 pmtu 问题 /t/800024

    我曾经用过所谓的 passthrough 配置,就是 WAN 侧只有 /64 SLAAC RA 然后 LAN 侧用 odhcpd RA relay 模式,会有长时间无 IPv6 流量会导致默认路由丢失和同 /64 子网不互通的问题,不知道怎么修。我看你的抓包记录 ICMPv6 只有 NS 没有 RS 和 RA ,不知道会不会是类似问题。
    systemcall
        8
    systemcall  
       2022-12-30 07:01:39 +08:00 via Android
    @villivateur #6
    都调成 1400 多一点的话反正也没什么副作用,试一下能解决就行了
    防火墙那里还要配置 mss 钳制,把 mss 钳制打开
    villivateur
        9
    villivateur  
    OP
       2022-12-30 11:09:39 +08:00
    @jim9606
    @systemcall

    如果只开启 mss 钳制的话,现象没有改善。我改了 MTU 的值,结果路由器死机了。死机的问题我还在排查,但我的理解是,如果是 MTU 的问题,那么应该会有很多 IPv6 数据包出现异常,而不是现在这种情况,大部分流量可以通过,偶尔出现重传
    zbinlin
        10
    zbinlin  
       2023-01-02 13:52:22 +08:00
    你的 ssh 是 over IPv6 的?路由器的 dev 的 MTU 值不需要改,看下 ssh 的 tcp 的 MSS 值是多少?
    strp
        11
    strp  
       2023-01-08 16:19:56 +08:00
    @villivateur LAN 不要开 IP 动态伪装跟 MSS 钳制,没有意义,WAN 也是因为中国用的 PPPoE 才需要修改 MTU ,不然根本不需要修改。
    journalist
        12
    journalist  
       2023-01-15 08:02:07 +08:00 via iPhone
    你是否开启了 flow offload ,如果你开了,那这就是原因,这个 bug 在 21.02.4 版本被修复。https://github.com/openwrt/openwrt/issues/8239
    villivateur
        13
    villivateur  
    OP
       2023-01-15 21:54:14 +08:00
    @journalist 我试过开关这个选项,但是没有解决
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1019 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 18:40 PVG 02:40 LAX 11:40 JFK 14:40
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86