FTP基础知识

FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。

PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器从20端口向客户端的空闲端口发送连接请求,建立一条数据链路来传送数据。

PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端向服· 务器的空闲端口发送连接请求,建立一条数据链路来传送数据。

因为PORT方式在传送数据时,由服务器主动连接客户端,所以,如果客户端在防火墙或NAT网关后面,用PORT方式将无法与Internet上的FTP服务器传送文件。这种情况需要使用PASV方式。几乎所有的ftp客户端软件都支持这两种方式。特殊的典型例子是ie,ie默认是用PORT方式的。如果要在ie里启用PASV方式,请打开ie,在菜单里选择:工具 -> Internet选项 -> 高级,在“使用被动ftp”前面打上钩(需要IE6.0以上才支持)。

公网用户与内网TrueHost用户安装设置方法

第一步、下载Serv-U并安装
· 如果安装了IIS,在配置Serv-U之前,请先把IIS的FTP服务器关闭:
· 控制面板 -> 管理工具 -> 服务 -> FTP Publishing Service,把 启动类型设为手动,再点击停止。
· Serv-U是Windows平台上最流行的FTP服务器软件,官方网站是:http://www.serv-u.com/。可以从官方网站下载,也可以从其他软件下载网站下载。
· 下载后,使用默认选项安装。安装到最后,出现配置界面,开始进行配置:

第二步、设置Serv-U

· 在“Domains”上按鼠标右键,选择“New Domain”,添加新域名。
· 然后在弹出的窗口中输入IP地址。一般来说,不需要输入,留空即可。Serv-U会绑定在本机所有的IP地址上,包括拨号上网得到的动态IP地址。点击“Next”。
· 紧接着在弹出的窗口中输入域名。点击“Next”。
· 最后在弹出的窗口中输入端口号。用默认值21即可(也可更改,特别是用iis的时候建议更改为其他未使用端口)。点击“Next”。
· 这时候会出现选择域名的存放位置。用默认值即可。点击“Finish”。
· 到这一步,域名设置完毕。 请注意:采用网关端口映射而使用公网动态域名的用户,请在这里选择“Enable dynamic DNS”。

· 下面设置用户,在“Users”上按鼠标右键,选择“New User”,添加新用户。
· 在弹出的窗口中输入用户名。点击“Next”。
· 紧接着在弹出的窗口中输入密码。点击“Next”。
· 最后设置用户可以访问的根目录。点击“Next”。
· 之后可以选择是否把用户锁定在根目录。为了安全起见,建议最好锁定。点击“Next”之后,设置完毕,Serv-U已经可以正常工作了。
· 默认情况下,用户只能下载文件,如果需要赋予用户更多权限,需要选择右边红色框里的选项进行修改。

第三步、Serv-U的其他设置
匿名登录:
打开Serv-U,进入Domains -> XXX.XXX.COM -> Users,点击鼠标右键,新建一个用户,取名为“anonymous”,并配置好该用户的目录,即可匿名登录Serv-U。
流量限制:
打开Serv-U,进入Domains ->XXX.XXX. COM-> Users -> 用户名,
Allow only ( ) login(s) from same IP address:
允许同一个IP多少个连接(只有公网用户和内网TrueHost用户才能使用)
Max. upload speed
最大上传速度(KBytes/s)
Max. download speed
最大下载速度(KBytes/s)
Max. no. of users
最大用户数
PASV方式设置:
所有FTP服务器软件都支持PORT方式。大部分FTP服务器软件PORT方式和PASV方式都支持。Serv-U默认配置下两种方式都支持。如果要关闭PASV方式,请打开Serv-U,进入 Domains -> user.dns0755.net -> Settings -> Advanced -> 把“Allow passive mode data transfers”前面的钩去掉。
使用内网标准版的用户,不能取消PASV方式。
PASV方式与防火墙的问题:
公网和内网TrueHost用户,如果安装了防火墙,需要在防火墙上打开一些端口给FTP的PASV模式使用,否则使用PASV模式无法登录。在Serv-U的Local Server -> Settings -> Advanced -> PASV port range里,填入给PASV模式使用的本地端口范围,如60000-60020。如果使用Win 9x/Me,请把端口范围限制在5个以内,如果使用Win NT/2000/XP/2003,请把端口范围限制在20个以内。之后,再在防火墙里打开这个范围的端口就可以了。
使用内网标准版的用户不需要设置此选项。
注:Win XP自带的防火墙会自动为FTP打开PASV端口,如果使用Win XP防火墙就不需要设置。
公网+端口映射的注意事项:
通过ADSL共享器/路由器或其他网关上网,采用网关端口映射而使用公网动态域名的用户,建立FTP服务器,用PORT方式访问是没问题的,要用PASV方式访问,需要做如下设置:
1. 在Domains ->XXX.XXX.COM里选择“Enable dynamic DNS”。
2.之后,右边会多出一个选项“Dynamic DNS”。点击“Dynamic DNS”,
3. 在“IP name”里输入域名,“XXX.XXX.COM”,“IP address”留空不设。按“F5”即可得到IP地址。点击“Apply”保存设置。
4. 参考上面的“PASV方式与防火墙的问题”中的说明,设置PASV端口范围,例如 60000 – 60020。
5. 在网关(ADSL共享器/路由器)上为PASV端口设置映射。例如把网关的 60000 – 60020 端口映射到本机的 60000 – 60020 端口。

