随着宽带网的普及,自己架设FTP服务器进行文件交流的用户越来越多。一提到FTP服务器软件,一般用户首先想到的是大名鼎鼎的Serv-U。使用主流FTP Server存在一个问题:一旦那个软件有什么安全漏洞被公布,由于它的知名度,那么这个安全漏洞也将人尽皆知,这样服务器的安全风险将很大。其实除了这些主流软件之外,还有很多相对不太出名的FTP Server,使用这些比较冷门的FTP Server软件,上述风险相对比较小一些。这里介绍的FileZilla Server是一款免费的开放源代码的软件,具有一般FTP服务器的绝大多数功能。软件支持用户分组;支持流量限制,可以定制按时段的流量限制;支持MODE Z FTP协议;支持远程配置管理…… 安装和设置也比较简单。首先到官方网站http://sourceforge.net/project/showfiles.php?group_id=21558下载最新版本,然后双击安装。出现许可协议,选择“I Agree”同意协议继续……在这一屏,中间的端口号是管理员登录配置服务器的连接端口号,默认为14147。这个设置还关系到远程登录配置。可以根据自己的情况修改,当然也可以在安装完成之后再修改。点击Close结束安装,之后弹出连接服务器的窗口。FileZilla Server支持远程配置,如果是从远程进行配置的话,这里的地址、端口号和口令要跟远程服务器上面的对应起来。本例是从本地登录,密码正确无误之后就进入服务器设置页面。首先要进行服务器全局参数设置:点“Edit”菜单,选“Settings”General settings(常规设置):Listen on Port:监听端口,其实就是FTP服务器的连接端口。Max.Number of users:允许最大并发连接客户端的数量。Number of Threads:处理线程。也就是CPU优先级别。数值调得越大优先级越高,一般默认即可。下面的是超时设置,自上至下分别为:连接超时、传输空闲超时、登入超时。单位为秒。Welcome message页面设置客户端登录成功以后显示的Welcome信息。建议不要用软件默认的,因为任何软件都不能保证没有什么漏洞,如果在这里暴露软件名称的话,一旦这个FTP Server软件有什么安全漏洞,别有用心的人知道了服务器软件的名称就可能针对性地发起攻击。所以建议这里设置的信息不要包含任何服务器资料。IP Filter(IP过滤器)页面,设置IP过滤规则,在上面栏目中的IP是被禁止的,下面的是允许的。Passive mode settings(被动传输模式设置):这个页面要重点关注。如果服务器本身直接拥有公网IP,可以选软件默认的“Default”。倘若服务器是在局域网里面,在一个网关后面,那么就要选择第二项“Use the follwoing IP”,并且在下面的输入栏填写公网的IP地址;否则,客户端用PASV被动模式可能无法连接FTP服务器。因为服务器是在内网中,在客户端使用PASV模式连接服务器的时候,服务器收到连接请求之后需要把自身的IP地址告诉客户端,由于服务器在内网中,它侦测到的IP地址是内网的(如192.168.0.5),它把这个IP地址交给客户端,客户端自然无法连接。在这里设置了指定的IP地址后,服务器就会把这个公网合法的IP地址提交给客户端,这样才能正常建立连接。如果服务器是动态IP的,那么可以选择下面的“Retrieve external IP address from”,利用FileZilla官方网站免费提供的IP查询页面获取当时的公网合法IP,然后服务器把这个公网合法IP地址提交给客户端。当然静态IP也可以用这个,只不过没有必要。这个设置页面对服务器位于内网的情况非常重要。有些FTP服务器端没有这个设置项目,客户端就只能用Port主动模式连接。当然有些客户端软件针对这个问题有专门的设置,如FlashFXP的站点设置中只要选中“被动模式使用站点IP”就可以了。对于在局域网中的服务器,如果服务器没有置于DMZ区,那么强烈建议选中下面的“Use custom port range”定义PASV端口范围。由于PASV模式中,是服务器随机打开端口,然后把打开的端口号告诉客户端,让客户端连接打开的端口。但是因为服务器处于网关后面,如果网关那里没有做对应的端口映射,客户端从外网就无法连接服务器打开的端口,导致PASV模式连接失败。在这里限定服务器打开的端口范围,然后到连接外网的网关那里,对服务器的这些端口做端口映射(虚拟服务)。这需要服务器和Internet网关设备配合设置,这样外网的客户端才能用PASV模式连接进来。Security settings(安全设置):这里的两个选项关系到能否FXP。软件默认状态“Block incoming server-to-server transfers”和“Block outgoing server-to-server transfers”两项都是选中的,前面那项是禁止连入的服务器对传,后面是禁止传出的服务器对传。也就是说默认状态不允许FXP,如果需要使用FXP,那么就把这两个项目取消选择。注意FXP传输除了跟这个页面的设置有关,还跟IP过滤器有关。Admin Interface setting(管理员界面设定):这个就是登录配置服务器界面的一些参数。端口号的设置在安装的时候也出现过。下面两栏可以定义允许远程登录配置的网络界面和IP地址。在最下面更改管理员口令。Logging(日志):设定是否启用日志记录功能以及日志文件大小和文件名。Speed Limits(速度限制):这个是全局参数,默认状态不限速。可以选中“Constant Speed Limit of”并填写限速数值来实现速度限制,下载(传出)和上传(传入)可以分别设置。还可以根据时段自定义限速规则——“Use Speed Limit Rules”,比如这台服务器或者网络连接除了做FTP服务器之外还有别的用途,需要根据时间调度,不能让FTP传输挤占所有网络带宽影响其它的网络服务;就可以通过这里设置。Filetransfer compression(文件传输压缩设置):MODE Z FTP协议是一种实时压缩的传输协议。在这种模式下,发送方的数据在发出之前先进行压缩,再送到网络链路中传输,接收方将收到数据实时解包,在本地还原重组成原文件。这种模式可以大幅度减少网络中的数据流量,提升传输效率(速度)。当然对于已经压缩过的文件,就几乎没有效果了。要使用这种传输模式,需要服务器端和客户端都支持MODE Z协议。勾选“Enable MODE Z support”就可以启用本服务器的MODE Z支持功能,这样,只要客户端也支持MODE Z就可以获得它带来的性能提升。“Minimum allowed compression level”和“Maximum allowed compression level”分别设置最小压缩率和最大压缩率。最下面可以输入不启用MODE Z功能的目标IP。完成这些设置以后,点击“OK”按钮保存设置并退出服务器全局设置页面返回主界面。下面要进行的是用户组(Group Settings)设置。在主界面点击第五个按钮或者由“Edit”——“Groups”菜单进入。组设置是为了便于用户归类管理,相同权限的用户归属到同一个组里面,这样就不用重复多次设置每个用户的权限等参数,简化配置和管理工作。点击右边的“Add”按钮创建新组。组创建完成以后,点“Shared folders”进入目录权限设置页面。点击中间区域的“Add”按钮添加目录。默认状态添加的第一个目录即为该组用户登录之后看到的主目录(Home Directory),主目录前面有个粗体的“H”标识。目录列表右侧分别是对该目录的操作权限设置,上面是文件权限设置,下面是目录权限设置。如果要改变主目录,只要在列表中选中需要设置为主目录的那个,然后点击“Set as home dir”按钮即可。设置好主目录之后,再点击“Add”按钮把其余的目录依次设置进来就可以了。不过这里得注意,如果仅仅把别的目录添加进去,那么你用客户端连接之后,会发现除了主目录和它的子目录之外,别的目录都看不见。这是怎么回事?这里要说明一个概念——虚拟路径。所谓虚拟路径,就是在客户端看到的目录结构。由于一个用户只能有一个主目录,别的目录如果不映射成虚拟目录的话,客户端将看不到它。所以只有把除了主目录之外的其它目录,虚拟成主目录的子目录,这样在客户端才能看到。比如本例,主目录是D:\Downloads,如果不做虚拟路径设置,那么客户端登录进来只能看到主目录里面的内容,还有一个E:\FTPRoot目录下面的东西看不到。如何设置虚拟路径?鼠标右键点击列表中的“E:\FTPRoot”目录,在弹出的菜单里面选“Edit aliases”编辑别名;现在要把E:\FTPRoot目录作为客户端主目录下的FTPRoot目录,那么就在弹出的窗口里面输入“D:\Downloads\FTPRoot”并点击“OK”按钮确定。注意拼写规则,路径的前面部分必须是主目录的绝对路径。这样设置之后,在客户端就可以看到一个“FTPRoot”目录,这个目录其实就是E:\FTPRoot目录。组设置中的“Speed Limits”和“IP Filter”跟全局设置里面的速度限制和IP过滤器设置方法是一样的,请参照前面的内容。只不过这个是仅仅针对这个组的用户生效。而全局设置是对所有的用户都生效。设置完毕之后点击“OK”按钮回到主界面。最后一项就是设置用户(Users)。点击主界面第四个按钮或者由“Edit”——“Users”菜单进入。点击右边的“Add”按钮创建用户,在“Password”域输入用户口令。然后从“Group membership”栏选择该用户所属的组(Group),这样该用户将继承该组的所有属性/权限,不用再单独一一设置这些参数了。这也是设置组体现的方便性,在用户比较多的时候使用组来分类会使得管理工作更加方便、高效。完毕之后点“OK”按钮保存设置并返回主界面。当然,也可以设置一个不属于任何组的用户,这样的话,就得单独定制该用户的权限。对于少量特殊用户,可以用这种方式设置。至此,FileZilla Server的基本设置就完成并可以运行了。对于初次使用FTP Server软件的用户,本文也可以作为入门参考。其实所有的FTP Server软件安装设置的基本原理都是类似的,掌握了一个之后,别的可以举一反三融会贯通。
转载于:https://www.cnblogs.com/wangyueren/archive/2012/09/24/2699671.html