作者: zhengweijian    时间: 2005-8-11 02:58     标题: 自建FTP完全手册(Serv-U+花生壳+端口映射)

自建FTP完全手册(Serv-U+花生壳+端口映射)
1.有固定的公网IP请直接看——Serv-U(Version 4.1.0.0)全攻略或者下载Serv-U FTP的建立和维护手册
2.有不固定的公网IP请看——花生壳使用指南
3.有内网IP,且可控制网关服务器并设置端口映射请看——PortTunnel端口映射
4.有内网IP,但不能控制网关服务器请看——科迈网TrueHost
5.自己的ADSL MOEDM上有公网IP,但电脑为内网IP的请看——ADSL路由方式下用Serv-U架设个人ftp
6.FTP状态代码说明、FTP的两种工作方式请看——其他说明
7.让Serve-U看起来更专业点
8.Serv-U自动CRC校验插件JAsfv使用简介及下载
9.制作FTP资源列表请看——如何制作FTP资源列表
【说明】:
整合改编各论坛上的有关ftp组建和域名解析的精华内容,
主要内容来自新动感论坛
所有ftp软件下载请到射手网
=========================================
一、前言
1、什么是内网
内网的计算机以NAT(网络地址转换)协议,通过一个公共的网关访问因特网。内网的计算机可向因特网上的其它计算机发送连接请求,但因特网上的其它计算机无法向内网的计算机发送连接请求,所以无法用通常的方法去建立FTP服务器。
内网的IP地址有如下3种形式:
10.*.*.*
172.16.*.*至172.31.*.*
192.168.*.*
2、内网建FTP的两种方式
2.1、动态域名和虚拟专用法:
适于条件:不能够接触到网关服务器,无法做专业端口映射。
如:科迈网之动态域名和虚拟专用服务之内网专业版。(TrueHost)。
2.2、端口映射法:
适用条件:能够接触到网关服务器,并作端口映射。
如:端口映射软件PortTunnel。
3、关于域名
通过域名可以解决没有固定因特网IP的问题。如“花生壳”等。
上面2.1所提及的方法不需要另外的域名服务,因为本身已提供该服务。
4、关于Serv-U
一种常见的建立FTP的工具软件。
二、建立FTP方案
方案一、Serv-U
适用条件:有固定因特网IP地址。
方案二、Serv-U+花生壳
适用条件:有不固定因特网IP地址。
方案三、Serv-U+花生壳+PortTunnel端口映射
适用条件:内网IP,可控制网关服务器并设置端口映射。
方案四、Serv-U+TrueHost
适用条件:内网IP,不能控制网关服务器。
方案一: Serv-U(Version 4.1.0.0)全攻略
     Serv-u 是著名的 FTP 服务端软件,可以方便地建立 FTP 服务器,下面详细解释 Serv-u 的安装、设置、使用和解答一些常见问题。
     Serv-u 的最新版是 4.1.0.0 ,运行在 Windows 9x/ 2000/ NT/ XP 下;下载地址如文顶所示。
一、内容索引
1.安装和普通设置
安装 --- 汉化 --- 运行
建立域 --- 添加用户 --- 设置用户目录 --- 设置用户权限
2.高级设置:
建立组 --- 赋予组权限
修改服务端口
封锁访问者 IP
踢人
设置服务器回复信息
3.访问样例:
Internet Explorer
Cute FTP
4.常见问题:
二、安装和普通设置
1. 运行安装程序
2. 选择安装路径
安装路径这点大家通常都会忽略,因为大家都有一个不良习惯:把所有程序都安装到默认的 %system%\program files\ 下。普通软件是没有什么大问题的,但是这对于服务类软件和安全类软件是非常危险的,在默认情况下 user 对 program files 的权限是可访问可运行的,对于***来说,无需夺得管理员权限就可随意关掉你的防火墙病毒墙,把需要的文件共享,很简单就达到完全***的目的。
所以建议把 Serv-u 安装到权限已设置好的安全目录中去较为稳妥。
恐怖的权限
这是普通的Windows Media Player 目录属性 (可见 Serv-U 装在这里的话…)
3.安装后的简单向导
安装完毕后 Serv-u 会询问你几个问题,包括:新建域的 IP、域名描述、服务端口、该域下的匿名用户、匿名用户的目录、建立其他用户等。
这里可以什么也不选择,退出 Serv-u 后安装 Serv-u 的汉化补丁
完成补丁按安装后 Serv-u 就变成中文版了,接下来的设置就会比较容易理解而且十分清晰。
Serv-u 支持建立多个域,即多个 FTP 服务器;但这些服务器不能同时使用相同的端口,必须每个服务器使用不同的端口,计算机的可用网络端口有 65535 个,扣除系统预留的端口,用户可以随意选择的端口还有很多。
下面介绍如何在一个空空如也的 Serv-u 中建立 FTP 服务器。
三、建立 FTP 服务器
运行 Serv-u,展开《本地服务器》,右击新建域或直接按下 Insert。
1. 新建域的服务器 IP
如图所示:如使用动态 IP 地址的可以留空。
2. 添加新建域的域名
输入新建立的域名描述,可随意输入,这些只是标识而已。
3. 选择服务端口
默认的 FTP 端口是 21,您可以选择其他端口,但需要知会访问者。
4. 选择域类型
如设定同时可访问量大于 500 人的话可选择注册表。
启用 DNS 选项可以在 TOZ.COM 申请一个动态域名解释服务(试用期30天),这里不用理会
5. 添加用户
这里可以添加两种用户,一种是有匿名访问权限的 Anonymous,另一种是必须输入用户名称和密码才能访问 FTP 服务。这两种用户我们都可以赋予不同的权限。
A. 添加匿名用户
与添加域名相似,右击域目录树下的用户选择添加用户或选中域目录树下的用户然后按 Insert。
输入匿名用户的缺省名称 Anonymous ,注意:Serv-U 把会自动把用户名为 Anonymous 的用户识别成匿名用户。
输入 Anonymous
指定可访问目录
锁定目录

