Filezillaserver配置FTP服务器中的各种问题与解决方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Filezillaserver配置FTP服务器中的各种问题与解决⽅法
公司很多资料需要通过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"
出坑:去微软官⽹下载补丁,根据⾃⼰服务器型号选,我选了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了。

相关文档
最新文档