vsftpd的配置详解

配置环境:(防火墙、SELinux关闭)

[root@miner_k ~]# cat /etc/redhat-release 
CentOS release 6.8 (Final)

vsftpd的安装:

[root@miner_k ~]# yum -y install vsftpd

[root@miner_k var]# rpm -ql vsftpd
/etc/logrotate.d/vsftpd     #关于vsftpd的日志切割
/etc/pam.d/vsftpd           #PAM模块认证
/etc/rc.d/init.d/vsftpd     #vsftpd的服务启动程序
/etc/vsftpd                 #配置文件目录
/etc/vsftpd/ftpusers        #存放PAM模块中限制禁止登录的用户
/etc/vsftpd/user_list       #通过配置文件的参数userlist_enable和userlist_deny设置用户登录
/etc/vsftpd/vsftpd.conf     #配置文件
/etc/vsftpd/vsftpd_conf_migrate.sh
/usr/sbin/vsftpd            #vsftpd的主程序
/var/ftp                    #vsftp服务的默认匿名用户登录的根目录,ftp这个账户登录的家目录
/var/ftp/pub

设置配置文件:
(注意:修改配置文件需要重新启动服务,同时测试的连接也需要重新连接)
配置文件的格式:

vsftpd.conf 的内容非常单纯,每一行即为一项设定。若是空白行或是开头为#的一行,将会被忽略。内容的格式只有一种,如下所示
option=value
要注意的是,等号两边不能加空白。

[root@miner_k ~]# vim /etc/vsftpd/vsftpd.conf

#1.与匿名用户有关的信息
anonymous_enable=YES        <== 支持匿名用户的功能

#2.与实体用户有关的信息
local_enable=YES        <== 支持本地的实体用户登录
write_enable=YES        <== 允许上传文件
local_umask=022         <== 建立新的目录(755)和文件(644)

#3.与服务器相关的信息
dirmessage_enable=YES       <= 如果目录下有.message会显示该文件的内容
xferlog_enable=YES          <= 启动日志文件记录
connect_from_port_20=YES    <= 支持主动模式
xferlog_std_format=YES      <= 支持WuFTP的日志格式
listen=YES      <= 使用stand alone 方式启动vsftpd,可以使用xinetd启动

pam_service_name=vsftpd     <= 支持PAM模块管理
userlist_enable=YES         <= 支持/etc/vsftpd/user_list文件内的账号登录控制
tcp_wrappers=YES            <= 支持TCP Wrappers的防火墙机制

1.匿名用户(anonymous)设置

anonymous_enable=YES/NO(YES)
控制是否允许匿名用户登入,YES 为允许匿名登入,NO 为不允许。默认值为YES。

write_enable=YES/NO(YES)
是否允许登陆用户有写权限。属于全局设置,默认值为YES。

no_anon_password=YES/NO(NO)
若是启动这项功能,则使用匿名登入时,不会询问密码。默认值为NO。

ftp_username=ftp
定义匿名登入的使用者名称。默认值为ftp。

anon_root=/var/ftp
使用匿名登入时,所登入的目录。默认值为/var/ftp。注意ftp目录不能是777的权限属性,即匿名用户的家目录不能有777的权限。

anon_upload_enable=YES/NO(NO)
如果设为YES,则允许匿名登入者有上传文件(非目录)的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为NO。

anon_world_readable_only=YES/NO(YES)
如果设为YES,则允许匿名登入者下载可阅读的档案(可以下载到本机阅读,不能直接在FTP服务器中打开阅读)。默认值为YES。

anon_mkdir_write_enable=YES/NO(NO)
如果设为YES,则允许匿名登入者有新增目录的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为NO。

anon_other_write_enable=YES/NO(NO)
如果设为YES,则允许匿名登入者更多于上传或者建立目录之外的权限,譬如删除或者重命名。(如果anon_upload_enable=NO,则匿名用户不能上传文件,但可以删除或者重命名已经存在的文件;如果anon_mkdir_write_enable=NO,则匿名用户不能上传或者新建文件夹,但可以删除或者重命名已经存在的文件夹。)默认值为NO。

chown_uploads=YES/NO(NO)
设置是否改变匿名用户上传文件(非目录)的属主。默认值为NO。

chown_username=username
设置匿名用户上传文件(非目录)的属主名。建议不要设置为root。

anon_umask=077
设置匿名登入者新增或上传档案时的umask 值。默认值为077,则新建档案的对应权限为700。

