Chinaunix首页 | 论坛 | 博客
  • 博客访问: 167840
  • 博文数量: 31
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 425
  • 用 户 组: 普通用户
  • 注册时间: 2014-10-13 17:05
文章分类

全部博文(31)

文章存档

2016年(11)

2015年(20)

我的朋友

分类: LINUX

2015-12-16 11:14:44

      首先,了解下ftp关于主动模式和被动模式的原理:如果是内网环境,主机之间一般是不会开启防火墙的,这样就无关主动和被动。但是在生产环境中,ftp服务器和客户端之间一般不止一个防火墙。
       FTP协议是需要用到两个TCP连接,一个命令连接,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。
       FTP协议有两种工作模式,PORT模式和PASV模式,中文意思为主动模式和被动模式。

       PORT(主动)方式的连接过程:客户端向服务器的FTP端口发送连接请求,服务器接收连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXX端口,你过来连接我”,于是服务器从20端口向客户端的XXX端口发送请求,建立一条数据链路来传送数据。
       PASV(被动)方式的连接过程:客户端向服务器的FTP端口发送连接请求,服务器接收连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了xxx端口,你过来连接我”,于是客户端向服务器的XXX端口端口发送请求,建立一条数据链路来传送数据。

         主动模式:客户端通过21端口请求服务器端,服务器向客户端敲门,客户端开门。
         被动模式:客户端通过21端口请求服务器端,客户端向服务器敲门,服务器开门。

         在生产环境中使用被动模式:

点击(此处)折叠或打开

  1. pasv_enable=YES
  2. pasv_min_port=21000
  3. pasv_max_port=21100
1、默认配置
    (1)允许匿名用户和本地用户登录

点击(此处)折叠或打开

  1. # Allow anonymous FTP? (Beware - allowed by default if you comment this out).
  2. anonymous_enable=YES
  3. #
  4. # Uncomment this to allow local users to log in.
  5. local_enable=YES

2、一般开启被动模式配置文件修改参数如下:
anonymous_enable=NO              # 禁止匿名用户访问
listen=YES                                 # 开启监听
listen_port=2100                        # 监听端口为2100
pasv_enable=YES                       # 开启被动模式
pasv_min_port=21000                 # 最小被动端口
pasv_max_port=21100                 # 最大被动端口
chroot_local_user=YES                 # 禁止用户离开主目录

#防火墙添加如下规则:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21000:21100 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2100 -j ACCEPT

一般来说,这样一台简易的ftp服务器就搭建完成了。

如下参数作为参考部分:

listen_port=5021                         ;命令通道端口,默认为21

listen_data_port=5020                     ;数据通道端口,默认为20

pasv_enable=YES                        ;允许被动模式

pasv_min_port=10000                     ;被动模式使用端口范围

pasv_max_port=10010

local_max_rate=200000                    ;用户宽带限制 200kps

chroot_local_user=YES                    ;禁用户离开主目录

listen_address=192.168.0.21                ;让他监听ip:192.168.0.21


现在用户的磁盘配合使用quota来实现。




阅读(1704) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~