转至;https://www.jb51.net/article/122171.htm

安装文件以及补丁下载

公司很多资料需要通过ftp上传,那么就需要配置一个FTP服务器,找了一台Windows服务器捣鼓,开始按网上教程自己配置特别麻烦,何西西说用Filezilla比较方便,就去Filezilla官网下载了Filezilla Server,本来以为会很轻松搞定,没想到还是碰到一堆坑,记录下来方便以后查阅。

服务器:Windows Web Server 2008 R2,64位

坑1:安装Filezilla Server报错 "could not load TLS network. Aborting start of administration interface"

原因:根据这个Filezilla Forums里这个帖子https://forum.filezilla-project.org/viewtopic.php?t=39838讨论的,服务器没装补丁KB2533623。

出坑:去微软官网下载补丁,根据自己服务器型号选,我选了Update for Windows Server 2008 R2 x64 Edition (KB2533623),补丁装好以后安装Server不再报错。

坑2:打开Filezilla以后面板里红字显示"FTP over TLS is not enabled, users cannot securely"

原因:未启用TLS模式。

出坑:

打开Settings

选FTP over TLS settings,勾选Enable FTP over TLS support,然后点击中间Generate new certificate...按钮

空白处都可以随便填,注意Common name (Server address)那里填127.0.0.1就行了,下面给密钥和证书选一个保存的位置,然后点最下方Generate certificate

然后在Key password填个密钥密码,随便填一个用不到的,最后点击左下OK,再打开Filezilla就不会有错误提示啦~~

上面两个坑解决以后,就可以按照网上各种教程添加用户,分配文件夹访问权限了,基本配置参考《FileZilla怎么用 FileZilla配置FTP服务图文详解》,Settings里每一项的具体作用参考《免费ftp服务器FileZilla Server配置》,大部分都默认设置就行了。

坑3:服务器本地可以访问FTP,其他机器访问连输用户名和密码的界面都弹不出

原因:防火墙封住了服务器上FTP的入站端口,这种情况下Filezilla里连有人请求连接的信息都看不到。

出坑:

打开“高级安全Windows防火墙”

右击“入站规则”,点击“新建规则”

选择“端口”,选择“TCP”,输入FTP端口,如果之前配置Filezilla时没有改过,就用默认端口21

后面就选“允许链接”,所有时候都应用该规则,最后给这条规则命名如FTP Default Port,再用其他机器访问FTP就能弹出输入用户名和密码的窗口了,Filezilla里也能看到连接的信息啦~

坑4:服务器本地可以访问FTP,其他机器输入用户名和密码后提示“打开ftp服务器上的文件夹时发生错误,请检查是否有权限”

原因:这个坑博主把上面那条提示放到百度里,也没搜到什么靠谱的解决办法,然后想着装一个Filezilla Client,用Client访问FTP是不是能看到什么错误代码,果然找到了错误 代码"425 Can't open data connection.",从stackoverflow上搜到这个解决办法《Setup FileZilla Server Passive Ports on Windows Server 2012》。大概是说FTP的客户端默认以Passive mode(被动模式,博文最后解释了FTP的主动模式和被动模式)连接服务器,Filezilla会随机打开1-65535之间的一个端口,导致这个错误的原因就是,防火墙封住了Passive mode的端口。

出坑:

在Passive mode settings里勾选Use custom port range,如果让防火墙对1-65535端口全部开放有些危险,所以先在这里限定好端口范围

然后重复坑3在入站规则里打开21端口的过程,打开限定好的Passive mode端口范围,唯一的不同就是在下面这里输入50100-51100,给这条规则命名如FileZilla - Passive FTP Ports,再用其他机器访问就没有任何阻碍啦~

至此,Filezilla配置过程中的所有坑都跳出来了,这里再补充两个小知识和一个小技巧:

1. 防火墙的入站规则和出站规则

下面是从网上copy下来的一段解释,对于FTP服务器来说,只涉及外网访问服务器,不涉及服务器访问外网,所以上面坑3和坑4都是在防火墙的入站规则里打开端口,没有修改出站规则。

出站就是你访问外网,入站就是外网访问你,用户可以创建入站和出站规则,从而阻挡或者允许特定程序或者端口进行连接。用户可以使用预先设置的规则,也可以创建自定义规则,可以将规则应用于一组程序、端口或者服务,也可 以将规则应用于所有程序或者某个特定程序;可以阻挡某个软件进行所有连接、允许所有连接,或者只允许安全连接,并要求使用加密来保护通过该连接发送的数据 的安全性;可以为入站和出站流量配置源IP地址及目的地IP地址,同样还可以为源TCP和UDP端口及目的地TCP和UPD端口配置规则。

2.FTP的主动模式和被动模式

FTP连接包括两类通道:一个控制连接(命令联系通道),几个数据连接(资料联系通道)。前者用于传递客户端的命令和服务器端对命令的响应,默认使用服务器的21端口,生存期是整个FTP会话时间。后者用于传输文件和其它数据,如目录列表等,只在需要数据传输时建立,而一旦数据传输完毕就关闭,每次使用的端口也不一定相同,根据数据连接是否由服务器发起,可以分为主动模式和被动模式。

《关于ftp的主动模式(Active Mode)和被动模式(Passive Mode)》里解释得比较清楚,FTP协议是建立在TCP协议基础上的,所以客户端与服务器的每次交互都要经过三次握手,通过两张图可以区分这两种模式:

