w****l 发帖数: 535 | 1 router连着两台电脑,其中一台开着serv-U,另一台连的时候
用内部Ip 192.168就能连上,用外部ip就连不上,怎么回事?
两个电脑共用一个外部ip,不过serv-U已经port forwarding到router上了 |
a*****a 发帖数: 1429 | 2 这和FTP协议有关。port 21只是用来接受请求的。一般有两种模式,Active和Passive
。无论那种,不是对Client要求高(Active模式,Client需要自己打开一个大于1024的
口给Server)就是对Server要求高(Passive模式,Client请求到达23口后,Server打开
一个大于1024的口给Client). |
a*****a 发帖数: 1429 | 3
如果是Passive Mode,那么你就得把你的FTP机器设置成DMZ。你目前的设置只是map了
21口。就是说外面的机器只能连接到21口。但Passive模式,FTP Server还会随即打开
一个大于1024的口,比如说3209。FTP Server在3209口开一个下载专用的Server
Socket,并且通知FTP Client,连接到那里去下载文件。但3209口被你的Router屏蔽了
,所以外面的那台机器就无法连接到3209口,也就无法下载数据。
【在 w****l 的大作中提到】 : router连着两台电脑,其中一台开着serv-U,另一台连的时候 : 用内部Ip 192.168就能连上,用外部ip就连不上,怎么回事? : 两个电脑共用一个外部ip,不过serv-U已经port forwarding到router上了
|
a*****a 发帖数: 1429 | 4 总之,FTP是一个需要多个口的协议。很不方便。如果可能的话,建议用sftp或者HTTP。 |