免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1148 | 回复: 0
打印 上一主题 下一主题

内网环境下配置FTP相关的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-09 00:14 |只看该作者 |倒序浏览

   今天做项目遇到一个比较麻烦的问题,这是个比较小的项目,项目背景是:我公司与A公司要通过FTP方式交换数据,我公司负责上传文件到A公司指定的服务器上,然后A公司将上传的文件取走。这是个非常简单的小项目,但是却在FTP服务方面出现了问题:我公司在内部架设了FTP服务器进行测试时一切正常,都能正常上传文件,但是连接到A公司指定的FTP服务器上上传文件时却失败。我公司连接A公司指定的FTP服务器是通过防火墙NAT外网地址出去连接internet。A公司的FTP服务器也是架设在内网,通过防火墙net出去, 连接internet。就是这种组网结构导致了FTP文件上传失败。首先介绍一下FTP服务,FTP服务与其他的客户端-服务器应用程序的不同就是它在主机之间使用两条连接。一条连接用于数据传输,而另一条则用于传送控制信息(命令和响应)。基于这种的连接方式产生了FTP服务的两种连接方式:(1) 主动方式 ,说简单点就是客户端发起FTP连接到服务器,但要传输数据时,客户端随机分配一个端口并告知FTP服务器,此时客户端就等待服务器主动连接进行数据传输,而服务器使用20端口连接到客户端之前随机分配的号码,并进行数据连接。客户端连接服务器的20端口进行数据传输。 (2)被动方式,简单点说,就是客户端发起连接到服务器,服务器随机启动一个数据端口,并告知客户端。客户端连接到此端口,进行数据传输。通过了解FTP的运行原理,在我公司连接A公司的服务器只能使用被动方式,因为我们的客户端是通过 防火墙NAT出去,好多端口在防火墙被封了,所以不能采用主动方式:由客户端作为数据的守候端口,由A公司来连接。但是采用被动模式只能连接到A公司服务器上,还是不能进行数据传输。通过抓包发现,作为被动方式,服务器随机分配的作为数据端口和IP地址返回给客户端时出现问题,返回的地址是A公司服务器的内网地址,所以导致我公司传送数据到A公司服务器失败,最后修改vsFTPD的配置文件pasv_address=58.223.0.78,添加这个的目的就是,服务器返回端口和IP地址,强制将ftp的外网地址送给客户端,这样客户端就可以进行连接。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/24215/showart_2065953.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP