- 论坛徽章:
- 0
|
郁闷啊,请各位兄弟务必帮忙看看,我2年前就问过这个问题,一直没有解决!从squid2.6升级到2.7.9也无济于事。
我因为经常需要从外部连学校内网的FTP,因为内网机器无法直接连上,所以在一台服务器上安装了Squid作为跳板,但是问题来了,有时候可以非常顺利的连上ftp,有时候就连不上,而且经过观察,我觉得我找到了原因所在,应该是ftp协议信息在经过squid的过程中被损坏导致客户端一直等待。请熟悉squid的淫帮我分析分析看该怎么办
下面是我前后两次连接ftp的客户端软件日志(flashfxp),第一次成功了,第二次失败。我把自己的分析在日志中备注了。
--------------------------------------------------
WinSock 2.0 -- OpenSSL 0.9.8k 25 Mar 2009
[R] Connecting to 内网机器 via Proxy -> IP=proxy.mxx.edu.cn PORT=892
[R] Connected to 内网机器 via Proxy
[R] 220 Welcome. (这句很关键,这次是正确的,所以能顺利连上)
[R] USER cgsoft
[R] 331 Please specify the password.
[R] PASS (hidden)
[R] 230 Login successful.
[R] SYST
[R] 215 UNIX Type: L8
[R] FEAT
[R] 211-Features:
[R] EPRT
[R] EPSV
[R] MDTM
[R] PASV
[R] REST STREAM
[R] SIZE
[R] TVFS
[R] UTF8
[R] 211 End
[R] PWD
[R] 257 "/"
[R] TYPE A
[R] 200 Switching to ASCII mode.
[R] PASV
[R] 227 Entering Passive Mode (10,202,35,158,196,255).
[R] Opening data connection via Proxy
[R] LIST -al
[R] 150 Here comes the directory listing.
[R] 226 Directory send OK.
[R] List Complete: 1 KB in 0.12 seconds (13.1 KB/s)
第一次连接很幸运,很顺利的连上并列出了目录。下面我断开:
[R] QUIT
[R] 221 Goodbye.
[R] Logged off: 内网机器
再重新连:
[R] Connecting to 内网机器 via Proxy -> IP=proxy.mxx.edu.cn PORT=892
[R] Connected to 内网机器 via Proxy
[R] 20 Welcome. (看到区别了吗?状态码本来应该是220,但是这里却是20,flashfxp会一直等待,直到我点断开按钮)
[R] QUIT
[R] 221 Goodbye.
[R] Connection failed
我目前的解决办法就是不断重新连接尝试,多试几遍就会遇到一次正确的,就可以登陆进去了。一旦进去,到下次断开,之间就不会再有其他问题了。
一般出现20的几率比正确的200要大很多。看运气,至少10次能遇上一次好的,点儿特别背的时候,重试几十次也遇不到一次正常的。
代理服务器:freebsd + squid (2.6/2.7都试过)
内网ftp:Linux(Centos/redhat)和freebsd(6/7/ 问题都一样,ftp服务软件用vsftpd、proftpd都这样。
客户端:flashfxp。好像支持代理的ftp软件不多。flashfxp不同版本也都试过了。 |
|