这几天做的ftp有了新的需求,需要将ftp服务对外提供服务,都知道,ftp分为主动模式和被动模式两种,如果使用被动模式就需要开放多个端口,这样就有点太麻烦了,所以选择了主动模式,只需要开放tcp的20,21端口就行了

iptables的写法

iptables -A PREROUTING -p tcp –dst 10.100.0.1–dport 20 -j DNAT –to 192.168.224.52:20
iptables -A PREROUTING -p tcp –dst 10.100.0.1–dport 21 -j DNAT –to 192.168.224.52:21
iptables -A POSTROUTING -d 192.168.224.52 -j SNAT –to 192.168.0.1

蚊子这边的服务器是双网卡

重启iptables之后发现,连接21端口并不好使,而且在client端强制使用主动模式也连不上,于是发动了google,发现,只需要在启用一个模块就可以了

modprobe ip_nat_ftp

阅读全文

书接上回,ftp使用的是明文的方式传送,所以,对于重要的数据是很关键的,当然有人会想到用sftp的方式,不过这样的话,就需要一个真实的系统用户,这样也是不理想的,所以就使用ssl方式的ftp来提供加密方式。

首先需要安装pureftpd的时候加上–with-tls这个参数

然后修改/etc/pure-ftpd.conf

找到422行,TLS                      1,去掉前面的注释

这里的TLS有3个模式

0:普通模式,这个是默认的
1:同时支持普通模式和加密模式
2:拒绝所有的非ssl模式的连接

修改完成后保存退出

# killall –9 pure-ftpd (停止ftp服务)
# pure-config.pl /etc/pure-ftpd.conf (启动ftp服务)

接下来创建证书

# mkdir –p /etc/ssl/private
# openssl req -x509 -nodes -newkey rsa:1024 -keyout \
  /etc/ssl/private/pure-ftpd.pem \
  -out /etc/ssl/private/pure-ftpd.pem
# chmod 600 /etc/ssl/private/*.pem

现在就可以用客户端使用ssl的方式进行连接了。

阅读全文

简单记录一下蚊子使用pureftpd配置支持虚拟用户ftp服务的过程

1,系统所需软件安装包

1.1,需要软件包
pure-ftpd-1.0.29.tar.gz
获取方式:
http://download.pureftpd.org/pub/pure-ftpd/releases/

2,ftp服务软件安装

2.1,pure-ftpd安装
# tar zxvf pure-ftpd-1.0.29.tar.gz
# cd pure-ftpd-1.0.29
# ./configure –with-everything –with-tls
# make
# make install

–with-everything 包含所有功能
–with-tls 激活SSL/TLS支持,需要openssl

3,ftp服务配置

3.1,pureftpd文件配置
# cp configuration-file/pure-ftpd.conf /etc/
# cp configuration-file/pure-config.pl /usr/local/bin/
# chmod +x /usr/local/bin/pure-config.pl
# vi /etc/pure-ftpd.conf

34行  BrokenClientsCompatibility  yes 从no改为yes
65行  DisplayDotFiles             yes 从no改为yes
77行  NoAnonymous                 yes 从no改为yes
126行 PureDB                        /etc/pureftpd.pdb 前面的注释去掉
351行 PIDFile                     /var/run/pure-ftpd.pid 前面的注释去掉

修改完毕后保存退出

3.2,ftp添加用户

首先创建实体用户,但不给与登陆权限
# useradd -s /sbin/nologin -d /dev/null test

创建ftp虚拟用户
# pure-pw useradd test -f /etc/pureftpd.passwd -u test -d /data/test,回车后连续输入两次密码,此用户即创建完毕

# pure-pw mkdb 生成db文件使刚创建的用户生效,以后每次执行了创建用户操作后都需要执行此操作

4,开始使用

启动服务
# pure-config.pl /etc/pure-ftpd.conf

阅读全文