LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1285|回复: 8

【FTP】关于ftp主被动模式的一个问题

[复制链接]
发表于 2008-3-12 14:24:11 | 显示全部楼层 |阅读模式
两个厂家A和B需要经过ftp做文件交互。
1. A、B分别处于两个局域网内,交互时使用DCN地址(一个由交换机映射的ip地址),地址格式如 [color="red"]135.224.*.* 。
2. 局域网A内使用[color="Red"]10.10.199.*类地址,局域网B内使用[color="Red"]172.16.1.*类地址。
3. A作为ftp的客户端,B作为ftp 的服务端

现象:
    A使用主动模式连接B时(连接时使用dcn地址),会发送一条PORT 10,10,199,*,39,9的命令,B接到这个命令后无法识别10.10.199.*类地址,所以无法连接。
    A使用被动模式连接B时(连接时使用dcn地址),B告知A去连接172.16.1.*类地址,A无法识别172.16.1.*类地址,所以无法连接。

问题:
    现在无论使用哪种方式都无法进行数据传输,请教各位,这种问题该如何处理。
 楼主| 发表于 2008-3-12 15:34:59 | 显示全部楼层
不知道是不是我没有说明白,这里面涉及到ftp主被动模式的原理,限于篇幅原因,我没有提及。

可以参考这个链接
http://tb.blog.csdn.net/TrackBack.aspx?PostId=711558
回复 支持 反对

使用道具 举报

发表于 2008-3-12 15:59:20 | 显示全部楼层
如果能访问到172.16.1.*,就应该能用被动模式。
回复 支持 反对

使用道具 举报

发表于 2008-3-12 16:17:12 | 显示全部楼层
10.*.*.*和172.16~172.31都是私有地址啊。
ping估计都ping不通吧。。。根本别提ftp了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-12 16:20:07 | 显示全部楼层
Post by 天道;1825732
10.*.*.*和172.16~172.31都是私有地址啊。
ping估计都ping不通吧。。。根本别提ftp了


你说的没错,所以我们使用的是在交换机映射的地址,A和B都映射成了135.224.*.*的地址,用这个地址双方是可以ping通的,但是ftp不了
回复 支持 反对

使用道具 举报

发表于 2008-3-12 16:34:04 | 显示全部楼层
恩!ping是用icmp的,icmp是ip层的,没有端口的概念。
可是ftp是可是有端口概念的。不管主动和被动和被动模式,在数据传输时都需要分配新的端口。
可是交换机映射的话 应该使用NAT技术
可以看看NAT的实现原理,似乎很难解决你说的情况
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-13 11:05:44 | 显示全部楼层
Post by 天道;1825738
恩!ping是用icmp的,icmp是ip层的,没有端口的概念。
可是ftp是可是有端口概念的。不管主动和被动和被动模式,在数据传输时都需要分配新的端口。
可是交换机映射的话 应该使用NAT技术
可以看看NAT的实现原理,似乎很难解决你说的情况


我觉得这类在两个独自的局域网之间使用ftp互传文件的情况应该不只我一个人遇到,所以来这里求救。
谢谢你,我先看看NAT的原理
回复 支持 反对

使用道具 举报

发表于 2008-3-13 11:29:23 | 显示全部楼层
不客气
两个不同局域网,如果是私有地址的话 很难定位。
回复 支持 反对

使用道具 举报

发表于 2008-3-13 14:29:36 | 显示全部楼层
你可以这样试一下将局域网A或B的地址映射为DCN地址,用A或B地址去FTP,DCN的地址就可以实现的.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表