lbl
0a73bc3356
fix(nat): TCP/ICMP NAT 不再因单点瞬时错误永久瘫痪
问题:
- tcp_nat listen_task:accept() 或 local/peer_addr 查询失败、
no_tun 下 network.ip() 未就绪(None),任一错误经 ? 传播直接
杀掉整个监听任务,NAT 永久失效且无重启。
- icmp_nat task:任一侧 socket 收发或单包处理出错同样经 ? 传播
终止整个任务。
修复:
- 循环内错误改为 log::warn + continue,并加 100ms 休眠避免持续性
错误造成空转。
- no_tun 下 network.ip() 为 None 时跳过重写/丢弃该包,而非报错退出。
注:该修复为异步 I/O 循环的容错行为变更,依赖真实 socket,
未补充端到端测试;已有 nat 相关单测全部通过。
2026-08-20 23:05:08 +08:00
..
2026-02-10 18:20:39 +08:00
2026-08-20 23:05:08 +08:00
2026-02-10 18:20:39 +08:00
2026-08-20 20:58:07 +08:00