问题描述
我在两台新服务器(均为全新安装)上使用Ubuntu Server 10.04 64bit时出现了一些奇怪的现象。我已经在4-5个其他服务器上部署了ubuntu服务器(相同版本),而没有出现此问题。
最初,只有在/etc /ssh /sshd_config中手动设置ssh服务器正在侦听的地址后,我才能ssh进入全新的服务器安装。建立连接后,我似乎会被随机踢出,并出现以下错误:
写入失败:管道损坏
使用“ ssh -vv”不会显示任何其他信息。当我以这种方式被踢出去时,我无法在另一个看似随机的时间段内重新连接。有时是几秒钟,其他则是几分钟。如果运行“ netstat -nap | grep:22”,则可以看到在写入失败错误之后,我的连接仍然存在。在连接断开之前,我似乎看不到re-connect。
在发生这些错误之一之后,如果我从控制台跳至服务器,将ssh切换到另一台计算机,然后尝试ssh返回服务器,则一切正常。
使用“ -o TCPKeepAlive = yes”客户端似乎没有任何作用。我已经禁用了服务器上的iptables和ufw。 AppArmor没有显示任何强制执行的配置文件,并且未安装SELinux。
我的日志没有报告任何错误,并且我没有任何自定义配置。这是box-stock安装。请注意,当我尝试在管道破裂错误后返回时,这是我得到的错误:
ssh:连接到主机172.22.50.92端口22:连接被拒绝
尽管服务器上的netstat表示它仍在侦听端口22,但nmap不再将端口22显示为处于打开状态。
编辑-我不确定这是否意味着什么,但是我已经在这些主机上安装了KVM,并且可以毫无问题地进入guest虚拟机(以及64位的ubuntu服务器)。
更新-我尝试使用apt清除openssh和re-installing。我还从源代码中清除并安装了openssh,但没有运气。通宵的traceroute和ping不会显示任何数据包丢失。
另一个更新-戴尔似乎认为我们服务器中的主板不良。将其更换以查看是否可以解决问题。
最佳回答
使用mtr检查网络。尝试使用类似mtr -i 15 remotehost
的命令。让它在窗口中运行,或使用屏幕,以便分离。它应该捕获网络的任何问题。在我的大多数系统上,数据包丢失通常为0%。
编辑:ssh删除前后,您的IP地址的arp -n
输出显示什么。您可能想在同一子网上的另一台服务器上尝试此操作。 IP地址只能有一个硬件地址,并且不能更改。如果是,则您的IP地址冲突。
次佳回答
这篇文章解决了这个问题:massive packet loss when servers are brought online