我有一个 arch-linux 系统,用作服务器。我尝试连接SSH和桑巴舞来自不同的 Windows 7 计算机。
但是,我经常遇到连接中断的情况。SSH(例如 putty 或 kitty)例如说:
服务器意外关闭网络连接
通常,当我第一次尝试连接时
网络错误:软件导致连接中止
当我设法连接到机器时,再次断开连接所需的时间是非常随机的。有时只有几秒钟,有时一个小时或更长时间。
当我使用桑巴舞,我经常在中止之前复制一些 GB 的数据。在它再次工作之前,我有一段时间无法浏览 samba 共享。SSH和桑巴舞始终同时断开连接(假设两者都处于活动状态)。
我不确定这是什么问题 - 当我的SSH或者桑巴舞断开连接我仍然可以 不是 ping
机器不再。我已经尝试在机器之间使用不同的交换机,但它也没有帮助。我尝试改变MTU/MRU价值观——没有成功。
Atcp转储表明,TCP协议握手成功,但之后 Windows 7 客户端不再响应。
您知道这里发生了什么或者我如何调试该行为吗?
答案1
这些类型的问题让我认为以太网网卡或布线有问题。这些听起来像是虚假错误,并且经常出现在看起来奇怪或不相交的错误中。
出现这些类型错误的一个领域是查看特定网络设备遇到的错误数量。这些计数通常应低至零。
例子
看一下 的输出ifconfig
。
ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:22:15:91:C1:2D
inet6 addr: fe80::222:15ff:fe91:c12d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:242318977 errors:0 dropped:0 overruns:0 frame:0
TX packets:269864547 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:137822461046 (128.3 GiB) TX bytes:248317481947 (231.2 GiB)
Interrupt:233 Base address:0x8000
我们感兴趣的是这一行:
RX packets:242318977 errors:0 dropped:0 overruns:0 frame:0
TX packets:269864547 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
请注意,对于该特定服务器,错误值全部为 0。我还会在出现此行为的其他计算机上检查这些值。
类似的命令,ipconfig
也可以在 Windows 客户端上显示相同类型的错误,我也会检查一下!
还有什么?
如果上面显示错误,即使没有,我也会尝试更换服务器到交换机的布线,然后通过排除过程通过以下方式进一步诊断问题。
- 服务器和客户端的以太网 NIC
- 服务器和客户端之间的布线
- 转变
- 确认客户端 X 和客户端之间的连接“良好”
笔记:我通常使用iperf
在网络上的各个客户端之间进行此类分析。
如果您已成功完成上述所有操作并且没有找出问题,那么接下来我将向上移动堆栈并开始仔细检查 ArchLinux 服务器上的软件。
答案2
连接到 SSH 服务器时,使用“ssh -v @”。 “-v”表示“详细”,在出现“服务器意外关闭网络连接”错误之前,您将确切地看到发生了什么。
PS:在另一台 Linux 机器上尝试上述命令,而不是在 Windows 上。