deny_email_enable=YES/NO(NO)
若是启动这项功能,则必须提供一个案/etc/vsftpd/banner_emails,内容为email address。若是使用匿名登入,则会要求输入email address,若输入的email address 在此档案内,则不允许进入。默认值为NO。

banned_email_file=/etc/vsftpd/banner_emails
此文件用来输入email address,只有在deny_email_enable=YES时,才会使用到此档案。若是使用匿名登入,则会要求输入email address,若输入的email address 在此档案内,则不允许进入。

2. 启动模式的配置

  • 2.1 使用stand alone方式启动
    配置文件:listen=YES
[root@miner_k ~]# /etc/init.d/vsftpd stop
Shutting down vsftpd:                                      [  OK  ]
[root@miner_k ~]# /etc/init.d/vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]
[root@miner_k ~]# chkconfig vsftpd on
[root@miner_k ~]# netstat -anlp | grep :21
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      18622/vsftpd     
  • 2.2 使用super daemon启动
    配置文件:listen=NO
[root@miner_k vsftpd]# yum -y install xinetd
[root@miner_k vsftpd]# cd /etc/xinetd.d/
[root@miner_k xinetd.d]# ls
chargen-dgram   daytime-dgram   discard-dgram   echo-dgram   rsync          time-dgram
chargen-stream  daytime-stream  discard-stream  echo-stream  tcpmux-server  time-stream
[root@miner_k xinetd.d]# cp rsync vsftpd
[root@miner_k xinetd.d]# cat vsftpd 
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
#   allows crc checksumming etc.
service ftp
{
    disable = no
    flags       = IPv6
    socket_type     = stream
    wait            = no
    user            = root
    server          = /usr/sbin/vsftpd
    server_args     = --daemon
    log_on_failure  += USERID
}
[root@miner_k xinetd.d]# /etc/init.d/xinetd restart
Stopping xinetd:                                           [  OK  ]
Starting xinetd:                                           [  OK  ]
[root@miner_k xinetd.d]# netstat -anlp | grep 21
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      18975/xinetd      
[root@miner_k ~]# chkconfig --list
xinetd based services:
    chargen-dgram:  off
    chargen-stream: off
    daytime-dgram:  off
    daytime-stream: off
    discard-dgram:  off
    discard-stream: off
    echo-dgram:     off
    echo-stream:    off
    rsync:          off
    tcpmux-server:  off
    time-dgram:     off
    time-stream:    off
    vsftpd:         on

这两种方式的使用场景:stand alone 当访问量较大时使用。super daemon一般在ftp的使用量较小时使用

3.设置ftp显示的时间与本地同步

配置文件: use_localtime=yes
使用本地时间,如果是no表示使用的是格林尼治时间(GMT),比本地时间要慢8个小时。
(修改配置文件需要重新启动服务,ftp连接服务器也需要重新启动。)

修改前:
ftp> ls
227 Entering Passive Mode (127,0,0,1,224,157).
150 Here comes the directory listing.
-rw-r--r--    1 0        0               4 May 17 08:25 1.txt
drwxr-xr-x    2 0        0            4096 Mar 22 12:14 pub

修改后:
ftp> ls
227 Entering Passive Mode (127,0,0,1,199,49).
150 Here comes the directory listing.
-rw-r--r--    1 0        0               4 May 17 16:25 1.txt
drwxr-xr-x    2 0        0            4096 Mar 22 20:14 pub

4.登录时显示欢迎信息

配置文件:
banner_file=/etc/vsftpd/welcome.txt
或者:
ftpd_banner=Welcome to blah FTP service.(设置登录提示的字符串)

[root@miner_k ~]# cat /etc/vsftpd//welcome.txt 
欢迎使用本站提供的FTP

[root@miner_k xinetd.d]# ftp localhost
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220-欢迎使用本站提供的FTP
220 

5.限制系统账号的登录

在设置本地用户登录时,最好设置anonymons_enable=no.

  • 1 利用PAM模块进行设置

可以从下面的文件中看出/etc/vsftpd/ftpusers中是被拒绝的登录用户,将需要禁止登录的用户写到该文件中即可

[root@miner_k xinetd.d]# cat /etc/pam.d/vsftpd 
#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required pam_shells.so
auth       include  password-auth
account    include  password-auth
session    required     pam_loginuid.so
session    include  password-auth


[root@miner_k ~]# cat /etc/vsftpd/ftpusers 
# Users that are not allowed to login via ftp
root
bin
......
tom


[root@miner_k xinetd.d]# ftp localhost
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220-欢迎使用本站提供的FTP
220 
Name (localhost:root): tom
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
  • 2 使用userlist的相关参数进行设置