主动模式:客户端端利用>1024的任意端口发起与服务器21端口建立连接,建立“命令联系通道”,如果要发生资料传输,通过21告知服务器端口(如1333)并 开始listen,服务器利用20端口向客户端的1333端口发起连接,建立“资料联系通道”。由于“资料联系通道”是由服务器主动建立的(图中步骤6),所以称作主动模式。

被动模式:建立“命令联系通道”的方式和主动模式基本一样,也是连接先连接服务器的21端口。但是如果需要传输资料,客户端会送出PASV指令,告诉服务器要利用被动模式建立“资料联系通道”,然后服务器会打开一个端口并开始listen,并把这个端口通过“命令联系通道”告知客户端,客户端再打开一个端口,与服务器建立“资料连接通道”。由于“资料连接通道”是由服务器被动建立的,所以称作被动模式。

3.取消FTP的自动登录

有时候我们访问某个FTP时可能设置了保存密码,之后每次访问那个FTP,都会默认通过之前的用户名和密码登录。为了安全起见不让它再自动登录,或者FTP设置了不同权限的用户,我们想通过其他用户名登录,可以在已进入的目录空白处右击,选择“登录”,弹出的窗口里把“保存密码”选项取消掉就可以了,在这个窗口里也可以输入其他用户名及密码,就是通过其他身份访问FTP了。

Filezilla server配置FTP服务器中的各种问题与解决方法的更多相关文章

  1. 使用Filezilla Server配置FTP服务器

    一.下载Filezilla  Server 官网网址:https://filezilla-project.org 二.安装Filezilla  Server   Filezilla  Server的安 ...

  2. windows 下使用 Filezilla server 搭建 ftp 服务器

    windows 下使用 Filezilla server 搭建 ftp 服务器 1. Filezilla server 免费,开源, ftp 服务端 2. 下载安装, windows  https:/ ...

  3. win10用filezilla server搭建ftp服务器一直无法访问

    win10用filezilla server搭建ftp服务器一直无法访问?? 是防火墙导致的,防火墙中允许filezilla server程序的

  4. Filezilla Server搭建FTP服务器

    一.下载Filezilla  Server 官网网址:https://filezilla-project.org 下载链接 :https://filezilla-project.org/downloa ...

  5. window环境下使用filezilla server搭建ftp服务器

    前言 在做项目的时候,需要提供ftp服务,开始的时候使用微软自动的iss上的ftp服务,一段时间后发现无法自定义用户,只能使用系统的用户,使用起来很不方便,在权限管理方面也是不太好.所以换用了file ...

  6. windows server配置ftp服务器以及外网访问

    在Server2012打开 服务器管理器,选择 添加角色与功能,添加Web服务下的FTP服务器 安装后. 我们现在C盘创建一个名字为FTP的文件夹,里面创建一个ftp的文件,做测试用,如图 打开服务器 ...

  7. 使用filezilla server搭建FTP服务器

    参考文献 http://www.pc6.com/infoview/Article_51961_all.html 背景 需要在内网环境下搭建一个FTP服务器,查阅相关资料发现使用filezilla se ...

  8. MySQL Server 5.5安装中遇到的问题及解决方法

    之前开始用师兄用过的电脑工作,各种不适应,开始重新搭建自己习惯的环境,重装MySQL就是其中一项,然后重装过程中遇到了问题,具体情况总结如下: 1.以前也重新安装过MySQL,但是完全没有用过就直接卸 ...

  9. FTP服务器FileZilla Server配置及使用方法

    FileZilla Server下载安装完成后,安装过程不写说明了,网上一抓一大把,直接从配置开始记录. 1.创建服务器 ²  Password:栏位中输入本服务器Filezilla服务的密码, ²  ...

随机推荐

  1. python threading 用法

    python 多线程传参有点奇怪记录一下 import thread sql1 = 'select 1' sql2 = 'select 2' def run(sql): print sql # 说明 ...

  2. java开发人员win10配置

    1.让win10的cmd支持ll命令 新建ll.bat 编辑类容为: @echo off dir3.将该文件移动到C:\Windows下. CMD里就可以用ls来代替dir命令显示目录列表了. 2.i ...

  3. Linux OS7 常用

    查看防火墙状态: firewall-cmd --state;停止firewall: systemctl stop firewalld.service;禁止firewall开机启动:systemctl ...

  4. Python3 获取本机 IP

    通过 UDP 获取本机 IP,没有任何的依赖,也没有去猜测机器上的网络设备信息,而且是利用 UDP 协议来实现的,生成一个UDP包,把自己的 IP 放如到 UDP 协议头中,然后从UDP包中获取本机的 ...

  5. linux 环境变量 转

    https://www.cnblogs.com/aaronLinux/p/5837702.html export PATH=/home/one/:$PATH export PATH=$PATH:/ho ...

  6. keepliave

    keepalived的主要功能 1. healthcheck:           检查后端节点是否正常工作           如果发现后端节点异常,就将该异常节点从调度规则中删除:        ...

  7. query did not return a unique result: 2错误的发生

    org.springframework.dao.IncorrectResultSizeDataAccessException: query did not return a unique result ...

  8. KeyValuePair 和 Dictionary 的关系和区别

    KeyValuePair 和 Dictionary 的关系 1.KeyValuePair      a.KeyValuePair 是一个结构体(struct):     b.KeyValuePair  ...

  9. python入门(十一):异常

     1.异常概念: >>> a Traceback (most recent call last): File "<stdin>", line 1, i ...

  10. 图解Windows 10下Visual Studio Code的下载和安装

    1. 百度搜索“Visual Studio Code”,如下图所示: 2. 点击第一个搜索结果项,进入官方网站,然后点击“Download for Windows”,如下图所示: 3. 进入提示下载页 ...