B. 添加权限约束用户
权限约束用户必须输入用户名和密码才能够登陆 FTP 服务器。
与添加匿名用户一样,步骤大致相同
新建用户 movie
注意:在这里 Serv-U 没有以通用的 “*” 表示密码
指定目录路径
锁定目录
6. 设置用户权限
这里主要介绍用户的权限,这些权限包括文件权限、目录权限、子目录权限。文件权限包括:读取(Read)、写入(Write)、追加(Append)、删除(Delete)、执行(Execute)。
目录权限包括:列表(List)、创建(Create)、删除(Delete)。
子目录权限有继承(Inherit)。
文件权限:
读取(Read):赋予用户读取(下载)文件的权限。
写入(Write):赋予用户写入(上传)文件的权限。
追加(Append):允许用户追加文件。
删除(Delete):赋予用户删除文件的权限。
执行(Execute):赋予用户执行文件的权限。请注意:这个权限是很危险的,一旦开放这个权限,用户可以上传恶意病毒文件并执行该文件,会给计算机造成无可估计的破快。
目录权限:
列表(List):赋予用户浏览文件列表的权限,如果开放了读取全县但关闭列表权限,并不会影响用户的下载,只要用户知道详细的下载路径就行了。
创建(Create):允许用户创建目录即创建文件夹。
删除(Delete):允许用户删除目录,但不允许删除非空目录。
子目录权限:
继承(Inherit):与 NTFS 继承一样,用户可以按照本级目录的权限访问下一级目录。
<SPAN class=bold><SPAN class=smalltxt>四、高级设置
1. 用户组的使用
与 Windows 2000/NT 一样,Serv-U 也有类似的用户组别管理机制,只需要按照所需的权限建立组,就无需再为每个用户重新定义权限了。
假设现有 Movie-con 组、Movie-adv 和 Upload 组,Movie-con 组织允许知道详细下载路径的用户下载文件,则 Movie-con 组就只需要有文件的读取和子目录继承两个权限就可以了
只有 R---I (读取和继承) 权限的 Movie-con 组
Movie-adv 组可供用户登陆后浏览整个 FTP 服务器以选择需要下载的文件,则 Movie-adv 组就需要有文件读取、目录列表和子目录继承三个权限了。
拥有文件读取、目录列表、子目录继承的 Movie-adv 组
Upload 组需要有上传权限,则应赋予文件写入、目录列表以及子目录继承三个权限了。
只有文件上传、目录列表和子目录继承权限的 Upload 组
当相应权限的组建立后,就可以向组里面添加用户名
被列入 Movie-con 组的用户 movie 有自己的用户权限外还有组的权限
 
2. 修改服务器端口
选中域后出现的域属性中可更改 FTP 服务器的端口 (丛 0 – 65535 ),默认值是 21

3. 向访问者发送消息
您可以向正在访问您的 FTP 的用户发送消息,如:您好,欢迎登陆,30 分钟后我将断开服务器,请使用支持断点续传的 FTP 下载软件访问。等等的这些提示消息,问候消息都可以被访问者接收到。
选中域,在菜单栏上选中“窗口”,下拉菜单中选择 “消息”,也可以直接按 F2,但必须是在选中域的情况下。
在出现的消息窗口中点击 “广播消息” 或按组合键 ctrl+b 会出现消息的撰写窗口:

