CentOS8.0-1905发布后,尝试将FTP服务器迁移至新版本的CentOS中,但是测试过程中,在防火墙中开放ftp服务后,仍然一直无法连接,如果使用lftp或ftp工具测试,会提示【没有到主机的路由】错误。但是关闭防火墙后,ftp服务可以正常访问。
查询相关资料的过程中,有资料说firewalld软件有bug,但是尝试安装http,测试后可以成功,说明防火墙没有问题。
继续查询相关资料,发现chrome、firefox或者Filezilla等多数客户端工具默认使用被动模式(PASV模式)访问ftp服务,因此猜测是被动模式下ftp工作时端口被拒绝的问题。
在vsftpd配置文件中增加PASV相关设置后,并在防火墙中开放指定端口,可以正常访问。
实现步骤如下:
1、安装
2、调整配置
vim /etc/vsftpd/vsftpd.conf
##根据需要调整配置,例如启用匿名访问等功能
##启用Passive模式
##################
#pasv_enable=YES ##启用
#pasv_min_port=10000 ##开启最低的pasv端口,建议采用大于1024的高端口
#pasv_max_port=11000 ##开启最高的pasv端口
#######################
3、调整防火墙配置
##启用ftp服务器
firewall-cmd --add-service=ftp --permanent
######增加ftp访问
firewall-cmd --add-port=10000-11000/tcp --permanent
######上述命令,开放10000-11000号的tcp端口
######如果有需要可以增加相应的udp端口
firewall-cmd --reload
##重新加载防火墙
4、重启ftp服务即可访问
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。