我正在尝试将一些大约 2GB 的文件发送到运行 Fedora 36 的家庭服务器。在我的笔记本电脑上,我有 Pop OS!22.04。两者都通过以太网直接连接到我的路由器。可悲的是,我遇到了错误,我无法弄清楚如何修复它们。我知道有很多帖子都有类似的问题,但我还没有找到适合我的解决方案。
我尝试运行rsync,结果如下:
data.zip
413,040,640 15% 98.50MB/s 0:00:22 client_loop: send disconnect: Broken pipe
rsync: [sender] write error: Broken pipe (32)
rsync error: error in socket IO (code 10) at io.c(823) [sender=3.2.3]
然后我尝试了scp它给了我这个:
client_loop: send disconnect: Broken pipe
lost connection
并且rclone返回这个并再次尝试了很多次:
2022-09-17 15:44:57 ERROR : sftp://[email protected]:22/: Discarding closed SSH connection: read tcp 192.168.1.17:51790->192.168.1.200:22: read: connection reset by peer
2022-09-17 15:44:57 ERROR : data.zip: Failed to copy: Update ReadFrom failed: connection lost
一般来说,我检查了 dmesg 和 journalctl,但没有找到对我有帮助的东西。以下是我已经尝试过的事情:
- 限制传输速度
- 检查是否有足够的空间可用(是的,有超过 150GiB 的可用空间)
- 设置“
ServerAliveInterval
”和“ServerAliveCountMax
” - 增加超时(传输通常会在几秒钟内失败,所以这是否重要?)
- 压缩/创建焦油并转移
- 在两台机器上使用 rsync 3.2.3
- 在我服务器上的另一个驱动器上写入
- 运行“
dmesg | grep rsync
”以查看是否出现了什么。它对我没有任何回报) - 强制清除内存
echo 3 > /proc/sys/vm/drop_caches
- 还重新下载、刷新并重新安装了 Fedora 36。
现在你可能会认为我的笔记本电脑可能有问题。但奇怪的是,我可以毫无问题地向/从运行 Raspberry Pi OS 的 Pi4 传输数据。
如果有人有任何进一步的想法会很棒:)
编辑:这是关于我的系统的一些信息。
主服务器: 我的主服务器的 neofetch 输出
笔记本电脑: 我的笔记本电脑的 neofetch 输出
编辑 2:尝试在单独的网络(新路由器)上进行传输,仅连接媒体服务器和我的笔记本电脑(无 WAN 访问)。如果没有任何重复的 IP、主机名或 MAC 地址分配,它也不会工作
在@Hastur 建议检查从我的笔记本电脑和 Pi4 与我的服务器之间的传输之后,我发现了一些东西。我翻阅了显示 sshd 日志的命令,每次传输失败时
journalctl _COMM=sshd
我都看到了这条线。ssh_dispatch_run_fatal: Connection from user user 192.168.1.XXX port XXX: message authentication code incorrect
我只是错过了它,或者它没有出现在我查看的日志文件中。无论如何......我现在搜索了如何解决这个问题。在尝试并搜索了一堆之后,我遇到了这个页面:https ://p5r.uk/blog/2014/ssh-corrupted-mac-on-input.html巧合地解决了我的问题。我
ethtool -K eth0 tx off rx off
在我的服务器上运行并开始了新的传输。突然,一切都通过了,在传输了大约 50GiB 之后,它没有再次抛出该错误。我猜它现在可以工作了。