192.168.1.1-路由器设置 | 192.168.0.1-无线路由器设置

虚拟机NAT模式下外网访问内网FTP服务

发布时间:2015-04-15 10:05

宿主主机地址  192.168.1.106

VMnet8网络虚拟网卡地址 192.168.137.1

虚拟机地址 192.168.137.99

1,外网设备需要访问虚拟机FTP服务
首先在虚拟机上安装FTP服务(直接RPM安装vsftpd RPM安装包即可),并启用FTP服务。
如果需要外网能访问这台虚拟机上的FTP服务,那么需要开启虚拟机的端口映射功能。
Workstation虚拟机上操作步骤如下:
 编辑--虚拟网络编辑器

  首先找个端口映射到咱们的虚拟机FTP服务器的21端口上.

 但是这个时候问题来了,此时你在192.168.1这个网段的局域网主机上是无法访问这台虚机FTP服务的,通过在虚机上用tcpdump抓包,会发现到虚机的21号端口的命令链接是建立起来了,但是由于无法建立数据链接,所以最终你是无法访问FTP上的数据的。
      一般来讲FTP客户端软件(比如CuteFTP,Fillzilla,WinSCP)这些软件连接方式是PASV(被动模式),即FTP客户端向服务端口(默认是21)发出连接请求,服务端接到请求后建立命令链路。然后服务端通过命令链路发消息告诉客户端,服务端XXXX端口,位于(1025—65535)之间,开放,与客户端建立起数据链路,从而客户端可以进行数据上传与下载。这个被动指的是客户端被动收到服务端的消息,才能开始传输。一般这样的话,可能会收到服务端防火墙的阻隔
      而主动模式,PORT,即FTP客户端向服务端口(默认是21)发出连接请求,服务端接到请求后建立命令链路,这个过程与被动连接一样。然后客户端通过命令链路发消息告诉服务端,客户端一般是20端口开放,服务端收到消息后连接该端口,建立起数据链路,从而进行数据的上传下载。这个主动是指客户端主动开放20端口,并发起与服务端建立数据传输的请求。这种模式,可能受限于客户端防火墙的限制,另外也不能用与代理上网时的FTP服务,因为服务端收到客户端请求后,他连接的代理服务器的端口


      主动模式(PORT)和被动模式(PASV)。主动模式是从服务器端向客户端发起连接;被动模式是客户端向服务器端发起连接。两者的共同点是都使用21端口进行用户验证及管理,差别在于传送数据的方式不同,PORT模式的FTP服务器数据端口固定在20,而PASV模式则在1025-65535之间随机 (上面三段文字取自网络)
     也就是说PASV模式下客户端访问FTP服务器的时候,服务器通过命令链接告诉客户端,我已经打开了XXXX端口,你来连接我的XXXX端口,就可以取得你需要的数据了,客户端收到了服务端的消息后,于是就去访问宿主主机也就是192.168.1.106的XXXX端口,但是XXXX端口并没有做相应的端口转发,于是这个请求就会超时,无法连接FTP服务器
此时只需要做两步,就可以让192.168.1这个网段的主机访问FTP 服务器了
2,在FTP服务端指明被动模式使用的端口范围
修改服务器FTP服务配置文件(vsftpd.conf)加两行,并重启路由器和FTP服务。
pasv_min_port=10000
pasv_max_port=10003

第二步在虚拟机上配置。这样配置好后,利用客户端来登录访问。

关于我们 - RSS地图 - 最近更新 - 友情链接 - 网站地图 - 版权声明