heiher / natmap

TCP/UDP port mapping for full cone NAT
MIT License
1.38k stars 103 forks source link

ssh断开连接问题 #55

Closed doyoman closed 7 months ago

doyoman commented 7 months ago

使用natmap,ipv4打洞,同时建立了一个ss服务端,将natmap的流量是设置转发到本地ss服务端的,在外面分流走这个ss节点,通过ssh访问内网设备,ssh空闲2分钟会断开,很准确的2分钟断开,做了几次测试。

使用ipv6搭建的ss节点,ssh访问家中内网设备,不会有2分钟断开的问题,这样应该可以排除此ssh设备的设置问题。

疑问是,到底是什么原因导致ipv4打洞下2分钟空闲,ssh就断连呢?是natmap设计中的问题还是运营商干的好事

启动脚本命令如下: image

heiher commented 7 months ago

natmap转发模式的应用层转发器默认有连接120秒不活跃超时,对于ssh默认没有启用keep-alive心跳的会造成连接中断,有两个解决方法:

  1. 当natmap和转发目标在同一主机上,优先使用绑定模式。不同主机可以使用防火墙转发。
  2. 在ssh客户端设置ServerAliveInterval配置120秒以内的保活间隔。

当然也可以适当调长natmap代码中的超时值,目前还不是可配置项。

doyoman commented 7 months ago

好的,谢谢您,设置60s保活以后可以了

doyoman commented 7 months ago

不知以后有没有计划增加设置超时时间以及设置永不超时的参数呢?

heiher commented 7 months ago

https://github.com/heiher/natmap/releases/tag/20240409-next