Ale*_*x R 9 networking linux ftp vmware-player
我无法将大文件从 Internet FTP(检索)到我的 Linux VM。过一会就超时了。
实际错误是“无法从控制连接读取回复——超时。 ”此错误发生在几分钟后,在文件的大部分已经传输之后。
设置是:
FTP 客户端:ncftpget 运行在 Linux 上的 VMWare Player 3.0 FTP 服务器:别人的机器在 Internet 上,配置未知 来宾操作系统:Ubuntu 8.10 Linux 32 位,安装了 vmxnet 和 vmware 工具。 主机操作系统:Vista 64 位 网络:Linux VM 通过桥接 NIC 连接到 Internet(也尝试过 NAT) FTP模式:PASV我确实发现一些论坛帖子提到了某处的 2 分钟超时。但究竟在哪里以及如何修复它并不清楚。已经尝试了一些故障排除步骤:
Linux VM 上的更新Netstat 和 DIR-655 路由器上的等效管理页面都显示连接处于活动状态且良好(tcp 'ESTABLISHED' 状态)。Vista 根本看不到连接,如果仅在 VM 内管理连接状态,我猜这是正常的。
这是netsh interface tcp show global在 Vista上的输出,以防万一:
C:\Users\alex>netsh interface tcp show global 正在查询活动状态... TCP 全局参数 ---------------------------------------------- 接收端缩放状态:启用 烟囱卸载状态:禁用 接收窗口自动调整级别:高度限制 附加拥塞控制提供程序:无 ECN 功能:禁用 RFC 1323 时间戳:禁用 ** 以上 autotuninglevel 设置是 Windows Scaling 启发式的结果 覆盖任何本地/策略配置。
如果您正在通过 NAT,则 NAT 计时器可能会断开您的连接。我从酒店房间看到这一点,在那里我 ssh 到一台机器上,但在一段时间内无法做某事(有时只有 5 分钟!)
# echo 60 > /proc/sys/net/ipv4/tcp_keepalive_time
# echo 60 > /proc/sys/net/ipv4/tcp_keepalive_intvl
# echo 20 > /proc/sys/net/ipv4/tcp_keepalive_probes
Run Code Online (Sandbox Code Playgroud)
试试那些。这将导致每分钟在所有 TCP 流上发送一次 keepalive,而不管套接字上的活动如何。
请注意,ftp 客户端实际上可能不会使用 keepalive。这是应用程序必须请求的东西。如果失败,也许安装另一个 FTP 客户端会更好。NetBSD FTP 客户端 (lukemftp) 可能可用,它是迄今为止我见过的最好的命令行 FTP 客户端。
远程端也可能因不活动而关闭连接。如果是这样,它对现实有一个相当破碎的想法。如果上面的这些 TCP keepalive hacks 没有修复它,客户端将不得不定期发送一些命令(NOOP 等),或者 FTP 服务器的管理员将不得不更改他们的结束。
| 归档时间: |
|
| 查看次数: |
50564 次 |
| 最近记录: |