作者ronlee543 (自由)
看板Network
标题[问题] 无法在虚拟机器上使用FTP Passive模式
时间Wed Apr 8 22:18:17 2009
先说明网路架构如下:
Router
WAN IP: 59.1.1.1
LAN IP: 192.168.1.254
LAN
A主机: 192.168.1.1
X主机: 192.168.1.10(虚拟机器,建立在A主机里面。Passive port: 30001~30010)
B主机: 192.168.1.2
远端C主机: 61.61.61.61
我画了一张简单的架构图,可以参考一下:
http://www.wretch.cc/album/show.php?i=lamoni&b=1&f=1417643733&p=0
在LAN里面的实体电脑上,我可以轻松架设FTP Server,让客户端以Passive模式连线。
但是架在虚拟机器里的FTP Server则一直无法正常运作。
假设FTP Server架在实体电脑A主机上面,正常的流程是这样:
1.远端C主机向Server位址所在的Router要求FTP连线。
2.Router收到封包,转发给A主机。
3.A主机回覆,可以连到我的192.168.1.1的30001 port。目的地为C主机。
4.封包出了Router後,变成"请连到wan ip 59.1.1.1的59507 port",目的地仍为C主机。
5.远端C主机发出封包,连到Router的wan ip的59507 port
6.对应到A主机Lan ip的30001 port,连线建立。
现在虚拟机器(X主机)上的问题是,此流程到第5个步骤就没了。
X主机没有收到最後那个要求建立连线的封包。
我用WireShark封包撷取软体,就是没看到这个步骤的封包。
问题点?
1.FTP Server的软体
试过zFTP、G6,情况一样。而且在实体电脑上可正常运作,
轻轻松松我就可以设定起来,唯独虚拟机器上无法运作。
2.Router?
我也怀碍过为何Router发出的port不是我设定passive的
位址范围(30001~30010)。
因为如果是同一个LAN里的B主机连到A主机,
A主机会说请连到30001,然後B主机就连到30001。
而远端C主机要连线时,A主机也是说请连到30001,
但出了Router後却变成请连到59507,
然後C主机收到後就连到Router的59507,再对应到Server的30001。
这样的流程在实体电脑上是正常的,但在虚拟机器上,
连线就停在Router那边:
「虚拟机器X主机没有收到远端要求连线到59507 port的封包」
所以我怀碍是否Router的NAT功能出了问题。
但因为实体电脑上可正常转发封包,所以又无法确定。
3.VMware的问题???
X主机的网卡使用Bridge模式,作业系统为Windows 2003 Server R2。
既然是Bridge模式,所以可直接存取实体网卡。而且可正常连通Internet。
注1:虚拟机器上的防火墙没开。
注2:远端可用Port模式连到虚拟机器的FTP Server。只有Passive模式不行。
So...what's the problem?? Router? FTP Server的设定?Vmware?
请问有人在虚拟机器上架设FTP吗?
请不吾赐教…感谢不尽…
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.172.73.72
1F:推 mp607:什麽软体可以画那种图? 04/08 22:29
※ 编辑: ronlee543 来自: 218.172.73.72 (04/09 00:07)
2F:→ ronlee543:Microsoft Visio。在Office 2003的光碟片里面有。 04/09 00:08
3F:推 mp607:谢谢:p 04/09 16:44