最近用VPC一直用的很爽,用来调试安装包,实在太好用了。但是,最近却遇到一个问题,FTP总是无法正常工作,经过漫长而痛苦的跟踪定位,找到原因:
40:47.587状态:与主机通讯时出现了错误
200 Type set to I. 500 Invalid PORT Command. 500 'LPRT 6,16,0,0,0,0,0,0,0,0,120,79,22,0,60,0,0,0,2,4,14': command not understood
在vpc的命令行下用了一下ftp,果然: C:Documents and SettingsAdministrator>ftp ftp> open www.slwater.gov.cn Connected to www.slwater.gov.cn. 220 Microsoft FTP Service User (www.slwater.gov.cn:(none)): *** 331 Password required for sladmin. Password: 230-欢迎使用本FTP系统,本FTP系统为数据接口设置,无关数据请 230 User sladmin logged in. ftp> ls 500 Invalid PORT Command. 150 Opening ASCII mode data connection for file list.
看来原因在于我的联网方式,找了这个资料:
1. 【虚拟机可用网络类型】 根据VPC虚拟机网络参数配置,可以使用以下几类网络: a. 内部网络 b. 因特网和其他外部网络 c. 仅由虚拟机组成的本地网络 d. 由虚拟机和物理主机组成的本地网络
2. 【虚拟机可配置网络参数】 每个VPC虚拟机可以同时具有4个网络,每个网络均配置1块网卡,总共可以配置4块网卡。其中只有第一个网络的可以配置成使用共享网络方式。每个网络可以以下几种配置参数: a. 无网络连接方式 Not Connected b. 本地方式 Local Only c. 共享网络方式 Shared Networking(NAT) d. 主机的物理网卡/微软的软网卡(Microsoft Loopback Adapter)
VPC2004SP1网络配置参数画面如下:
配置为无网络连接方式 Not Connected
虚拟机将不可以使用网络,物理主机没在网络上或者不想通过虚拟机上网,则可以选择此项屏蔽虚拟机的网络,加快虚拟机内应用软件检查网络可用性的速度。
配置为本地方式 Local only
只能虚拟机之间相互访问,虚拟机将被不允许访问物理主机上的任何网络资源。
配置为 共享网络方式 Shared Networking(NAT)
注意:只能是第一个网络适配卡位置才能设置为共享网络方式。
在本方式下,虚拟机等同于连接在由Virtual PC构建的私有网络,这个私有网络包含一个DHCP服务器和一个NAT服务器。这两个服务器角色由VPC扮演。这种方式允许虚拟机访问绝大部分的物理主机能访问的网络资源。此时,每个虚拟机不需要设置网络参数,但必须把虚拟机网卡配置自动获取方式,否则会导致无法访问网络。给每个虚拟机配置的IP地址范围为192.168.131.xxx !xxx 为从1到253之间。
注意:本方式下,物理主机的网络IP地址不允许被配置成192.168.131.xxx范围。
配置成共享网络方式,虚拟机就像一台计算机躲在NAT路由器之后,不支持端口映射,不支持外部主机访问虚拟机构成任何服务器和端口。在该方式下非管理员级别的用户不能在物理主机上使用ping或者基于ICMP协议的功能。对于拨号上网的物理主机,不管是PPOE还是MODEM拨号,虚拟机要访问Internet资源必须设置成共享网络方式。配置为 主机的物理网卡/微软的软网卡(Microsoft Loopback Adapter)
这种方式的虚拟机可以在网络上做为一台“真实”的主机。相当与物理主机的在网络出现的形式。注意:此时使用的物理网卡,不是微软的软网卡。此时的虚拟机也可以作为域的成员计算机,只要域控制服务器添加该虚拟机就可以了。在这种情况虚拟机的计算机名不允许与网络上的主机重名,不管是虚拟的还是物理的主机。
这种方式的虚拟机要上因特网,使用ADSL拨号上网,或者使用内部网络的代理服务器上因特网。看实际网络情况。
当主机没有物理网卡或者没插网线,还可以使用微软的软网卡来实现单机局域网。
3. 【网络配置与网络形式】 当虚拟机网络适配卡设置成本地方式Local only,所有的虚拟机构成了前面所说的c类网络;
当虚拟机网络适配卡设置成微软软网卡Microsoft Loopback Adapter,所有虚拟机和物理主机构成d类网络;
当虚拟机网络适配卡设置成物理网卡,虚拟机可以构成内部网络或者因特网以及其他外部网络。
再次找到设置物理网卡的方法:
打开本地物理网卡的属性,查看Virtual Machine Network Services状态是否正常(方法:右键网上邻居----属性----右键物理网卡----属性)
如下图红色框中所示(因为我用的是英文版的XP,显示可能有点不同):
如果上图中的Virtual Machine Network Services 没有被勾选,则勾选后,VPC可以识别到物理网卡
如果上图没有Virtual Machine Network Services 服务,请点击第二个红色框安装Virtual Machine Network Services 服务
具体步骤点击 安装 ---- 服务 ----- 添加 ---- 从磁盘安装 --- 浏览 ----D:Program FilesMicrosoft Virtual PCUtilityVMNetSrvVMNetSrv.inf 其中红色部分为你VPC的安装文件夹
安装Virtual Machine Network Services后,VPC可以识别物理网卡
因为以前用的是绿色版的vpc,所以没有这项功能,下载了一个全的需要安装的,就自动有这个服务了。这时在vpc的设置里可以看到物理网卡,启动后,用的是静态的ip地址,FTP正常。