Filezilla server配置FTP服务器中的各类问题与解决方法

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

安装文件以及补丁下载安全

公司不少资料须要经过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".net

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

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

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

缘由:未启用TLS模式。get

出坑:it

打开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了。

相关文章
相关标签/搜索