一. 首先安装vsftpd组件
输入命令:
yum -y install vsftpd
这样在/etc/vsftpd/目录下就会下载相关的文件
二.添加一个ftp用户
此用户是用来登录ftp服务器的
这里我们使用evan_qb用户(我之前创建的普通用户)
三.给防火墙开启21端口
因为ftp默认的端口为21,而centos默认是没有开启的,所以要修改iptables文件
vim /etc/sysconfig/iptables-config
或者
vim /etc/sysconfig/iptables
之前我配置了默认起开80和8080端口,然后我们可以再添加一个21端口
保存退出,重启防火墙
service iptables restart
四.修改selinux
外网是可以访问上去了,可是发现没法返回目录(使用ftp的主动模式,被动模式还是无法访问),也上传不了,因为selinux作怪了。修改selinux:
查看状态:
getsebool -a | grep ftp
setenforce: SELinux is disabled
发现setLinux并没有开启
我们可以去其配置文件进行开启
vi /etc/selinux/config
更改为:SELINUX=1
然后重启linux服务器,没错,就是重启linux服务器,所以,记得准备重启的脚本,将原本正在运行的程序设置为开机启动
接着我们查看selinux的状态:
可以查看到这两个都是关闭的,说明没有开启外网的访问
执行以下命令进行开启
setsebool -P allow_ftpd_full_access on
setsebool -P tftp_home_dir on
然后可以去官网上下载相应的ftp客户端工具
开启ftp服务
systemctl start vsftpd
然后发现还是连接不上
看看是不是用了ftp客户端工具用了passive模式访问了,如提示Entering Passive mode,就代表是passive模式,默认是不行的,因为ftp passive模式被iptables挡住了,下面会讲怎么开启,如果懒得开的话,就看看你客户端ftp是否有port模式的选项,或者把passive模式的选项去掉。如果客户端还是不行,看看客户端上的主机的电脑是否开了防火墙,关闭防火墙
再次连接
然后发现还是无法连接,于是我通过上网查找资料发现,用阿里云配置ftp服务器时,需要添加一个安全组规则,开放端口为21
于是我为21端口添加了安全组
结果....
然后我再去查询原因,发现查询数据需要用到20端口,于是又去安全组添加20端口
发现还是不管用
最后发现是公司对ftp服务器的连接进行了限制,使用个人开的热点就能读取服务器了。
发现真相的我眼泪掉下来