FREEBSD6.0 架设FTP 服务器

FTP (File Transfer Protocol) 是常用的网络协议,主要的功能是用来传输档案,我们时常从 FTP 站台下载档案。本章将介绍如何使用 FreeBSD 架设 FTP 服务器,并说明各种 FTP 服务器的管理技巧。本章除了 FreeBSD 内附的 FTP 服务器软件外,并将介绍笔者开发的 SmbFTPD。读完本章后,您将进一步了解下列主题:

  • FTP 协定的运作方法。
  • 如何使用 FreeBSD FTP。
  • 加强权限控制以建立安全的 FTP 服务器。
  • 安装设定 SmbFTPD。
  • 如何使用具 SSL 加密的 FTP。
  • 如何进行流量控制。

15.1 FTP 概论

FTP 是一个历史悠久的网络通讯协议,和大多数的网络协议一样,它采用 Client/Server 架构,各地的使用者可以经由网络连到服务器上传或下载档案。FTP 协议比较特别的地方在于它在使用时必须建立二个联机:一个用来传输指令、一个用来传输档案。

图 15-1

当我们使用 FTP 软件连到 FTP 服务器时,客户端会先连到服务器的连接埠 21,并建立一条「控制联机」(Control Stream)。接下来,您会输入账号、密码等指令,这些指令及 FTP 的响应都是使用都是使用「控制联机」。当您要下载档案时,或者是执行 ls 以列出目录中的档案时,档案或目录列表的下载是经另一个联机「数据联机」(Data Stream)。「数据联机」和「控制联机」不同的是数据联机所传输的数据比较大,而控制联机只是用来传输指令及简单的响应。

基本上,一个完整的 FTP 联机建立过程为:

  • 客户端打开自已机器大于 1024 的连接埠,并连到服务器的连接埠 21,建立「控制联机」。
  • 客户端开始对服务器下指令,告诉服务器客户端用来传输档案的连接埠为何。
  • 服务器从连接埠 20 连到客户端所开放的埠号 (大于 1024),以建立「数据联机」。

上述这种联机建立的方式是由服务器主动建立「数据联机」,我们称之为「主动模式」(Active Mode)。基本上主动模式的运作在没有防火墙或 NAT 的情形下没有什么问题,但若客户端有防火墙,则可能会无法建立联机。

图 15-2

因为「控制联机」是由客户端主动连到服务器,所以在客户端有防火墙或 NAT 时,还是可以连到服务器。接下来在建立「数据联机」时,客户端会从「控制联机」中告诉服务器它的 IP 及埠号,请服务器连过来。但是由于客户端有防火墙,所以服务器要连到客户端时会失败,而无法建立联机。

基本上,如果客户端使用的是 FreeBSD 的 NAT 不会有这种问题,FreeBSD 会自动做转换,但若是使用其它的防火墙就不一定可以支持 FTP 的 Active Mode。

何谓 Passive Mode

要解决 FTP Active Mode 的问题,可以在联机时改用「被动模式」(Passive Mode)。所谓的被动模式就是由服务器打开一个连接埠,被动地等客户端连过来建立「数据联机」。被动模式的联机建立过程为:

  • 客户端打开自已机器大于 1024 的连接埠,并连到服务器的连接埠 21,建立「控制联机」。
  • 客户端开始对服务器下指令,告诉服务器进入「被动模式」。
  • 服务器打开一个大于 1024 的连接埠,等待客户端的联机。
  • 客伺端打开自已机器大于 1024 的连接埠,并连到服务器以建立「数据联机」。

图 15-3

由于控制联机及数据联机都是由客户端主动连过去服务器,如此即可避开防火墙及 NAT 的问题。我们来看看如何判断联机失败是否因为主动模式的原因:

