许多网管可能都有这样的经验:在有一个公网
IP
地址的时候,如果内网有多台
FTP
服务器需要发布,除了其中的一台
FTP
服务器可以
21
端口发布,其他的
FTP
服务器只能使用
21
之外的端口进行发布。这样发布的
FTP
服务器,如果最终用户是内网用户(就是通过代理服务器或者
NAT
路由器共享上网的用户),在访问非标准端口的
FTP
服务器时,只能使用
PORT
模式,并且这些用户只能使用专门的
FTP
客户端软件如
FlashGet
、
CuteFTP
等,而不能使用
IE
等软件上传和下载。这种网络拓扑如图
1
所示。

图
1
普通用户只能使用
PORT
模式访问非标准端口的
FTP
服务器
如果你的
FTP
服务器具有更加复杂的网络,例如,我的
ISA Server 2006
具有公网地址
202.206.203.193
(教育网
IP
),我们学校还有一个电信的出口。因为从公网访问教育网是很慢的,我们的网络中心给我提供了一个公网地址
124.xx.xx.126
,并且将这个地址映射到我的
ISA Server
公网地址
202.206.203.193
中。
如果在这种情况下,你有多台
serv-u
的
FTP
服务器想要发布,普通的方法,只能使用
21
端口发布内网的
1
台
FTP
服务器,使用非标准端口发布的
FTP
服务器是不能让公网用户访问的。这种网络拓扑如下:

1、
为
Serv-U
指定
PASV
服务的
IP
地址。
2、
为
Serv-U
指定
PASV
服务的端口号。
3、
如果是使用
ISA Server 2004
发布非标准的
FTP
服务器时,不使用“
FTP
筛选器”。如果是使用其他防火墙或者路由器的
NAT
方式,则直接做端口映射或者端口转发即可。
为了方便,画表如下:
FTP
内网地址
|
FTP
服务端口
|
PASV
端口
|
PASV
地址
|
ISA
发布的端口
|
172.30.5.15
|
2115
|
2015
|
124.xx.xx.126
|
2115
|
172.30.5.16
|
2116
|
2016
|
124.xx.xx.126
|
2116
|
172.30.5.25
|
2125
|
2025
|
124.xx.xx.126
|
2125
|
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
其中,
124.xx.xx.126
是
FTP
服务器所属网络中最外一级防火墙的外网地址(这个地址映射给了
FTP
服务器的防火墙的外网地址)。
在本文中,以发布图
2
中的内网地址为
172.30.5.15
的
FTP
服务器为例,将此
FTP
服务器使用
124.xx.xx.126
的
2115
端口发布(外网用户使用
[url]ftp://124.xx.xx.126:2115[/url]
并用
PASV
方式即可以访问,可以使用
IE
、
CuteFTP
、
FlashGET
等多种客户端软件)。主要步骤如下:
例:内网
172.30.5.16
的
FTP
服务器的设置
1
、在
172.30.5.16
的计算机上,打开
Sev-U
的控制台,设置
PASV
端口范围为
2006-2006
,如图
3
所示。
说明:在此只需要设置一个地址,可以允许最大量的用户访问,而不是一个端口只能连接一个
FTP
的客户端。
2
、选中“允许被动模式数据传输,使用
IP
”这一项,并且设置
PASV
地址为防火墙映射的公网地址
124.xx.xx.126
,如图
4
所示。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

3
、将
FTP
服务器的端口地址从
21
修改为
2116
,如图
5
所示。

图
5
设置
FTP
端口号,默认为
21
4
、然后重新启动
FTP
服务,如图
6
所示。

图
6
5
、转到图
2
中的内网防火墙中进行设置,本例中使用
ISA Server 2004
(
ISA Server 2006
与此相同)。如果是如果是使用其他防火墙或者路由器的
NAT
功能,可以直接转发
TCP
的
2116
和
TCP
的
2006
到内网的
172.30.5.16
的
IP
地址上却可。下面以
ISA Server
为例说明。
在
ISA Server 2004
中,创建服务器发布规则,在“通讯”中选择“新建”,设置协议名称为“
FTP:2116
”,设置协议端口为
TCP
的
2006
和
TCP
的
2116
(入站),如图
7
、图
8
所示。


图
7
新建协议
图
8
为内网
FTP
创建协议,指定
PASV
端口和
FTP
服务器发布端口
6
、指定
FTP
服务器的内网地址“
172.30.<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />5.16”,并且选中“使请求显示来自初始客户端”,如图9
所示。

创建服务器发布规则后,公网上的用户(包括公网上的内网用户)就可以使用
[url]ftp://124.xx.xx.126:2116[/url]
访问以非标准端口发布的
FTP
服务器了。其他的内网服务器的发布,可以参照上面的步骤创建。
说明:对于图
2
的网络,如果你想在内网中(
IP
地址为
172.30.x.x
的网络)使用
21
端口访问
172.30.5.16
等
FTP
服务器,可以在
Serv-U
中,再创建服务端口为
21
的
FTP
服务器,因为
serv-U
是支持多个不同端口的
FTP
服务器的,只不过你要把相同的用户在重建一下而已,如图
10
所示。

图
10
创建多个
FTP
服务器(端口不同)