配置文件: user_list文件中的用户禁止登录
userlist_enable=YES
userlist_deny=yes
userlist_file=/etc/vsftpd/user_list

只有user_list文件中的用户可以登录
userlist_enable=YES
userlist_deny=no
userlist_file=/etc/vsftpd/user_list

[root@miner_k ~]# echo  tom > /etc/vsftpd/user_list
[root@miner_k xinetd.d]# ftp localhost
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220-欢迎使用本站提供的FTP
220 
Name (localhost:root): jim
530 Permission denied.
Login failed.

6.对用户(包括未来用户)进行chroot

除了chroot_list文件中的用户名不禁锢,其他的用户都禁锢。

配置文件:

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

[root@miner_k ~]# ftp localhost
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220-欢迎使用本站提供的FTP
220 
Name (localhost:root): tom
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/"
ftp> bye
221 Goodbye.


[root@miner_k ~]# echo tom > /etc/vsftpd/chroot_list 
[root@miner_k ~]# ftp localhost
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220-欢迎使用本站提供的FTP
220 
Name (localhost:root): tom
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/home/tom"
ftp> bye
221 Goodbye.

7.限制实体用户的下载流量(带宽)

配置文件:

local_max_rate=1000 <= 单位是byte/second

8.限制最大的同时上线人数与同一个IP连接数

配置文件:

max_clients=10
max_per_ip=1

9.让匿名用户可上传/下载自己的资料(权限开发最大)

配置文件:

anonymous_enable=yes
local_enable=no

write_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
anon_upload_enable=yes

设置文件的权限,在share文件中能够上传、下载删除等操作
[root@miner_k ~]# mkdir /var/ftp/share
[root@miner_k ~]# chown ftp /var/ftp/share

10.让匿名用户只能上传不能下载

配置文件:

anonymous_enable=yes
local_enable=no

write_enable=yes
anon_mkdir_write_enable=yes
anon_upload_enable=yes
chown_uploads=yes
chown_username=daemon
将上传的文件所有权设置为daemon,删除失败之后不能重复上传,只能修改名称重复上传。

11.被动连接端口的设置

配置文件:

pasv_max_port=65400
pasv_min_port=65410

12.虚拟用户

12.1使用本地数据文件
  • 1.安装db4-utils
[root@miner_k ~]# rpm -qa | grep db4
db4-4.7.25-18.el6_4.x86_64
db4-cxx-4.7.25-18.el6_4.x86_64
db4-utils-4.7.25-18.el6_4.x86_64
db4-devel-4.7.25-18.el6_4.x86_64
  • 2.生成虚拟用户文件
[root@miner_k ~]# cat /etc/vsftpd/vuser.txt 
user1   #用户名1
123     #密码1
user2   #用户名2
123     #密码2
  • 3.生成虚拟用户数据库
[root@miner_k ~]# db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
  • 4.修改配置文件
anonymous_enable=yes        #匿名用户可以禁止
local_enable=yes            #本地用户不能禁止

pam_service_name=vsftpd.vu    #修改PAM模块
guest_enable=YES
guest_username=vuser          #映射到本地用户,可以是ftp用户
  • 5.增加用户
[root@miner_k ~]# useradd -d /var/vuser -s /sbin/nologin vuser
  • 6.修该PAM模块
[root@miner_k ~]# cat /etc/pam.d/vsftpd.vu 
#%PAM-1.0
auth required  /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser

注意:此处的常见错误pam_userdb.so模块的位置,有的是在/lib/security.有的是在/lib64/security.根据本地的情况而定。否则容易出错

  • 7.测试:
错误实例:
[root@miner_k ~]# ftp localhost
Trying ::1...
ftp: connect to address ::1Connection refused
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.2.2)
Name (localhost:root): user1
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.

正确测试:
[root@miner_k ~]# ftp localhost
Trying ::1...
ftp: connect to address ::1Connection refused
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.2.2)
Name (localhost:root): user1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 
  • 8.错误排查
可以看出错误原因是由于没有vusers文件造成的,可能是PAM模块中的设置有误。

[root@miner_k ~]# tailf /var/log/secureMay 19 11:12:26 lsw vsftpd[5615]: pam_userdb(vsftpd.vu:auth): user_lookup: could not open database `/etc/vsftpd/vusers': No such file or directory
12.2 使用MySQL数据文件
  • 1.映射本地用户
[root@miner_k ~]# useradd -d /var/vuser -s /sbin/nologin vuser
  • 2.配置文件修改
