Linux下vsftpd搭建过程(防火墙版)

1.确认主机IP

[root@www data]# ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:0C:29:22:05:B8  
          inet addr:10.0.0.3  Bcast:10.255.255.255  Mask:255.0.0.0
 
2.关闭文件保护
[root@www data]#vi /etc/selinux/config

#SELINUX=enforcing               #注释掉

#SELINUXTYPE=targeted             #注释掉

SELINUX=disabled             #增加

:wq! #保存退出

setenforce 0                 #使配置立即生效

 
3.安装vsftpd
[root@www data]# yum install vsftpd -y
 
4.编辑vsftpd配置文件
[root@www data]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO                ## 匿名登录    关闭
local_enable=YES                        ## 本地登录       开启
write_enable=YES                       ## 本地用户的写入权限  开启
local_umask=022                   ##使用FTP的本地文件权限
dirmessage_enable=YES              # #是否显示目录下.message的内容
xferlog_enable=YES                  # 激活上传/下载的日志

 

 

connect_from_port_20=YES          # # 启用FTP数据端口的数据连接
xferlog_std_format=YES               #  使用标准的日志格式
listen=YES                               # 以独立的FTP服务运行

 

listen_port=2121                  # 修改连接端口

pam_service_name=vsftpd                  #验证方式

userlist_enable=YES                     # 用userlist来限制用户访问     

tcp_wrappers=YES                       #### 限制登录

pasv_enable=YES                       # 是否开户被动模式
pasv_min_port=8000                # 被动模式最小端口
pasv_max_port=9000                ##    被动模式最大端口
setproctitle_enable=YES          #为每个连接单独开一个进程
 
5.编辑防火墙策略
 
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8000:9000 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT 
 
6.查看iptables策略
[root@www data]# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0           
 
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0           
 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
 
Chain RH-Firewall-1-INPUT (2 references)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255 
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:20 
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:21 
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpts:8000:9000 
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited
 
7.加载ftp模块
lsmod | grep ftp                        ##  查看是否加载了ftp模块
modprobe ip_nat_ftp  ## 加载ftp模块
lsmod | grep ftp                        ##  再查看是否加载了ftp模块
 
8.新建FTP目录和用户 权限
[root@www data]#  mkdir /data            ## 创建FTP的目录在/data
[root@www data]#  useradd -d /data -s /sbin/nologin htu      ##  创建FTP用户
[root@www data]#  password yanghongfei   ## 设置用户密码
[root@www data]#  chmod -R 777 /data       ## 设置用户权限
[root@www data]#  chown -R htu:htu /data  ## 设置文件夹的属主属组
7.重启vsftpd服务和防火墙服务
[root@www data]# service vsftpd restart
Shutting down vsftpd:                                      [  OK  ]
Starting vsftpd for vsftpd:                                [  OK  ]
[root@www data]# service iptables restart
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]
Applying iptables firewall rules:                          [  OK  ]
Loading additional iptables modules: ip_conntrack_netbios_n[  OK  ]
 
 
8.测试能不能成功访问
 
原文地址:https://www.cnblogs.com/yangxiaofei/p/4953648.html