Windows Server 搭建FTP服务器实战
Windows Server 搭建FTP服务器实战
FTP(文件传输协议)大大简化了文件传输的复杂性,它能够使文件通过网络从一台主机传送到另一台计算机上却不受计算机和操作系统类型的限制。无论是PC、服务器、大型机,还是iOS、Linux、Windows操作系统,只要双方都支持FTP,就可以方便、可靠地传送文件。
FTP服务的具体工作过程如下:
- 客户端向服务器发出连接请求,同时客户端系统动态地打开一个大于1024的端口(如1031端口)等候服务器连接。
- 若FTP服务器在端口21侦听到该请求,则会在客户端的1031端口和服务器的21端口之间建立起一个FTP会话连接。
- 当需要传输数据时,FTP客户端再动态地打开一个大于1024的端口(如1032端口)连接到服务器的20端口,并在这两个端口之间传输数据。当数据传输完毕,这两个端口(1032和20端口)会自动关闭。
- 客户端的1031端口和服务器的21端口之间的会话连接继续保持,等待接受其他客户进程发起的请求。
- 当FTP客户端断开与FTP服务器的连接时,客户端上动态分配的端口将自动释放。
FTP服务不同于WWW,它首先要求登录到服务器上,然后传输文件,这对很多公开提供软件下载的服务器来说十分不便,于是匿名用户访问就诞生了。通过使用一个共同的用户名anonymous、密码不限的管理策略(一般使用用户的邮箱作为密码即可),任何用户都可以很方便地从这些服务器上下载软件。
创建和访问FTP站点
网络拓扑如下:
在计算机DNS1上的“服务器管理器”窗口中安装Web服务器(IIS)角色,同时安装FTP服务器。
在FTP服务器上创建一个新网站Test FTP,使用户在客户端计算机上能通过IP地址和域名进行访问。
1. 创建使用IP地址访问的FTP站点
创建使用IP地址访问的FTP站点的具体步骤如下。
1)准备FTP主目录
在C盘上创建文件夹C:\ftp作为FTP主目录,并在该文件夹内存放一个文件test.txt,供用户在客户端计算机上下载和上传测试。
2)创建FTP站点
STEP 1 在“Internet Information Services(IIS)管理器”控制台树中,用鼠标右键单击服务器DNS1,在弹出的快捷菜单中选择“添加FTP站点”命令,如图所示,打开“添加FTP站点”对话框。
Internet Information Services(IIS)管理器-添加FTP站点:
STEP 2 在“FTP站点名称”文本框中输入Test FTP,物理路径为C:\ftp,如图所示。
“添加FTP站点”对话框:
STEP 3 单击“下一步”按钮,打开下图所示的“绑定和SSL设置”对话框。
“绑定和SSL设置”对话框:
在“IP地址”文本框中输入192.168.10.1,端口为21,在SSL选项区下面选中“无SSL”单选按钮。
STEP 4 单击“下一步”按钮,打开下图所示的“身份验证和授权信息”对话框,输入相应信息。
本例允许匿名访问,也允许特定用户访问。
注意:访问FTP服务器主目录的最终权限由此处的权限与用户对FTP主目录的NTFS权限共同作用,哪一个严格就采用哪一个。
3)测试FTP站点
用户在客户端计算机WIN10-1上用鼠标右键单击“开始”菜单,在弹出的快捷菜单中选择“文件资源管理器”命令,输入“ftp://192.168.10.1”就可以访问刚才建立的FTP站点。或者在浏览器中输入“ftp://192.168.10.1”,也可以访问Test FTP网站。
2. 创建使用域名访问的FTP站点
创建使用域名访问的FTP站点的具体步骤如下:
1)在DNS区域中创建别名
STEP 1 以管理员账户登录到DNS服务器DNS1上,打开“DNS管理器”控制台,在控制台树中依次展开服务器和“正向查找区域”节点,然后用鼠标右键单击区域 long.com,在弹出的快捷菜单中选择“新建别名”命令,打开“新建资源记录”对话框。
STEP 2 在“别名”文本框中输入别名ftp,在“目标主机的完全合格的域名(FQDN)”文本框中输入FTP服务器的完全合格域名,在此输入dns1.long.com,如图所示。
“身份验证和授权信息”对话框:
STEP 3 单击“确定”按钮,完成别名记录的创建。
2)测试FTP站点
用户在客户端计算机WIN10-1上打开文件资源管理器或浏览器,输入ftp://ftp.long.com就可以访问刚才建立的FTP站点,如图所示。
使用完全合格的域名(FQDN)访问FTP站点:
创建虚拟目录
使用虚拟目录可以在服务器硬盘上创建多个物理目录,或者引用其他计算机上的主目录,从而为不同上传或下载服务的用户提供不同的目录,并且可以为不同的目录分别设置不同的权限,如读取、写入等。使用FTP虚拟目录时,由于用户不知道文件的具体存储位置,所以文件存储更加安全。
在FTP站点上创建虚拟目录xunimulu的具体步骤如下:
1. 准备虚拟目录内容
以管理员账户登录到DNS服务器DNS1上,创建文件夹C:\xuni,作为 FTP虚拟目录的主目录,在该文件夹下存入一个文件test1.txt供用户在客户端计算机上下载。
2. 创建虚拟目录
STEP 1 在“Internet Information Services(IIS)管理器”控制台树中,依次展开服务器“DNS1”和“网站”,用鼠标右键单击刚才创建的站点 Test FTP,在弹出的快捷菜单中选择“添加虚拟目录”命令,打开“添加虚拟目录”对话框。
STEP 2 在“别名”文本框中输入xunimulu,在“物理路径”文本框中输入C:\xuni,如图所示。
“添加虚拟目录”对话框:
3. 测试FTP站点的虚拟目录
用户在客户端计算机WIN10-1上打开文件资源管理器和浏览器,输入 ftp://ftp.long.com/xunimulu 或者 ftp://192. 168.10.1/xunimulu,就可以访问刚才建立的 FTP 站点的虚拟目录。
注意:在各种服务器的配置中,要时刻注意账户的NTFS权限,避免由于NTFS权限设置不当而无法完成相关配置,同时注意防火墙的影响。
安全设置FTP服务器
FTP服务的配置和Web服务相比要简单得多,主要是站点的安全性设置,包括指定不同的授权用户,如允许不同权限的用户访问,允许来自不同IP地址的用户访问,或限制不同IP地址的不同用户的访问等。再就是和Web站点一样, FTP服务器也要设置FTP站点的主目录和性能等。
1. 设置IP地址和端口
STEP 1 在“Internet Information Services(IIS)管理器”控制台树中,依次展开服务器“DNS1”和“网站”,选择FTP站点Test FTP,然后单击操作列的“绑定”按钮,弹出“网站绑定”对话框,如图所示。
STEP 2 选择ftp条目后,单击“编辑”按钮,完成IP地址和端口号的更改,如改为2121。
STEP 3 测试FTP站点。用户在客户端计算机WIN10-1上打开浏览器或资源管理器,输入ftp://192.168.10.1:2121就可以访问刚才建立的FTP站点了。
STEP 4 测试完毕,请再将端口号改为默认,即21。
2. 其他配置
在“Internet Information Services(IIS)管理器”控制台树中,依次展开FTP服务器,选择FTP站点Test FTP。可以分别进行“FTP SSL设置”“FTP当前会话”“FTP防火墙支持”“FTP目录浏览”“FTP请求筛选”“FTP日志”“FTP身份验证”“FTP授权规则”“FTP消息”“FTP用户隔离”等内容的设置或浏览,如图所示。
在“操作”列中,可以进行“浏览”“编辑权限”“绑定”“基本设置”“查看应用程序”“查看虚拟目录”“重新启动FTP站点”“启动或停止FTP站点”“高级设置”等操作。
创建虚拟主机
1. 虚拟主机简介
一个 FTP 站点是由一个 IP 地址和一个端口号唯一标识的,改变其中任意一项均标识不同的 FTP 站点。但是在 FTP 服务器上,通过“Internet Information Services(IIS)管理器”控制台只能创建一个FTP站点。在实际应用环境中,有时需要在一台服务器上创建两个不同的FTP站点,这就涉及虚拟主机的问题。
在一台服务器上创建的两个FTP站点,默认只能启动其中一个站点,用户可以通过更改IP地址或端口号两种方法来解决这个问题。
可以使用多个IP地址和多个端口来创建多个FTP站点。尽管使用多个IP地址来创建多个站点是常见并且推荐的操作,但在默认情况下使用FTP时,客户端会调用端口21,这样情况会变得非常复杂。因此,如果要使用多个端口来创建多个 FTP 站点,就需要将新端口号通知用户,以便其FTP客户能够找到并连接到该端口。
2. 使用相同IP地址、不同端口号创建两个FTP站点
在同一台服务器上使用相同的IP 地址、不同的端口号(21、2121)同时创建两个FTP 站点FTP2,具体步骤如下。
STEP 1 以域管理员账户登录FTP服务器DNS1,创建C:\ftp2文件夹作为第2个FTP站点的主目录,并在该文件夹内放入一些文件。
STEP 2 接着创建第2个FTP站点,端口要设为2121。
STEP 3 测试FTP站点。用户在客户端计算机WIN10-1上打开文件资源管理器或浏览器,输入ftp://192.168.10.1:2121就可以访问刚才建立的第2个FTP站点。
3. 使用两个不同的lP地址创建两个FTP站点
在同一台服务器上用相同的端口号、不同的IP地址(192.168.10.1、192.168.10.5)同时创建两个FTP站点,具体步骤如下:
(1)设置FTP服务器网卡的两个IP地址。
=已在 DNS1上设置了两个 IP 地址,即192.168.10.1、192.168.10.5。
(2)更改第2个FTP站点的IP地址和端口号。
STEP 1 在“Internet Information Services(IIS)管理器”控制台树中,依次展开FTP服务器,选择 FTP 站点 FTP2。然后单击“操作”列的“绑定”按钮,弹出“编辑网站绑定”对话框。
STEP 2 选择ftp类型后,单击“编辑”按钮,将 IP 地址改为192.168.10.5,端口改为21,如图所示。
STEP 3 单击“确定”按钮完成更改。
(3)测试FTP的第2个站点。
在客户端计算机WIN10-1上打开浏览器,输入ftp://192.168.10.5就可以访问刚才建立的第2个FTP站点。
实现AD环境下多用户隔离FTP
1. 任务需求
未名公司已经搭建好域环境,业务组因业务需求,需要在服务器上存储相关业务数据,但是业务组希望各用户目录相互隔离(仅允许访问自己的目录而无法访问他人的目录),每一个业务员允许使用的FTP空间大小为100MB。为此,公司决定通过AD中的FTP隔离来实现此应用。
建立基于域的隔离用户FTP站点和使用磁盘配额技术可以实现本任务。
2. 创建业务部OU及用户
STEP 1 在 DNS1中新建一个名为 sales 的 OU,在 sales 中新建用户,用户名分别为salesuser1、salesuser2、sales_master,用户密码为P@ssw0rd,如图所示。
STEP 2 用鼠标右键单击“sales”选项,单击“委派控制”命令,接着单击“下一步”→“添加”按钮,添加sales_master用户,选择“读取所有用户信息”复选项,如图所示。
STEP 3 单击“下一步”→“完成”按钮。这样就委派了sales_master用户对“sales”OU有读取所有用户信息的权限(sales_master为FTP的服务账号)。
3. FTP服务器配置
STEP 1 仍使用long\administrator登录FTP服务器DNS1(该服务器集域控制器、DNS服务器和FTP服务器于一身,在真实环境中可能需要单独的FTP服务器)。FTP服务器角色和功能已经添加。
STEP 2 在C盘(或其他任意盘)建立主目录FTP_sales,在FTP_sales中分别建立用户名对应的文件夹salesuser1、salesuser2,如图所示。
为了测试方便,请事先在两个文件夹中新建一些文件或文件夹。
STEP 3 选择“服务器管理器”→“工具”→“Internet Information Server(IIS)管理器”命令,在弹出的对话框中用鼠标右键单击“网站”选项,在弹出的快捷菜单中选择“添加FTP站点”命令,在弹出的“添加FTP站点”对话框中输入“FTP站点名称”和选择“物理路径”,如图所示。
STEP 4 在“绑定和SSL设置”对话框中选择“绑定”的“IP地址”,在SSL中选中“无SSL”单选按钮,如图所示。
STEP 5 在“身份验证和授权信息”对话框的“身份验证”中勾选“匿名”和“基本”复选框,在“允许访问”中选择“所有用户”,勾选“权限”中的“读取”和“写入”复选框,单击“完成”按钮,如图所示。
STEP 6 在“Internet Information Services(IIS)管理器”控制台的FTP_sales中单击“FTP用户隔离”按钮,如图所示。
STEP 7 在“FTP用户隔离”中选中“在Active Directory中配置的FTP主目录”单选按钮,单击“设置”按钮添加刚刚委派的用户,再单击“应用”按钮,如图所示。
STEP 8 选择 DNS1的“服务器管理器”→“工具”→“ADSI编辑器”→“操作”→“连接到”命令,单击“确定”按钮,如图所示。
STEP 9 展开左子树,用鼠标右键单击sales OU中的salesuser1用户,在弹出的快捷菜单中选择“属性”命令,在弹出的对话框中找到msIIS-FTPDir,该选项设置用户对应的目录,将其修改为salesuser1; msIIS-FTPRoot用于设置用户对应的路径,将其设为C:\FTP_sales,如图所示。
注意:msIIS-FTPRoot对应于用户的FTP根目录,msIIS-FTPDir对应于用户的FTP主目录,用户的FTP主目录必须是FTP根目录的子目录。
STEP 10 使用同样的方式配置salesuser2用户。
4. 配置磁盘配额
在DNS1上打开“这台电脑”,在C盘上单击鼠标右键,在弹出的快捷菜单中选择“属性”命令,在弹出的“属性”对话框中单击“配额”选项卡,勾选“启用配额管理”和“拒绝将磁盘空间给超过配额限制的用户”复选框,并将“将磁盘空间限制为”设置成100MB,将“将警告等级设为”设置成90MB,勾选“用户超出配额限制时记录事件”和“用户超过警告等级时记录事件”复选框,然后单击“应用”按钮,如下图所示。
启用磁盘“配额”:
5. 测试验证
STEP 1 在 WIN10-1的文件资源管理器中,使用 salesuser1用户账号和密码登录 FTP服务器,如图示。
必须使用long\salesuser1或salesuser1@long.com登录。为了不受防火墙的影响,建议暂时关闭所有的防火墙。
STEP 2 在WIN10-1上使用salesuser1用户访问FTP,并成功上传文件,如图所示。
STEP 3 使用salesuser2用户访问FTP并成功上传文件,如图所示。
STEP 4 当 salesuser1用户上传文件超过100MB 时,会提示上传失败。例如,将大于100MB的Administrator文件夹上传到FTP服务器时会上传失败,如图所示。
STEP 5 在DNS1上打开“这台电脑”,在C盘上单击鼠标右键,在弹出的快捷菜单中选择“属性”命令,在弹出的“属性”对话框中单击“配额”选项卡,单击“配额项”按钮可以查看用户使用的空间,如图所示。