anonymous_enable=yes        #匿名用户可以禁止
local_enable=yes            #本地用户不能禁止

pam_service_name=vsftpd.mysql    #修改PAM模块
guest_enable=YES
guest_username=vuser          #映射到本地用户,可以是ftp用户
  • 3.安装数据库
[root@miner_k ~]# yum -y install mysql mysql-server mysql-devel
  • 4.在数据库中创建ftp的用户名和密码
[root@miner_k ~]# service mysqld start
[root@miner_k ~]# mysql
mysql> create database ftpusers;
Query OK, 1 row affected (0.00 sec)

mysql> use ftpusers
Database changed
mysql> create table users (id int AUTO_INCREMENT NOT NULL,
    -> name char(20) binary NOT NULL,
    -> password char(48) binary NOT NULL,
    -> primary key(id)
    -> );
Query OK, 0 rows affected (0.00 sec)

mysql> insert into users (name,password) values('tom','123'),('jim','123');
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0
  • 5.授权给vuser用户登录mysql数据库
mysql> grant select on ftpusers.* to vuser@localhost identified by 'ftppasswd';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
  • 6.下载安装pam_mysql模块
[root@miner_k ~]# wget https://sourceforge.net/projects/pam-mysql/files/latest/download --no-check-certificate

[root@miner_k ~]# yum -y install pam-devel
[root@miner_k ~]# yum -y groupinstall "Development tools"

[root@miner_k ~]# tar -xvf pam_mysql-0.7RC1.tar.gz
[root@miner_k ~]# cd pam_mysql-0.7RC1
[root@miner_k pam_mysql-0.7RC1]# ./configure --with-openssl --with-mysql=/usr
[root@miner_k pam_mysql-0.7RC1]# make
[root@miner_k pam_mysql-0.7RC1]# make install

[root@miner_k pam_mysql-0.7RC1]# ls /lib/security/
pam_mysql.la  pam_mysql.so
  • 7.修改PAM模块配置
[root@miner_k ~]# cat /etc/pam.d/vsftpd.mysql 
#%PAM-1.0

auth  required /lib/security/pam_mysql.so user=vuser passwd=ftppasswd host=localhost db=ftpusers table=users usercolumn=name passwdcolumn=password crypt=0
account  required /lib/security/pam_mysql.so user=vuser passwd=ftppasswd host=localhost db=ftpusers table=users usercolumn=name passwdcolumn=password crypt=0
  • 8.错误分析:

**错误一:**pam模块中的配置文件书写错误导致,可能是登录的用户、库以及是没有授权

[root@miner_k ~]# tailf /var/log/secure

May 19 11:58:37 lsw vsftpd[15444]: pam_mysql - MySQL error (Access denied for user 'vuser'@'localhost' to database 'ftpvusers')

错误二:在日志中没有报错

在pam的配置中crypt设置为2,导致错误。
crypt=0

参数简介:(cat pam_mysql-0.7RC1/README)
crypt (plain)

The method to encrypt the user's password:

   0 (or "plain") = No encryption.  Passwords stored in plaintext.
                    HIGHLY DISCOURAGED.

   1 (or "Y")     = Use crypt(3) function.

   2 (or "mysql") = Use MySQL PASSWORD() function. It is possible
                    that the encryption function used by PAM-MySQL
                    is different from that of the MySQL server, as
                    PAM-MySQL uses the function defined in MySQL's
                    C-client API instead of using PASSWORD() SQL function
                    in the query.

   3 (or "md5")   = Use plain hex MD5.

   4 (or "sha1")  = Use plain hex SHA1
12.3 配置虚拟用户具有不同的访问权限

vsftpd可以在配置文件目录中为每个用户提供单独的配置文件以定义其ftp服务访问权限,每个虚拟用户的配置文件名同虚拟用户的用户名。配置文件目录可以是任意未使用目录,只需要在vsftpd.conf指定其路径及名称即可。

  • 1、配置vsftpd为虚拟用户使用配置文件目录
添加如下选项
user_config_dir=/etc/vsftpd/vusers_dir 
  • 2、创建所需要目录,并为虚拟用户提供配置文件
[root@miner_k ~]# mkdir /etc/vsftpd/vusers_dir/
[root@miner_k ~]# cd /etc/vsftpd/vusers_dir/
[root@miner_k vusers_dir]# touch tom jim
  • 3、配置虚拟用户的访问权限

虚拟用户对vsftpd服务的访问权限是通过匿名用户的相关指令进行的。比如,如果需要让tom用户具有上传文件的权限,可以修改/etc/vsftpd/vusers/tom文件,在里面添加如下选项即可。
anon_upload_enable=YES