UL/DL Ratios(上传/下载比例)限制:
UL/DL Ratios是上传/下载比例限制。设置了这个功能,需要上传一定数量的文件后,才能下载文件。建议不要启用这个功能。如果您的FTP网站不能下载文件,出现这个错误:
550 Sorry, insufficient credit for download – upload first
请在Serv-U里取消UL/DL Ratios限制。设置方法:进入Domains -> XXX.XXX.COM -> Users -> username -> UL/DL Ratios,取消“Enable upload/download ratios”。默认设置下,这个功能是关闭的。
内网标准版的安装设置方法

第一步、安装设置Serv-U
在内网标准版动态域名网站上安装Serv-U,比公网要麻烦一些。首先,请完全按照上面公网的安装设置办法,把Serv-U安装和设置好。设置好之后,在本机打开FTP客户端,输入服务器地址127.0.0.1,端口号21,连接Serv-U。如果没有FTP客户端软件,可以打开ie,输入ftp://127.0.0.1/,看看能否登录。这一步很重要,一定要在本机把Serv-U调通,才能进行下面的设置。如果在本机都无法连接,请确认配置过程无误,再请检查是否防火墙的问题。有些防火墙配置很严格,默认情况下把本机IP对本机IP的连接都会封死。

第二步、配置端口映射
在本机调通Serv-U之后,就可以配置端口映射。配置方法如下:
1. 登录科迈网域名管理页面。
2. 在需要设置的域名右边点击“修改”,进入“域名修改”页面。端口映射界面如下所示:
端口1:
端口号:8881  端口名:
端口2:
端口号:8882  端口名:
端口3:
端口号:8883  端口名:
端口4:
端口号:8884  端口名:
端口5:
端口号:8885  端口名:

3. 在修改表格里选一个端口名是空的端口。例如端口1是空的,那么在端口1这行右边的端口名里写上大写的端口名 “FTP”(一定要写“FTP”,不能用其他名 字)。填好端口名后,再记下端口号,比如上述界面里端口号是“8881”。再按“提交”,让修改生效。
4. 启动科迈动态域名内网客户端软件,选择 文件 -> 配置 -> 按3次“下一步”,进入“其他信息”窗口。

在默认设置里,已经存在FTP的端口映射。端口名是“FTP”,服务器地址是“127.0.0.1”,端口号是“21”。用这个默认设置即可。点击“完成”,并重新启动服务。到这一步,端口映射配置完毕。

第三步、测试FTP
打开FTP客户端,在服务器地址里填入内网域名,例如“XXX.XXX.COM”,在端口号里填入上面记下来的端口号“8881”,即可连上内网FTP。如果在ie里使用,请输入:ftp://XXX.XXX.COM:8881/。在ie里使用内网FTP,需要启用pasv模式(设置方法请参考前面的“FTP基础知识”)。
注意事项:
· 在Serv-U中不要启用“Enable dynamic DNS”。
· 端口名必须用大写的“FTP”。
· 在内网客户端中,“限制同一IP最多连接数”是指所有的TCP连接,而FTP需要占用两条TCP链路。如果需要限制连接数,请把连接数设为2的倍数。
· 内网标准版FTP网站,需要使用pasv模式才能正常使用。关于port模式与pasv模式的说明,请参考上面的“FTP基础知识”。
· 当您在自己的网站或在网站所在的内网中进行管理维护操作时,请不要使用域名作服务器地址,尽量使用网站计算机的内网IP地址来代替,这样可以避免使用端口映射,从而提高速度。例如您的网站在内网里的IP地址是192.168.0.1,请在FTP客户端里把服务器地址写成“192.168.0.1”,端口写成“21”。