也可以独立向某个访问者发送消息;选中域然后再选中活动:
4. 封锁访问者 IP 和踢人
您喜欢的话可以封锁一个 IP 段或一个 IP,服务器会拒绝来自这个 IP 段或这个 IP 的访问。
选中域,然后选中域的设置,再选择 IP 访问。
禁止来自 218.19.*.* - 218.20.255.255 IP 段的访问
也可以单独踢人,选中域下的活动,在用户列表中选中用户,在右键菜单中选择踢除用户。
5. 设置服务器的回复消息
这些回复将被显示在访问者的 FTP 下载软件的事件对话中。
6. 限制访问者的上传下载速率
太多的用户访问把您的带宽都抢掉了,连浏览网页都变得像乌龟一样慢,您就需要限制访问者的上传和下载速率。
选中需要限制的用户,在常规中的最大上传/下载速度中就可以指定该用户的速度了:
7. 设定整个服务器的高级设置
您可以设定整个服务器的高级设置,在服务器名字 (默认是本地服务器) 下选择设置:
常规设置:
o最大速度:指定服务器的最大访问速度。
o最大用户数量:指定服务机在同一时间内允许的访问者数量。
o文件/目录只允许使用小写字母:指定所有文件和目录是否只使用小写字母。
o禁用反超时调度:忽略由客户使用的普通方法饶过任务超时。
o拦截“FTP_bounce”***和 FXP:只允许活动模式传送到客户 IP,也禁止直接的服务器到服务器的传送。
o拦截连接超过 [ ] 次 于 [ ] 秒 [ ] 分钟:自动拦截企图登陆的用户,一般设定为 3 次。
•SSL 证书
o指定使用 SSL 连接,高级用户适用。
•目录缓存
o指定目录缓存大少以及监视缓存的使用情况。
•高级
o服务器:
加密密码:把密码储存于加密表单中。
启用安全:强迫安全,禁止允许任何人在服务器上做任何事。
信息包超时:信息包的超时时间。
目录列表掩码:UNIX 风格访问掩码用于目录列表。
PASV 端口使用范围:限制 PASV 的端口号,默认锁定为 1023 – 65535 之间。
o文件上传:
允许无权只读访问:先以无权身份访问上传文件,如失败则改用只读方式来访问。
不允许访问:不允许任何人访问正在上传的文件。
允许完全访问:允许其他用户访问正在上传的文件。
适应超时:在上传期间,服务器自动适应上传时的超时。
osockets:
联机界外数据:解释 OOB 包到规则 TCP 流中。
发送连接信号:定时发送信号确认连接是否没有断开。
禁用 Nagle 运算法则:发送下一个包之前不等待等候信号。
发送缓冲:指定发送的缓冲区大小。留空则自动调用堆栈。
接收缓冲:指定接收的缓冲大区小。留空则自动调用堆栈。
o文件下载:
允许完全访问:允许其他客户或进程完全访问正在被下载的文件。
允许读取访问:只允许其他用户或进程以只读方式访问正在被下载的文件。
8. TIPS (提示)
1. Serv-U 的每个选项,左下角的状态栏都会显示该选项的详细资料,为用户在设置时提供充足的设置信息。
2. 在设定域的时候需要注意,域必须设置正确,您可以设置为一个 IP 或一个域,访问者会根据域或者来访问的,若域名设置错误,则访问者会收到无法访问等消息。
五、访问样例:
部分 FTP 访问软件访问 Serv-u 时的信息
Internet Explorer
打开 Internet Explorer,输入本地 FTP 地址,这里输入默认的本地 IP 127.0.0.1
Internet Explorer 的状态栏会显示这些信息:
用户:匿名
区域:Internet
下载文件:选中需要的文件,在菜单栏中选中文件,然后选择 “复制到文件夹”或直接右击需要下载的文件,在右键菜单中选择“复制到文件夹”。
Internet Explorer 的状态栏会显示这些信息:
用户:匿名
区域:Internet
下载文件:选中需要的文件,在菜单栏中选中文件,然后选择 “复制到文件夹”或直接右击需要下载的文件,在右键菜单中选择“复制到文件夹”。
不选择任何文件,然后单击菜单栏的文件,选择登陆可使用其他的用户身份登陆 FTP 服务器。

Cute FTP

六、常见问题   
1.为什么我启动 Serv-U 时提示无法启动?
答:Serv-U 启动时用户应以该软件安装时的用户身份登陆,即使用 Power User 安装就最好使用 Power User 或以上的用户身份启动 Serv-U。
启动时还需要注意,磁盘空间是否足够,当系统内存或许你内存严重不足时会发生无法启动 Serv-U 。
2.Serv-U 中有一个本地服务器,我还能建立多一个类似的服务器吗?
答:可以。但需要注意端口的设置避免端口冲突。
3. 我把域删除了,有什么方法可以恢复吗?
答:在 Serv-U 的安装目录下有一份 ServUDaemon.ini 的文件,里面储存了Serv-U 的注册信息以及域的设置信息,注意备份就可以避免误删域了。
4.为什么我通过 127.0.0.1 访问自己的 FTP 时会显示阅读文件夹时出错,请确认您有访问权限的错误提示?
答:如果把被访问的文件放到 NTFS 磁盘分区下的话,您还需要在 NTFS 里赋予 Everyon 的访问权限。
5.我明明已经设置好了该用户的主路径,为什么还是不能访问?
答:如果您在目录访问里面没有赋予用户的访问权限的话,就算指定了用户主目录也还会一样放问不了,您必须设置好这个权限。
6.上传/下载比率究竟是什么意思?
答:这个比率指的是访问者如果同时在上传和下载的时候,上传和下载之间的比率分配。例如比率是 1/2 的话,那么访问者在上传一条线程时还可以用两条线程进行下载。
7.我自己能访问,但别人不能访问,怎么回事?
答:这里有几个可能,第一,您的防火墙把 FTP 的端口拦住了,例如 Norton 防火墙是只允许 21 出站而禁止进站。
第二,如果访问者是利用域名访问您的话,您需要确保该域名确实能够访问到您。
第三,如果您在内网,那么您还需要在您的上层出口主机或网络设备上设置好端口映射。
第四,对方的访问方式的正确性,如果是对方输入错误而导致访问错误的话 … …
8.Serv-U 中的磁盘配额限制怎么样用?
答:这个配额限制其实无需特别设置,这个功能是用于限制访问者磁盘配额,如果您的磁盘太小,系统已经占用了大量的磁盘空间,如果访问者太多,也会占用不少的磁盘空间,这就需要限制访问者了,磁盘配额限制的作用就在于此。
9.我更改了 Serv-U 的 FTP 端口,别人需要用什么方式来访问我呢?
答: 需要用 “ ftp:// yourIP :端口 ”这种格式来访问。
10.我使用代理服务器上网,别人能访问到我吗?
答:您可以在代理服务器上设置端口映射,把端口映射您的机器上就行了

