FTP服务器在公司内网,通过端口映射把21端口映射出去。

公司一些机器也在各个省的机房内网。好在这些机器可以访问公网。由于各个地区的机器托管在各个地区机房。

我有公司防火墙的权限,可以做防火墙上做端口映射,把FTP设置为被动模式,各个省的机器作为客户端连接公司这边FTP服务器即可

环境介绍

公司FTP服务器地址是10.0.1.12,控制端口是默认的21端口,数据传输模式是主动模式

公司防火墙是202.101.102.35,   映射222.101.102.35:50021-->10.0.1.12:21

先看下Serv-U设置被动模式之前,客户端连接的报错(已经被10.0.1.12的21端口映射出去了,映射为防火墙的50021端口了),客户端ftp工具是flashfxp

关于ftp默认的主动模式和被动模式 

主动FTP
主动方式的FTP是这样的:客户端从一个任意的非特权端口N(1024)连接到FTP服务器的命令端口,也就是21端口。
然后客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。

数据访问方式如下。(命令发起方是客户端,数据发起方是服务器端)

被动FTP
为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被动方式,或者叫做PASV,当客户端通知服务器它处于被动模式时才启用。
在被动方式FTP中,命令连接和数据连接都由客户端发起,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。
当开启一个 FTP连接时,客户端打开两个任意的非特权本地端口(N和N+1)。
第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交 PASV命令。
这样做的结果是服务器会开启一个任意的非特权端口(1024),并发送PORT P命令给客户端。(为了方便控制,服务器的被动端口通常指定一定范围)
然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。

网上搜索很多说是客户端打开2个任意的非特权端口,但是我在实际测试时发现客户端这边是1个端口,后期等待验证,可能与工具有关吧

数据访问方式如下(主要是发起方都是客户端)

 Serv-U改成被动模式以及端口映射操作

1、找到设置FTP被动模式的地方,我的Serv-U版本是11.1.0.7 ,不同的版本可能设置的地方不一样

在下面 Serv-U上设置被动模式的数据端口为5022

2、防火墙做端口映射

222.101.102.35:50022-->10.0.1.12:5022

3、客户端测试,使用flashfxp工具。连接成功,正常传输文件

以上操作之后网络逻辑图如下

上海这边的192.168.1.100的机器就可以连接公司ftp工具进行下载和上传了

Serv-U设置被动模式(FTP工具)的更多相关文章

  1. ftp工具类

    package com.ytd.zjdlbb.service.zjdlbb; import java.io.File;import java.io.FileInputStream;import jav ...

  2. Java操作FTP工具类(实例详解)

    这里使用Apache的FTP jar 包 没有使用Java自带的FTPjar包  工具类 package com.zit.ftp; import java.io.File; import java.i ...

  3. 主动模式FTP与被动模式FTP该如何选择

    主动模式FTP与被动模式FTP该如何选择  无论是主动模式还是被动模式,其要进行文件传输都必须依次建立两个连接,分别为命令连接与数据连结.而主动模式与被动模式的差异主要体现在数据连结通道上.为了说明两 ...

  4. PHPstorm设置连接FTP,进行文件上传、下载、比较

                                                 内容转载自:http://www.cnblogs.com/jikey/p/3486621.html   如何在 ...

  5. Windows 服务器开通防火墙后,IISFTP和Serv U开通的FTP账号不能登录

    应广大服务器客户要求一至反应Windows 服务器开通防火墙后,IISFTP和Serv U开通的FTP账号不能登录,出现列表超时的情况,特提供以下解决方案: 1. IIS FTP用户解决方法: 在防火 ...

  6. windows快速搭建FTP工具Serv-U FTP Server

    本文介绍一个简单的FTP工具,当然windows系统自带FTP工具,但是配置方法没有第三方工具来的简单可操作性好. 此工具用于搭建FTP环境,对于需要测试FTP上传功能具有极大帮助.例如球机抓拍图片上 ...

  7. mac内置的FTP工具

    在 Mac OS X 系统下,有不少优秀的 FTP 工具,如 Cyberduck.Transmit,但是你是否知道除了这些第三方应用,系统已经为你准备好了一个内置的 FTP 工具?/ M: e0 J% ...

  8. 设置好ftp后用xftp连接提示无法打开,无法显示远程文件夹

    原文:设置好ftp后用xftp连接提示无法打开,无法显示远程文件夹 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/the_victory/artic ...

  9. ftp工具无法连接到Linux服务器

    ftp工具无法连接Linux服务器,文件无法上传,是因为你的ftp服务器未搭建(或未启动) 许久没有登录腾讯云,今天想用xshell的xftp工具上传文件,却突然出现连接不上. 用22端口,可以正常登 ...

随机推荐

  1. centos中PATH环境变量查看和修改

    PAHT环境变量 :定义的是系统搜索命令的路径.<就是自己写的程序不打绝对路径就可以执行,必须放到 $PATH这个文件中>查看命令:echo $PATH 以添加mongodb server ...

  2. AssetBundle自动标签、打包

    using System;using System.Collections.Generic;using System.IO;using UnityEditor;using UnityEngine; / ...

  3. 【转】Delphi 10.3关于相机该注意的细节

    感谢移动信息化专家提供的方法,他的ChinaCock组件是相当的专业,感兴趣可以加入qq群223717588.

  4. python 创建flask项目方法

    Flask是一个基于Python的web框架,它的设计目的是提供Web开发所需的最小功能子集. Flask与别的框架(尤其是采用其他编程语言的框架)的不同之处在于:它没有绑定诸如数据库查询或者表单处理 ...

  5. OneinStack 安装

    安装步骤 注意 如果有单独数据盘,建议您先挂载数据盘,建议将网站内容.数据库放在数据盘中.如何挂载数据盘,请参考(支持阿里云.腾讯云):<如何利用脚本自动化挂载数据盘?> yum -y i ...

  6. day12作业答案

    2.1 # lst=['asdgg','as','drtysr'] # lst2=[i.upper() for i in lst if len(i) >3 ] # print(lst2) # 2 ...

  7. Python 依赖关系

    class Person: def play(self, tools): # 通过参数的传递把另外一个类的对象传递进来 tools.run() print("很开心, 我能玩儿游戏了&quo ...

  8. 几种常见数据库的driverClassName和url

    DB2: driverClassName:com.ibm.db2.jcc.DB2Driver url:jdbc:db2://localhost:50000/sample Oracle: driverC ...

  9. ES6 函数的扩展-rest参数

    ES6 引入 rest 参数(形式为...变量名),用于获取函数的多余参数,这样就不需要使用arguments对象了.rest 参数搭配的变量是一个数组,该变量将多余的参数放入数组中. functio ...

  10. WebService远程调用技术

    1.---------------------------------介绍-------------------------------------------------- (1)远程调用:一个系统 ...