# ftp ftp.freebsd.orgTrying 204.152.184.73...Connected to ftp.freebsd.org (204.152.184.73).220 Welcome to freebsd.isc.org.Name (ftp.freebsd.org:alex): anonymous331 Please specify the password.Password:230-230-You have reached the freebsd.isc.org FTP server, serving the230-full FreeBSD FTP archive over IPv4 (204.152.184.73) and IPv6230-(2001:4f8:0:2::e) networks. This server is also known as:230-230- ftp.freebsd.org230- ftp4.freebsd.org230- ftp4.us.freebsd.org230-230-This server is operated by Internet Systems Consortium (ISC),230-on behalf of the FreeBSD Project, with hardware donations from230-Apple, Intel and Iron Systems.230-230-Questions about this service can be sent to: freebsd@isc.org.230-230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> ls^Cftp> passivePassive mode onftp> ls227 Entering Passive Mode (204,152,184,73,54,200)150 Here comes the directory listing.drwxrwxr-x 3 0 0 512 Apr 17 2003 pub226 Directory send OK.ftp>

当您登入一台 FTP 服务器后,如果您输入 ls,却等了很久都没有响应,您可以输入 <Ctrl>+C 以中断命令。接着输入 passive 以进入被动模式,再打 ls 就可以看到目录内容,则无法联机的问题一定是主动模式的原故。

15.2 设定 FTP 服务器

FreeBSD 内建有 FTP 服务器的功能,如果您要使用内建的 ftpd,我们不需要特别进行任何安装的动作,只要做好设定即可。本小节中,我们将介绍如何设定启动 FTP 服务器的功能,并进行一些基本的配置。

15.2.1 启动 FTP 服务器

上一页12 3 下一页

(0)

相关推荐

  • FreeBSD6.2架设FTP服务器详解

    FTP联机的两种模式FTP采用 Client/Server 架构,FTP 协议比较特别的地方在于它在使用时必须建立二个联机:一个用来传输指令、一个用来传输档案。当我们使用 FTP 软件连到 FTP 服 ...

  • 用OpenBSD 3.8 release自带的FTPD架设FTP服务器

    使用OpenBSD 3.8 release自带的FTPD架设FTP服务器 Author: MichaelBibby Date: 2005/11/20 可以任意转载,但请保留以上信息,谢谢。 注:本文参 ...

  • 如何架设FTP服务器

    架设一台FTP服务器其实很简单。首先,要保证你的机器能上网,而且有不低于ADSL 512Kbps的网络速度。 其次,硬件性能要能满足你的需要。最后,需要安装FTP服务器端的软件,这类软件很多,可以使用 ...

  • OpenBSD 3.8 release 架设FTP服务器

    使用OpenBSD 3.8 release自带的FTPD架设FTP服务器 OpenBSD的ftpd程序没有配置文件,就靠设置运行参数进行配置。所有参数的含义都可以在ftpd 的man文档中获得详细信息 ...

  • 用FileZilla Server v0.9.35 架设FTP服务器的图文方法

    注意!想要架设FTP站让其他人连线进来的话,首先你所使用的网路必须拥有自己的IP位址,不管是浮动IP或固定IP都可以。IP位址就像门牌号码一样,可以让其他电脑透过网际网路连线到你的电脑来。 如果你是使 ...

  • 教你如何架设办公室FTP服务器

    Scrv-U是Windows平台上最流行的FTP服务器软件,可以从官方网站下载,也可以从其他软件下载网站下载。下面,win7之家小编就以现在局域网中最流行的FTP服务器软件Serv-U为例,向您讲解一 ...

  • 教你如何架设办公室的FTP服务器

    操作方法 01 Scrv-U是Windows平台上最流行的FTP服务器软件,可以从官方网站下载,也可以从其他软件下载网站下载.下面,win7之家小编就以现在局域网中最流行的FTP服务器软件Serv-U ...

  • Windows Vista系统局域网的FTP服务器的打造

    部署局域网FTP服务器,方便了用户上传、下载资源,是局域网文件共享的最优方案。我们知道可以把XP系统打造成一台FTP服务器,Vista如今已经走进了用户的电脑,那如何用Vista部署一台FTP服务器呢 ...

  • 怎样组建校园网下的FTP服务器

    对很多新生来说,架设FTP服务器似乎是个很难的事,其实Windows服务器版本中的IIS就可以做到这一切,Windows Server 2008中内置的IIS 7.0更能够轻松组建FTP服务器. 步骤 ...