<SPAN class=bold><SPAN class=smalltxt>方案二、Serv-U+花生壳
    Serv-U 的设置楼上已经有介绍,下面介绍一下花生壳的设置。
1、首先申请网域护照:
http://www.oray.net/Console/Passport/Passp...ort_welcome.asp
2、下载花生壳客户端、安装。


win9x用户请使用1.0版的
3、运行客户端,输入刚才申请的账号和密码。

"花生壳"是一套完全免费的动态域名解析服务。
     当您安装并注册该项服务,无论您在任何地点、任何时间、使用任何线路,均可利用这一服务建立拥有固定域名和最大自主权的互联网主机。
     "花生壳"支持的线路包括普通电话线、ISDN、xDSL、有线电视网络、双绞线到户的宽带网和其它任何能够提供互联网真实IP的接入服务线路,而无论连接获得的IP属于动态还是静态。
     对于使用动态IP接入的用户而言,您可以利用"花生壳"在办公室或家庭建立拥有固定域名的互联网主机。由于不受线路类型、主机存放地点的约束,所以您可以根据自己的需求选择合适的系统平台、数据库平台和站点运营模式,并由此获得最大限度的自主性。
     对于希望拥有个人网站的用户而言,您从今天开始就可以利用包月的宽带接入线路和"花生壳"把主机设在家中,而无须再忍受朝三暮四、从不顾用户感受、随意更改服务条款、利用你的个人网站来弹出他们的广告窗、还硬性限制网站流量的无良虚拟主机服务商。
     对于使用静态IP接入的用户而言,特别是使用独立主机托管的用户,您可以利用"花生壳"提供的域名解析服务来避免在转换服务商时,不得不因受制域名解析服务商而忍受效率低下的修改过程,从而完全实现域名解析的自主性。
花生壳服务级别显示:无法连接ODAP服务器如何解决?
有时候连不上,但不影响使用。
只有下面的 服务器连接状态 在线  就可以了



<SPAN class=bold><SPAN class=smalltxt>方案三、Serv-U+花生壳+PortTunnel端口映射
设置端口映射的方法有多种。
如:通过路由器设置;通过服务器上的网关软件(如SyGate、WinGate等)设置端口映射。
这类方法的前提条件就是能够能路由器或服务器进行设置。如果不能控制路由器或服务器则请看方案四。
本方案介绍的是用PortTunnel软件进行端口映射。Serv-U和花生壳的设置上面已进行了介绍。
PortTunnel 软件进行端口映射的方法:
1、在有因特网IP的服务器上安装 PortTunnel。




<SPAN class=bold><SPAN class=smalltxt>2、用这个软件对端口映射进行设置。



3、该程序会在服务器启动时自动后台运行,因此设置完毕就可以了。



方案四、Serv-U+TrueHost
如果机器是内网IP,且不能控制路由器或服务器则请看本方案。
Serv-U的设置上面已进行了介绍。
TrueHost 是由科迈网(动态域名、虚拟专用网)提供的服务。该服务提供免费试用一个月。
(但并未限制您一个月后重新申请一个账号。)
利用 TrueHost 进行端口映射方法:
1、到 科迈网 申请一个二级域名:
http://www.dns0755.net/
2、对申请的二级域名信息在网站上进行修改。
在其中的 端口 1 到 端口 5 中选择一个您喜欢的端口,把端口名改成 FTP (该端口名可以设置成任意的名称,但必须与下面要讲的客户端的名称一致)。
修改后 提交, 让修改生效。
3、下载客户端(绿色软件,不需要安装),运行。
填入您申请的域名和密码。
关键设置:端口名称必须和上面在网站中修改时设置的一致;端口号码必须和上面在网站修改时选择的一致。
下面图片仅供参考,更多信息请到 科迈网 查看,因为是中文网站,偶就不多说了。

希望把内网专业版的介绍一下,那个更好一点
三、常见问题与补充说明:
1、常见问题:
   (1)使用WXPx作系统做FTP时,请把XP自带的防火墙关闭,否则可能导致无法连接。
           同时建议做FTP的兄弟安装杀毒软件和专业的防火墙。
  (2)长宽用户(同样建议其它用户)请把FTP端口改成1024以后的端口,以增强安全性。
