FTP服务器,与IIS服务器的区别
1、FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。 FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。2、IIS(Internet Information Server,互联网信息服务)是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。看到上面的你应该明白他们是什么关系了吧,要想使用FTP服务,必须有IIS的支持才可以。
第二篇 IIS之FTP服务器
一、建立你的FTP站点
第一个FTP站点(即“默认FTP站点”)的设置方法和更多FTP站点的建立方法请参照前文Web服务器中相关操作执行。需要注意的是,如果你要用一个IP地址对应多个不同的FTP服务器,则只能用使用不同的端口号的方法来实现,而不支持“主机头名”的作法。
对于已建立好的FTP服务器,在浏览器中访问将使用如“ftp://19216801”或是“ftp://19216801:22的格式”;除了匿名访问用户(Anonymous)外,IIS中的FTP将使用Windows 2000自带的用户库(可在“开始→程序→管理工具→计算机管理”中找到“用户”一项来进行用户库的管理)。
二、本部分常见问题解答
Q:如何修改FTP服务器登录成功或退出时的系统提示信息?
A:在相应的FTP站点上单击右键,选“属性”,再转到“消息”窗口,在“欢迎”处输入登录成功之后的欢迎信息,在“退出”处输入用户退出时的欢送信息即可。
Q:为什么我的FTP服务器建立成功之后,除了管理员(Administrator)和匿名用户(Anonymous)之外,普通用户都不能在本机上登录;可在其他计算机上却能够正常使用。这是为什么?
A:因为默认的,普通用户不具有在本机登录的权限。如果要修改,请进入“开始→程序→管理工具→本地安全策略”中选择“左边框架→本地策略→用户权利指派”,再在右边框架中双击“在本地登录”项,然后将所需的普通用户添加到它的列表中去就行了。
1 在 服务器管理器的Web服务器(IIS) 上安装 FTP 服务
2 在IIS管理器 添加FTP网站
端口可以不用默认的,自己设置
身份认证选基本,用户则建议添加一个专门用来登录ftp的用户,然后指定给这个用户授权
3 配置防火墙规则
新增入站规则
注意:这里要添加的端口是刚刚添加FTP网站时候填写的那个端口。为一般VPS只会开放少量需要用的端口,所以我们要检查,如果这个端口没有对外开放的话,从外部是访问不了的
理论上到这里是全部设置都配好了。从内部用浏览器输入 ftp://ip:端口 可以直接访问,但是外网一直不行,用FTP客户端软件FileZilla连上去则是无法读取目录。网上找了搜了好久,终于找到了解决办法。
在防火墙界面,点击“允许应用或者功能通过Windows防火墙”—->允许其他应用—->浏览—->选择 C:\Windows\System32\svchostexe>—-打开
勾选上“专用”和“公用”
PS:: 如果不添加应用程序,会在连接FTP后看不到目录。
服务器上设置IIS里的FTP服务开启,设个帐号允许登陆FTP,并且在电脑的D盘或者E盘给某个文件夹设置好允许这个帐号访问,再在IIS里设置这个帐号的根路径为那个文件夹。把让客户端下载的文件资源放到这个文件夹里。
客户端打开FTP登陆软件,输入服务器的IP,上面设置好的帐号和密码,登陆,就可以看到服务器上的那个文件夹里的东西了。
1、打开控制面板->程序和功能->启用或关闭windows功能,在弹出的窗口中,勾选InternetInformationServices下面的FTP服务器三个选项,点击确定按钮完成安装
2、打开控制面板->管理工具->InternetInformationServices(IIS)管理器,双击打开它
3、在打开的IIS管理界面,鼠标右键点击网站,选择右键菜单添加FTP站点
4、在添加FTP站点窗口中,输入站点名称,选择文件存放的物理路径,点击下一步按钮
5、在绑定和SSL设置界面,填写当前配置的服务器ip地址,端口号默认21,可以修改。本文仅演示,所以勾选了无SSL,此项根据实际需要选择。点击下一步按钮
6、在身份验证和授权信息界面,勾选匿名、基本、所有用户、读取、写入,这些仅做演示,实际按需勾选,点击完成按钮
7、添加成功后,在左侧的网站下面可以看到刚刚添加的FTP站点名称
8、设置成功后,可以使用ftp://ip地址:端口在浏览器或者文件夹地址栏中输入运行。如果端口是默认的21,可以省略,否则,端口号不能省略
FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)
在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。
在被动模式下,FTP库户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。
总的来说,主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的FTP是指服务器被动地等待客户端连接自己的数据端口。
被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTp服务器的情况,因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之后主机,而只允许由防火墙之后的主机发起的连接请求通过。因此,在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作。
很多人误认为利用WINDOWS组件IIS来构建的FTP服务器没有实用价值,只能做一些测试和学习。主要是FTP服务的PORT和PASV两种连接模式下防火墙难以设置。对于PORT模式,客户端无法在此环境下运行,因为 FTP 服务必须向 FTP 客户端发出新的连接请求,防火墙会将这些连接检测为未经请求的连接尝试,并因此而将它们断开。防火墙管理员可能也不希望使用PASV模式 FTP 服务器,因为该 FTP 服务可以打开任何短暂的端口号。如果防火墙配置允许未经请求的连接完全访问所有的短暂端口,则可能会是不安全的。
从实用的角度来看,建立一个默认短暂端口范围有限制的PASV模式 FTP 服务方案应该是较好的选择。下面通过一个实例,说明如何在Windows 2003 中利用IIS组件架设PASV模式FTP服务。
1建立一个PORT模式的FTP服务
11安装“文件传输协议(FTP)服务”组件
安装步骤:
控制面板--->添加删除程序--->添加删除windows组件--->应用程序服务器--->Internet信息服务(IIS)--->文件传输协议(FTP)服务
将“文件传输协议(FTP)服务”复选框钩上,插入windows 2003安装盘或选择windows 2003安装路径,直至安装结束。
12FTP主目录及用户权限的配置
主目录:D:/soft/ftpup
拥有读写权限而不允许其它用户访问的用户:
ww1用户拥有 ww1目录的读写权限,位置在:D:/soft/ftpup/LocalUser/ww1
XX1用户拥有 XX1目录的读写权限,位置在:D:/soft/ftpup/LocalUser/XX1
允许匿名用户只读访问:
Everyone 拥有 public目录的只读权限,位置在:D:/soft/ftpup/LocalUser/public
创建 ww1和xx1用户并设置密码。
建立相应的目录,并设置对应的权限。
13创建FTP站点
通过“控制面板 ---> 管理工具 ---> Internet信息服务(IIS)管理器 ---> Internet信息服务--->本地计算机---> FTP 站点”标签,右击“FTP 站点”--->新建--->FTP 站点,进入FTP站点建立向导:站点描述--->IP地址和端口设置--->隔离用户--->FTP站点主目录(D:/soft/ftpup ),直到向导结束。
右击刚建立的FTP站点,在“安全帐户”选项卡上选中“允许匿名用户连接”。至此,一个PORT模式的FTP站点架设完成。
可以关闭防火墙在客户端进行测试是否符合要求。
2将FTP站点设置成PASV模式
21启用直接编辑元数据库
打开 IIS Microsoft 管理控制台 (MMC):控制面板 ---> 管理工具---> Internet信息服务(IIS)管理器 ---> Internet信息服务--->本地计算机
右击本地计算机节点,选择属性,选择启用直接编辑元数据库复选框。
22 修改端口号 方法 1 通过 ADSUTIL 脚本配置 PassivePortRange
运行cmdexe程序进入命令行模式,并输入以下命令:
C:/Inetpub/AdminScripts/adsutilvbs set /MSFTPSVC/PassivePortRange "5500-5550"
这样就将FTP服务器上TCP 默认短暂端口范围限制在5500-5550范围内,如果同时连接数量较多,可适当进行调整。
用以下命令查看PassivePortRange:
C:/Inetpub/AdminScripts/adsutilvbs get /MSFTPSVC/PassivePortRange 方法 2 通过修改配置文件 打开下面这个文件 : 1 C:/WINDOWS/system32/inetsrv/MetaBasexml 搜索 MaxConnections 这个字段 在 MaxConnections 下面新加一行被动模式的配置信息,修改后的配置文件为 LogType="1" MSDOSDirOutput="TRUE" MaxClientsMessage=" " MaxConnections="100000" PassivePortRange="5500-5550"
3windows 2003 中防火墙的设置
31打开FTP控制端口TCP 21(如果更改端口号,这里要做相应的更改)
在命令行输入:
NETSH FIREWALL ADD PORTOPENING TCP 21 FTPPort21
32打开PassivePortRange 5500-5550的TCP端口
建立以下批处理文件并运行(例如:ftpportbat):
ECHO OPENING FIREWALL PORTS 5500-5550
FOR /L %%I IN (5500,1,5550) DO NETSH FIREWALL ADD PORTOPENING TCP %%I FTPPort%%I
iisreset /restart
ECHO FINISHED
Pause
至此,整个服务架设完成,可在启用防火墙的情况下进行测试。
方法如下:
1、打开控制面板,在控制面板窗口中,找到“程序”,点击,
2、在打开的“程序”窗口中,找到“启用或关闭windows功能”,点击打开,如下图所示:
3、在“windows功能”中找到“Internet信息服务”,并选中“FTP服务”、“FTP扩展性”和“IIS管理控制台”前的复选框,点击“确定”,
4、系统自动配置成功后,在开始屏幕的搜索中输入“IIS”,然后点击打开“IIS管理器”
5、打开“IIS管理器”后,在左栏的“网站”上点击右键,打开“添加FTP站点”
6、然后按照提示填写站点信息
7、点击“下一步”,按照下图提示,设置“绑定和SSL设置”,在“IP地址”处,可以用内网IP也可以用外网IP,访客自然也就根据IP设定来决定;
8、点击“下一步”,设置“身份验证和授权信息”
9、设置完以后,点击“完成”,即可在左栏“网站”下看到“多了一个设置的FTP站点”
10、然后在浏览器地址栏中输入“ftp://填写的IP”测试一下。
进入iis,找到FTP站点,右键点击选择FTP站点创建向导,下一步,输入站点描述(输入域名)-下一步ip地址选择全部未分配(如果是局域网的话选本地ip)-下一步
点隔离用户按钮-下一步选择您要共享的目录-下一步权限自己设定-下一步完成
找到您刚才创建的ftp站点,右键点击选择属性-点目录安全性选项卡,添加一组计算机,ip地址填写好,确定
添加用户,找到站点,右键点击选权限-安全-添加用户-给与相应的权限,最后确定。
可以建好几个ftp站点的
0条评论