Centos7搭建vsftpd及被动模式下的防火墙设置

一、安装vsftpd:yum -y install vsftpd

Centos7搭建vsftpd及被动模式下的防火墙设置

二、 创建用户名

useradd zhangsan
passwd 123456
useradd lisi
passwd 123456
在配置文件下设置拒绝匿名访问
Centos7搭建vsftpd及被动模式下的防火墙设置
重启下服务
systemctl restart vsftpd.service
将lisi添加进黑名单
vim /etc/vsftpd/ftpusers
黑名单是路径位于/etc/vsftpd/user_list
暂时关闭selinux的安全模式与防火墙
setenforce 0 (0是关闭,1是打开,重启后失效)
测试一下,zhangsan能够登陆,lisi无法登陆
Centos7搭建vsftpd及被动模式下的防火墙设置
匿名用户登陆的话,此时上传文件是不能上传文件的,Linux服务器默认vsftpd的文件存放在/var/ftp/下,进入这个目录修改权限,使其它用户具有修改的权限
Centos7搭建vsftpd及被动模式下的防火墙设置
测试一下上传文件是成功的
使用zhangsan用户登陆,无法上传和下载文件,zhangsan的ftp文件目录存放在/home/zhangsan下,查看一下发现zhangsan的权限只有drwx——,给予权限chmod 777 zhangsan
Centos7搭建vsftpd及被动模式下的防火墙设置
测试一下能够上传文件

三、 开启防火墙与selinux
systemctl start firewall_service
进入/etc/selinux/config下修改文件,使selinux永久生效(setenforce 0只是暂时性关闭)
SELINUX=enforcing
Centos7搭建vsftpd及被动模式下的防火墙设置
测试一下
Centos7搭建vsftpd及被动模式下的防火墙设置
四、 将服务器设置为被动模式
在/etc/vsftpd/vsftpd.conf下添加,服务器默认开启的是被动模式(port_enable=NO)关闭主动模式
connect_from_port=20(默认情况下,主动模式传输数据使用20号端口,yes为使用,no不使用)
Centos7搭建vsftpd及被动模式下的防火墙设置
五、被动模式防火墙设置
firewall-cmd –zone=public –add-port=21/tcp –permanent 开启21号端口
firewall-cmd –zone=public –add-port=30000-40000/tcp –permanent 开启30000到40000的端口
firewall-cmd –add-service=ftp –permanent 永久开发ftp服务
重启防火墙
firewall-cmd –reload
查看开放的端口
Centos7搭建vsftpd及被动模式下的防火墙设置

六、 连接上去无法打开文件的错误
此时要注意,不管服务器端是主动还是被动,客户端连接服务器的ftp时,客户端都是用passive(被动模式),查看一下客户机,window系统在 internet选项高级使用被动ftp(用于防火墙和DSL调制解调器的兼容)
Centos7搭建vsftpd及被动模式下的防火墙设置

此时ftp上去会提示错误
200 Switching to ASCII mode.
200 PORT command successful. Consider using PASV
425 Failed to establish connection.
显示已连接成功,但是无法打开

Centos7搭建vsftpd及被动模式下的防火墙设置
此时上Linux查看下sellinux的故障报错

Centos7搭建vsftpd及被动模式下的防火墙设置
查看一下ftp布尔参数
getsebool –a | grep ftpd

Centos7搭建vsftpd及被动模式下的防火墙设置
由上边的故障提示查看
ftpd_connect_all_unreserved 关闭了,需要允许连接的ftp无保留的通过,敲下命令
setsebool -P ftpd_connect_all_unreserved 1
再查看下
Centos7搭建vsftpd及被动模式下的防火墙设置

此时测试一下成功
Centos7搭建vsftpd及被动模式下的防火墙设置
七、 使用抓包工具查看

Centos7搭建vsftpd及被动模式下的防火墙设置

第一次发表,思路有些不是很清晰!!记录下学习,一天一点积累