2、补充说明:
上面只是建立FTP的一些方法,所有内容来自网上。
由于时间及条件限制,并没有一一测试。
当然建立FTP有多种方案。这里抛砖引玉,欢迎大家把自己的建FTP的以验拿出来让大家一起分享。
四、借花献佛:
1、借花献佛之一:FTP状态代码说明
FTP状态代码说明
110 Restart marker reply. In this case, the text is exact and not left to the particular implementation; it must read: MARK yyyy = mmmm where yyyy is User-process data stream marker, and mmmm server';s equivalent marker (note the spaces between markers and "=".
重新启动标志回应。这种情况下,信息是精确的并且不用特别的处理;可以这样看:标记 yyyy = mmm 中 yyyy是 用户进程数据流标记,mmmm是服务器端相应的标记(注意在标记和等号间的空格)
120 Service ready in nnn minutes.
服务在NNN时间内可用
125 Data connection already open; transfer starting.
数据连接已经打开,开始传送数据.
150 File status okay; about to open data connection.
文件状态正确,正在打开数据连接.
200 Command okay.
命令执行正常结束.
202 Command not implemented, superfluous at this site.
命令未被执行,此站点不支持此命令.
211 System status, or system help reply.
系统状态或系统帮助信息回应.
212 Directory status.
目录状态信息.
213 File status.
文件状态信息.
214 Help message.On how to use the server or the meaning of a particular non-standard command. This reply is useful only to the human user.
帮助信息。关于如何使用本服务器或特殊的非标准命令。此回复只对人有用。
215 NAME system type. Where NAME is an official system name from the list in the Assigned Numbers document.
NAME系统类型。
220 Service ready for new user.
新连接的用户的服务已就绪
221 Service closing control connection.
控制连接关闭
225 Data connection open; no transfer in progress.
数据连接已打开,没有进行中的数据传送
226 Closing data connection. Requested file action successful (for example, file transfer or file abort).
正在关闭数据连接。请求文件动作成功结束(例如,文件传送或终止)
227 Entering Passive Mode (h1,h2,h3,h4,p1,p2).
进入被动模式
230 User logged in, proceed. Logged out if appropriate.
用户已登入。 如果不需要可以登出。
250 Requested file action okay, completed.
被请求文件x作成功完成
257 "ATHNAME" created.
路径已建立
331 User name okay, need password.
用户名存在,需要输入密码
332 Need account for login.
需要登陆的账户
350 Requested file action pending further information
对被请求文件的x作需要进一步更多的信息
421 Service not available, closing control connection.This may be a reply to any command if the service knows it must shut down.
服务不可用,控制连接关闭。这可能是对任何命令的回应,如果服务认为它必须关闭
425 Can';t open data connection.
打开数据连接失败
426 Connection closed; transfer aborted.
连接关闭,传送中止。
450 Requested file action not taken.
对被请求文件的x作未被执行
451 Requested action aborted. Local error in processing.
请求的x作中止。处理中发生本地错误。
452 Requested action not taken. Insufficient storage space in system.File unavailable (e.g., file busy).
请求的x作没有被执行。 系统存储空间不足。 文件不可用
500 Syntax error, command unrecognized. This may include errors such as command line too long.
语法错误,不可识别的命令。 这可能是命令行过长。
501 Syntax error in parameters or arguments.
参数错误导致的语法错误
502 Command not implemented.
命令未被执行
503 Bad sequence of commands.
命令的次序错误。
504 Command not implemented for that parameter.
由于参数错误,命令未被执行
530 Not logged in.
没有登录
532 Need account for storing files.
存储文件需要账户信息
550 Requested action not taken. File unavailable (e.g., file not found, no access).
请求x作未被执行,文件不可用。
551 Requested action aborted. Page type unknown.
请求x作中止,页面类型未知
552 Requested file action aborted. Exceeded storage allocation (for current directory or dataset).
对请求文件的x作中止。 超出存储分配
553 Requested action not taken. File name not allowed
请求x作未被执行。 文件名不允许
这种错误跟http协议类似,大致是:
2开头--成功
3开头--权限问题
4开头--文件问题
5开头--服务器问题
2、借花献佛之二:FTP中的两种工作方式
FTP中的两种工作方式
     FTP支持两种模式,一种方式叫做Standard (也就是 Active,主动方式),一种是 Passive (也就是PASV,被动方式)。 Standard模式 FTP的客户端发送 PORT 命令到FTPserver。Passive模式FTP的客户端发送 PASV命令到 FTP Server。
下面介绍一个这两种方式的工作原理:
   Standard模式FTP 客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。
     Passive模式在建立控制通道的时候和Standard模式类似,当客户端通过这个通道发送PASV 命令的时候,FTP server打开一个位于1024和5000之间的随机端口并且通知客户端在这个端口上传送数据的请求,然后FTP server 将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。
     现在的FTP软件里面包括在IE5以上的版本里面也已经支持这两种模式了。一般一些FTP客户端的软件就比较好设置了,一般都有一个PASV的选项,比如CuteFTP,传输的方式都有Standard和PASV的选项,可以自己进行选择;另外在IE里面如果要设置成PASV模式的话可以选中工具-Internet选项-高级-为FTP站点启用文件夹视图,否则就采用Standard模式。
     很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以FTP的Standard模式在许多时候在内部网络的机器通过防火墙出去的时候受到了限制,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。当然也可以设置成功,首先要创建一条规则就是允许内部的IP连接外部的IP的21端口;第二条就是禁止外部IP的TCP 20端口连接内部IP的<1024的端口,这条是为了防止外部连接内部的常规端口;第三条验证ACK是否等于1,这个的原理就参见TCP建立连接的三次握手吧。所以如果安全的配置的话非常困难,这个时候就想起来了PASV模式,因为不用建立新的连接,所以也就不会涉及到后面的问题了。但是管理员可能不想使用PASV模式,因为这个时候FTP Server会开放一个随机的高端口,尽管在IIS4和IIS5里面端口的范围是1024-5000,但是许多FTP Server的端口范围达到了1024-65535,这个时候在这个主动开放的随机端口上是有完全的访问权限的,如果IIS也要设置成开放的端口为1024-65535,具体方法如下:
1. regedt32
2. 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
3. 编辑-添加-数值
value Name: MaxUserPort Data Type: REG_DWORD value: 65534 <for example&g t;
     所以如果遇到了有防火墙的话或者怕配置麻烦的话还是采用PASV模式比较好些,但是如果真的对安全的需求很高的话建议采用Standard模式。