13.vsftpd+ssl的配置

13.1 CA服务器的配置

可以查看httpd配置详解(四)

13.2 vsftpd服务端配置
[root@miner_k ~]# cd /etc/vsftpd/
[root@miner_k vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
[root@miner_k vsftpd]# mkdir ssl
[root@miner_k vsftpd]# cd ssl
[root@miner_k ssl]# 
[root@miner_k ssl]# ls
  • 1.生成私钥
[root@miner_k ssl]# (umask 077;openssl genrsa -out vsftpd.key 2048)
Generating RSA private key, 2048 bit long modulus
......................+++
...........+++
e is 65537 (0x10001)
  • 2.生成证书签署请求
[root@miner_k ssl]# openssl req -new -key vsftpd.key -out vsftpd.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [CN]:
State or Province Name (full name) [BeiJing]:
Locality Name (eg, city) [BeiJing]:
Organization Name (eg, company) [CA]:
Organizational Unit Name (eg, section) [IT]:
Common Name (eg, your name or your server's hostname) []:ftp.miner_k.com    #需要修改的位置,需要被签名的服务器域名
Email Address []:admin@miner_k.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
13.4 在CA服务器上签署证书,并将证书发送给vsftpd服务端
  • 1.将ftp服务器上的证书签署申请发送给CA服务器
[root@miner_k ssl]# scp vsftpd.csr 101.200.87.99:/tmp
root@101.200.87.99's password: 
vsftpd.csr                                                                                         100% 1050     1.0KB/s   00:00   
  • 2.在CA的服务器上签署生成证书
[root@CA tmp]# openssl ca -in vsftpd.csr -out vsftpd.crt 
Using configuration from /etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 2 (0x2)
        Validity
            Not Before: May 24 08:16:40 2017 GMT
            Not After : May 24 08:16:40 2018 GMT
        Subject:
            countryName               = CN
            stateOrProvinceName       = BeiJing
            organizationName          = CA
            organizationalUnitName    = IT
            commonName                = ftp.miner_k.com
            emailAddress              = admin@miner_k.com
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            Netscape Comment: 
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier: 
                43:D1:D8:A6:46:16:32:3E:64:B8:FF:5A:FF:C2:75:12:1F:3C:83:9D
            X509v3 Authority Key Identifier: 
                keyid:12:0E:C7:0F:0B:A6:06:3D:27:A1:5B:A7:EA:3D:C3:36:07:BE:77:13

Certificate is to be certified until May 24 08:16:40 2018 GMT (365 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
  • 3 将CA的签署的证书发送到ftp的服务器上
[root@CA tmp]# scp vsftpd.crt ftp.miner_k.com:/etc/vsftpd/ssl
13.5 在ftp服务器上配置文件的修改
[root@miner_k vsftpd]# vim /etc/vsftpd/vsftpd.conf
......
ssl_enable=yes              #启动ssl加密
allow_anon_ssl=no           #不允许匿名用户加密
force_local_data_ssl=yes    #强制实体用户传输加密
force_local_logins_ssl=yes  #连接登录的用户加密
ssl_tlsv1=yes               #支持tlsv1、sslv2、sslv3
ssl_sslv2=yes
ssl_sslv3=yes
rsa_cert_file=/etc/vsftpd/ssl/vsftpd.crt  #证书的存放位置
rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.key #私钥的存放位置
13.6 测试登录
  • 1 重新启动vsftpd服务
[root@miner_k vsftpd]# service vsftpd restart
关闭 vsftpd[确定]vsftpd 启动 vsftpd[确定]
  • 2 增加实体用户
[root@miner_k vsftpd]# useradd user1
没有找到“mail”组。以 0600 权限模式创建用户的信箱文件。

[root@miner_k vsftpd]# passwd user1
更改用户 user1 的密码 。
新的 密码:
无效的密码: WAY 过短
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
  • 3 客户端使用winscp登录即可
    这里写图片描述

14. vsftpd + iptables 配置

在centos6.5中没有ip_nat_ftp模块,但是加载ip_nat_ftp.会自动加载nf_nat、nf_conntrack_ipv4模块。

[root@miner_k ~]# vim /etc/sysconfig/iptables-config 
IPTABLES_MODULES="ip_nat_ftp"   #加载ip_nat_ftp模块

[root@miner_k ~]# iptables -A INPUT -i eth0 -p tcp -m tcp --dport 21 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
[root@miner_k ~]# iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT

[root@miner_k ~]# iptables-A OUTPUT -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值