centos vsftp如何防火墙设置
导读:CentOS系统vsftpd防火墙配置指南 一、基础防火墙规则配置(控制端口+数据端口) vsftpd作为FTP服务器,需开放控制端口(21/tcp,用于命令传输)和数据端口(20/tcp,用于主动模式数据传输),确保客户端能建立连接并传输...
CentOS系统vsftpd防火墙配置指南
一、基础防火墙规则配置(控制端口+数据端口)
vsftpd作为FTP服务器,需开放控制端口(21/tcp,用于命令传输)和数据端口(20/tcp,用于主动模式数据传输),确保客户端能建立连接并传输数据。
- CentOS 7及以上版本(使用firewalld):
执行以下命令永久添加21/tcp端口,并重载防火墙使配置生效:sudo firewall-cmd --permanent --add-port=21/tcp sudo firewall-cmd --reload - CentOS 6及以下版本(使用iptables):
编辑/etc/sysconfig/iptables文件,在-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT行前添加规则,保存后重启iptables:-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT service iptables restart
二、被动模式(PASV)端口范围配置
vsftpd的被动模式(PASV)用于解决客户端位于防火墙后的连接问题,需开放一个动态端口范围(如10000-10010、60000-65535等,根据实际情况调整)。
- CentOS 7及以上版本:
执行以下命令永久添加被动模式端口范围,并重载防火墙:sudo firewall-cmd --permanent --add-port=10000-10010/tcp # 替换为你的实际端口范围 sudo firewall-cmd --reload - CentOS 6及以下版本:
编辑/etc/sysconfig/iptables文件,添加以下规则(替换为你的实际端口范围):-A INPUT -m state --state NEW -m tcp -p tcp --dport 10000:10010 -j ACCEPT service iptables restart注:vsftpd配置文件(
/etc/vsftpd/vsftpd.conf)中需开启被动模式并指定端口范围,例如:pasv_enable=YES pasv_min_port=10000 pasv_max_port=10010
三、SELinux策略配置(若启用)
若系统SELinux处于enforcing模式,需调整策略以允许vsftpd访问用户目录及执行被动模式:
- 允许FTP访问用户家目录:
sudo setsebool -P ftp_home_dir on - 允许vsftpd完全访问(如上传、下载文件):
sudo setsebool -P allow_ftpd_full_access on - 若使用被动模式,需设置FTP目录的SELinux上下文(假设用户目录为
/home/ftpuser):sudo chcon -Rv --type=public_content_t /home/ftpuser
四、验证防火墙配置
- 查看firewalld当前开放的FTP相关端口(CentOS 7及以上):
输出应包含sudo firewall-cmd --list-all | grep ftpftp服务及自定义的被动模式端口范围。 - 测试FTP连接:使用FTP客户端(如FileZilla)连接服务器IP,输入用户名和密码,验证是否能正常登录及传输文件(上传/下载)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos vsftp如何防火墙设置
本文地址: https://pptw.com/jishu/747486.html