对于自己的ADSL MOEDM上有公网IP,但电脑为内网IP的用户,(即ADSL MODEM路由方式)
可以有两种解决方案:
1.在MOEDM上做端口映射,然后使用花生壳之类的动态域名软件即可。
Quote:
jackal_2001的帖子,转移到这里
介绍
本文的目的是介绍如何在使用路由功能的adsl时, 如何用serv-u架设ftp服务器。
如果本机已有公网IP,那么本文不适用。
要求:
1 Serv-U已经正确安装并能在本地正常使用。
2 TCP/IP的基本知识。
3 MODEM 支持端口映射
FTP简介
ftp是基本的TCP服务, 不涉及UDP。FTP通常使用两个端口,数据端口和控制端口。 FTP有两种模式, PORT模式和PASV模式。
PORT模式下的FTP服务:
缺省情况下PORT模式的数据端口是20, 控制端口是21(控制端口可以设定, 本文假定使用21)。 当进行连接时,客户端使用一个随机的端口N(N大于1024)连接服务器的控制端口21, 然后客户端开始监听端口N+1,并向服务器发送命令 PORT N+1,服务器用自己的数据端口20连回客户的N+1端口。
由于PORT模式仅仅是发送端口给服务器,由服务器连回客户端,如果客户端有防火墙,这样的连接会被认为是外部主机试图连接内部的主机, 通常情况下是不允许的。
为了解决这个问题, 引入了PASV模式
PASV模式下的FTP服务:
当进行连接时,客户端使用一个随机的端口N(N大于1024)
连接服务器的控制端口21, 并向服务器发送命令 PASV,服务器使用一个随机的数据端口M(M>1024)并发回客户端, 客户端用数据端口N+1连接服务器的端口M。
由于客户端发起数据连接, 这样就解决了防火墙带来的问题。
ADSL路由方式的网络结构(这是我的网络结构MODEM自动拨号获取公网地址, FTP服务器建在主机192.168.0.2)
端口映射:
如上图所示, ADSL MODEM 分离了内网和外网, 由于内网的IP不能被外网访问, 所以如果想开设FTP,就必须作端口映射。
也就是说,把对ADSL MODEM公网IP如61.68.129.236相应端口的访问映射到内网主机上比如192.168.0.2
端口映射的设置是:
TCP/UDP 端口 内网IP
TCP 20 192.168.0.2
TCP 21 192.168.0.2
TCP 5501-5505 192.168.0.2
注:端口5501-5505的设置请参阅下面\"Serv-U 关于PASV模式的设置\"
具体设置因厂家不同而不同, 请参考手册。
Serv-U 关于PASV模式的设置
Serv-U 可以指定在PASV模式下所使用的端口, 一般情况下5-10个就够了, 本例子给出的是5501-5505。
因为PASV模式下服务器端需要把数据端口发送给客户端, 也就是说会把内网IP如192.168.0.2和端口发给客户端, 这会导致连接失败, 所以需要制定PASV方式下传送给客户端的公网IP地址如61.68.129.236, 见下图。这在DHCP下手动设置下比较麻烦, 每次更新公网IP都需要更新。
测试
找一台公网电脑,最好没有防火墙,可以测试port模式, ftp 到公网IP 61.68.129.236
如果客户机是公网IP, 并且没有防火墙, 这样设置就可以了, PORT模式下可以工作, 否则必须设置PASV模式。
Q:看了半天也没看明白顶楼如何搞定动态IP。手动?
A:呵呵,是个问题啊。
不同牌子的MODEM方法不太一样,请各位补充~~~~~~~
I.合勤Prestige 642 ROUTER/BRIDGE端口映射
合勤Prestige 642 ROUTER/BRIDGE端口映射
  
介绍
如果您想启用内部服务器(如web,ftp或者mail服务器),并使其可以为外网的用户提供相应的服务,您需要在p642中作一定的设置。在应用前,请您先确定该项服务的端口号,您也需要为您的服务器指定IP地址。注意服务器的IP地址必须指定,而不可以利用DHCP服务器自动获得IP地址。
设置
                        Menu 11.1 - Remote Node Profile
    Rem Node Name= ChangeMe              Route= None
    Active= Yes                          Bridge= Yes
    Encapsulation= RFC 1483              Edit PPP Options= N/A
    Multiplexing= LLC-based              Rem IP Addr= N/A
    Incoming:                            Edit IP/IPX/Bridge= No
      Rem Login= N/A
      Rem Password= N/A
    Outgoing:                            Session Options:
      My Login= N/A                        Edit Filter Sets= Yes
      My Password= N/A                     PPPoE Idle Timeout(sec)= N/A
      Authen= N/A                          PPPoE Service Name= N/A
                                           Schedule Sets= N/A
在设置开始前首先进入设备的第11.1项,将EDIT FILTER SETS项设置为YES,如图所示
按回车键,进入11.5项,可以看到数字6,按空格键将数字6删除
            
                        Menu 11.5 - Remote Node Filter
                   Input Filter Sets:
                     protocol filters= 6
                       device filters=
                   Output Filter Sets:
                     protocol filters=
                       device filters=
按回车键到底,退回至11.1项,这个时候EDIT FILTER SETS项会变为NO,不需要理会他,回车到底,回退至11项,按ESC键退至主菜单,再次进行下面的设置
为了该服务器可以向外网用户提供服务,首先要在菜单第15项指定该项服务的端口号以及提供相应服务的服务器在内网中的IP地址。这样外网用户便可以通过访问P642R的合法IP地址来访问到您内网中的服务器。
例子:(在内网中设置WEB服务器,服务端口号80,服务器内网IP地址为192.168.1.10)
                          Menu 15 - SUA Server Setup
                      Port &#35;         IP Address
                    ------       ---------------
                  1.Default      0.0.0.0
                  2. 80          192.168.1.10
                  3. 0           0.0.0.0
                  4. 0           0.0.0.0
                  5. 0           0.0.0.0
                  6. 0           0.0.0.0
                  7. 0           0.0.0.0
                  8. 0           0.0.0.0
             Press ENTER to Confirm or ESC to Cancel:
