网络不稳定

debian12服务器,ssh登录后,经常没有反应。
此时使用SoftPerfect Network Scanner扫描一下服务器,ssh又能继续了。如果不扫描,连按一些键后,就超时断开了。
通过Wireshark捕获消息,不能反应时,本地发往服务器的包,没有被服务器响应。但是此时服务器有自己的广播udp包发出,比如SSDP消息, arp消息等。

你是在哪里抓包的呢?

Windows下通过ssh访问Debian 12 server
Wireshark也是运行于Windows下

如果你是开始正常登录,但是一段时间不操作后没有响应,猜测有可能是连接太久没有传输被 NAT/防火墙 断开连接了。可以尝试使用心跳包保活:

.ssh/config

Host *
    ServerAliveInterval 60

另外 sshd 也有类似的配置,只不过心跳包发送方向不一样。请自行查询 sshd 配置手册。

嗯,应该是 NAT 超时了。除了开 ServerAliveInterval 外,还可以选择使用 IPv6 公网地址、改用 mosh 连接。

不过你是怎么知道服务器有 ARP 的呢?

非常感谢大家回复。
ssh登录很短的时间可能就会没有反应。
服务器重启后,要几分钟才能连接。然后登录后,几秒钟可能就没有反应了,ssh windows客户端主动断开了连接。这个时候,使用netscan工具进行扫描一下,就好了。此时服务器还是很空闲的, 并没有耗时的任务。
截图中192.168.1.1即为服务器地址. 192.168.2.3为Windows本机地址

建议检查服务器的系统日志,请使用 root 权限运行 journalctl -b -f 观察连接过程中服务器日志。

也许真的是存在网络问题,但是应当先检查服务器的工作状态,而不是尝试抓包分析。其它客户端也有同样的问题吗?

另外,你的网络拓扑是什么?

不只是ssh客户端不能使用,PG数据库、自定义的服务也连接不上。
使用journalctl -b -f观察,使用ssh连接时, 会有1-2个被防火墙阻挡的记录。PROTO=TCP SRC=192.168.1.234 DPT=32768 SYN
拔掉192.168.1.234, 不再有这种记录,但是还是无法连上服务器。
再插上192.168.1.234, 没有了防火墙阻挡的记录,但是还是无法连上服务器。
此时,在服务器上使用ftp来连接Windows客户端的服务,可用连接成功。然后从windows上使用ssh连接服务器即可成功,只是可能很快就会断开(1分钟内或是2个小时都有)。

其中我有两个多口路由器, 192.168.1.234插在主路由器上,我的PC和服务器都插在从路由器上。另外有一个192.168.2.222的电信路由器插在主路由器上。
无论是服务器还是我的PC, 都没有使用192.168.1.234这个出口,而是.2.222的出口

在网关上设置端口映射,通过外网访问服务器,一点问题都没有。只有局域网才有问题。

听起来好复杂,画个网络拓扑图吧。

网络拓扑

  1. 当外网通过192.168.2.222访问192.168.1.1稳定时, 内网访问192.168.1.1不稳定。
  2. 当内网范访问192.168.1.1稳定时, 通过外网访问不稳定。

非常感谢大家的回复,问题解决了。
局域网内有人新购了一个wifi设备, 加入了网络,这个wifi设备的ip和服务器ip冲突。