一些服务的端口号
服务
端口号
FTP
21
Telnet
23
SMTP
25
DNS (Domain Name Server)
53
www-http (Web)
80
2.直接使用科迈网的TrueHost ,方法见上,推荐使用内网专业版。

<SPAN class=bold><SPAN class=smalltxt>让你的SERV-U FTP看起来更专业一点
现在很多的朋友都用SERV-U做个人FTP的服务器,有关如何使用SERV-U架设服务器的文章很多了,这儿我就不多说了。不过大家不知道注意到了没有,当你登陆很多FTP的时候,会显示一些欢迎信息,比如说显示你的IP,告诉你目前有多少人在使用FTP,带宽是多少等等。。。看起来就比较的专业样子。其实你自己也是可以做的,SERV-U这个软件本身就有这个功能。下面我就说明以下如何在自己的FTP里面加上这些信息。
第一、先建立一个文本文件,随便取一个名字。我们这儿就取message.txt吧。
第二、这个这个文本文件里面加上这些文字
------------------------------------
欢迎来到XXX的个人FTP服务器
你的IP地址是:%IP
目前服务器所在的时间是 %time
已经有 %u24h 个用户在最近24小时访问过本FTP
本FTP服务器已经运行了 %ServerDays 天,%ServerHours 小时 和 %ServerMins 分。
服务器的运行情况:
所有登陆用户数量: %loggedInAll total
当前登陆用户数量: %Unow
已经下载字节数: %ServerKbDown Kb
已经上传字节数: %ServerKbUp Kb
已经下载文件数: %ServerFilesDown
已经上传文件数: %ServerFilesUp
服务器平均带宽: %ServerAvg Kbc
服务器当前带宽: %ServerKBps Kbc
------------------------------------
其中XXX可以改成你的名字
你也可以加上一些你自己认为喜欢的文字,不过要注意的是每行最好不要超过80个字符
其中以%开头的都是一些变量,下面是SERV-U能支持的变量
时间和日期
%Time - 显示你的计算机当前时间
%Date - 显示你的计算机当前日期
服务器的统计信息
%ServerDays - 显示服务器已经运行的天数
%ServerHours - 显示服务器已经运行的小时数
%ServerMins - 显示服务器已经运行的分钟数
%ServerSecs - 显示服务器已经运行的秒数
%ServerKbUp - 显示自从服务器运行以来已经上传的字节数
%ServerKbDown - 显示自从服务器运行以来已经下载的字节数
%ServerFilesUp - 显示自从服务器运行以来已经上传的文件数
%ServerFilesDown - 显示自从服务器运行以来已经下载的文件数
%LoggedInAll - 显示自从服务器运行以来已经登陆的用户数
%ServerAvg - 显示服务器的平均带宽
%ServerKBps - 显示服务器的当前带宽
服务器的设定信息
%MaxUsers - 显示服务器能同时登陆的最大用户数量
%MaxAnonymous - 显示服务器能同时登陆的最大匿名用户数量
用户信息
%Name - 显示登陆的用户名
%IP - 显示登陆的用户IP地址
%Dir - 显示登陆的用户的当前目录
%Disk - 显示登陆的用户的当前磁盘
%DFree - 显示登陆的用户的当前磁盘空间,单位是MB
%FUp - 显示登陆的用户上传的文件数量
%FDown - 显示登陆的用户下载的文件数量
%FTot - 显示登陆的用户上传和下载的总的文件数量
%BUp - 显示登陆的用户上传的字节数,单位是KB
%Bdown - 显示登陆的用户下载的字节数,单位是KB
%BTot - 显示登陆的用户上传和下载的总字节数,单位是KB
%TconM - 显示登陆用户连接时间,单位是分钟
%TconS - 显示登陆用户连接时间,单位是秒,要和%TconM一起使用
%RatioUp - 显示登陆用户的上传流量限制
%RatioDown - 显示登陆用户的下载流量限制
%RatioCredit - 显示登陆用户还有多少credit可以上传和下载,这个是针对有些FTP是要上传多少文件,才能下载多少文件而设置的
%QuotaUsed - 显示登陆用户的已经使用了多少空间,单位是KB
%QuotaLeft - 显示登陆用户的还有多少空间可以使用,单位是KB
%QuotaMax - 显示登陆用户的的最大空间,单位是KB
后面3个是针对有磁盘限制的用户设置的
用户数量
%UNow - 显示当前有多少用户连接
%UAll - 显示从服务器运行以来一共有多少用户连接过
%U24h - 显示最近24小时有多少用户
%UAnonAll - 显示当前总的匿名用户数量
%UAnonThisIP - 显示所有匿名登陆的用户数
%UNonAnonAll - 显示所有当前非匿名登陆用户数
%UNonAnonThisIP - 显示所有非匿名登陆用户数
%UThisName - 显示所有使用这个名字登陆的用户数
自己在先建立一个.txt文件,输入你想要显示的文字,具体参数看上面的内容,然后在Serv_u内的server设置里面,加入这个.txt文件就可以了!
下面我已经做了几个!喜欢就把名字等改改OK了!呵呵
------------------------------------
欢迎来到***丽山水秀***的个人FTP服务器
你的IP地址是:%IP
目前服务器所在的时间是 %time
已经有 %u24h 个用户在最近24小时访问过本FTP
本FTP服务器已经运行了 %ServerDays 天,%ServerHours 小时 和 %ServerMins 分。
服务器的运行情况:
所有登陆用户数量: %loggedInAll total
当前登陆用户数量: %Unow
已经下载字节数:  %ServerKbDown Kb
已经上传字节数:  %ServerKbUp Kb
已经下载文件数:  %ServerFilesDown
已经上传文件数:  %ServerFilesUp
服务器平均带宽:  %ServerAvg Kbc
服务器当前带宽:  %ServerKBps Kbc
------------------------------------
你的信息
用户名: %Name
IP地址: %IP
当前目录: %Dir
当前磁盘: %Disk
磁盘空间:%DFree
连接时间: %TconM 分 和 %TconS 秒
上传流量限制: %RatioUp
下载流量限制: %RatioDown
------------------------------------
★★★★★★★★★★★★★★★★★★★★★★★★★
来自%IP的朋友您好,欢迎来到+丽山水秀+的个人FTP服务器
本地时间是%Date %Time
服务器已连续工作:%ServerDays天%ServerHours小时%ServerMins分%ServerSecs秒
本站开通以来已接通%UAll位使用者。
过去24小时总共有%U24h次连接。
匿名用户上限为%MaxAnonymous人。每个ip只能开两个进程
目前有%UNow位使用者在线。
其中匿名用户有%UAnonAll人在线。
★★★★★★★★★★★★★★★★★★★★★★★★★
自本站开通以来共上传/下载 |%ServerKbUpKB/%ServerKbDownKB
自本站开通以来共上传/下载 |%ServerFilesUp个/%ServerFilesDown个
服务器当前流量|%ServerKBps Kbc
服务器平均流量|%ServerAvg Kbc
★★★★★★★★★★★★★★★★★★★★★★★★★
你目前的空间容量为 |%QuotaMax/KB
你目前总共使用了   |%QuotaUsed/KB
你目前的空间剩余   |%QuotaLeft/KB
★★★★★★★★★★★★★★★★★★★★★★★★★
如果是自己的个人FTP,想做列表有一个简单的方法,到要做列表的目录下,执行DOS命令
dir /ad/s>资源列表.txt
然后将资源列表的内容粘贴到自己的帖子里,就ok了。。
推荐使用ftpPlus这个FTP资源列表软件吧。x作非常简单。
推荐:ftpPlus下载连接http://www.5308.com/p_w_upload.php?aid=1229

更详细的SERVR-U教程
请下载附件
http://5308.com/p_w_upload.php?aid=8702
serv-u上载自动校验插件jasfv使用简介:
minsc@smth
serv-u作为一种使用简单的ftp server软件,比较流行。在现有的个人ftp中,有一定比例的使用。当fxp 文件的时候,保证上载文件的正确性很重要。下面介绍如何在serv-u环境下实现sfv自动校验。希望抛砖引玉,有其他的网友讲讲其他的ftp server软件对应的sfv插件的使用。(可以参照我最后给出的网址)
1. jasfv包括两个文件jasfv.dll和jasfv.ini
2. jasfv的主要功能
JASFV是serv-u的一个插件,其主要功能就是捕捉serv-u里面的上载事件,自动对上载文件进行sfv校验
3.安装说明,直接把这两个文件拷贝到serv-u的安装目录,然后修改ServUDaemon.ini和JAsfv.ini如下
3.1在ServUDaemon.ini
里面加如下两行
[EXTERNAL]
EventHookDLL1=JAsfv.dll
就加在[GLOBAL]的各个选项下面,[Domain1]的上面即可
3.2 JAsfv.ini修改示范
tempfilepath=.
checkext=.rar
checkext=.r&#35;&#35;
checkext=.s&#35;&#35;
checkext=.t&#35;&#35;
checkext=.&#35;&#35;&#35;
checkext=.mp3
checkext=.mp2
checkpath=待校验目录一
//这个是要检查的目录(包括其子目录),也就是其他用户可以上载的目录
checkpath=待校验目录二
//如果有多个上载目录,那么并列加同样格式的一行
createprogress=1
//Create only in the directory where the files are uploaded
pointoutnosfv=1
sitename=minsc
//这个就是你的ftp的名字,随便起一个即可,比如起名叫minsc,然后你上载sfv之后会显示\"---[++++++++++]--[0%-Complete]--[0-of-50]--[minsc]-\",就在方括号内了。
deletebad=0
priority=NORMAL
renameuntested=0
4.使用说明
当上载sfv之后,自动开始校验,并列出没有上载的文件
当上载之后,开始校验,如果正确\"---[++++++++++]--[0%-Complete]--[0-of-50]--[minsc]-\"就会随之修改
如果错误,就会标出错误文件(加后缀.bad)
如果补上正确的文件,就会自动删除对应的错误的.bad文件
5.注意事项
我的serv-u是4.0的,其他版本的没测试过,不过3.x应该就可以了,其实主要是上载事件的消息兼容即可。
6.相关网页(和jasfv无关,但是是也有关上载自动校验的)
http://cruzer.antispam.dk/csfvse/installation.php
http://ftpservertools.tripod.com/Tools.htm
jasfv下载——附件