首页主机资讯centos系统vsftp防火墙如何配置

centos系统vsftp防火墙如何配置

时间2025-12-04 00:34:04发布访客分类主机资讯浏览286
导读:CentOS 上 vsftpd 防火墙配置 一、准备与原则 明确使用的防火墙:CentOS 7/8 默认使用 firewalld;CentOS 6 使用 iptables。FTP 有控制通道(默认端口 21/TCP)和数据通道,数据通道在...

CentOS 上 vsftpd 防火墙配置

一、准备与原则

  • 明确使用的防火墙:CentOS 7/8 默认使用 firewalld;CentOS 6 使用 iptables。FTP 有控制通道(默认端口 21/TCP)和数据通道,数据通道在主动模式常用 20/TCP,在被动模式由服务器开放一段端口范围,两端必须一致才能成功传输。为减少攻击面,建议固定并只开放需要的被动端口范围。

二、firewalld 配置步骤(CentOS 7/8)

  • 启动并持久化 vsftpd:
    • 安装:sudo yum install -y vsftpd
    • 启动与自启:sudo systemctl start vsftpd & & sudo systemctl enable vsftpd
  • 开放控制端口与被动端口范围(示例范围:5000–5500/TCP,可自定义):
    • 开放 21/TCP:sudo firewall-cmd --permanent --add-port=21/tcp
    • 开放被动端口范围:sudo firewall-cmd --permanent --add-port=5000-5500/tcp
    • 重载防火墙:sudo firewall-cmd --reload
    • 可选:开放 FTP 服务模块(部分环境有效):sudo firewall-cmd --permanent --add-service=ftp & & sudo firewall-cmd --reload
  • 说明:主动模式的数据连接由服务器从 20/TCP 主动连客户端高位端口;若使用主动模式,还需放行 20/TCP。被动模式由客户端连服务器你配置的被动端口范围,通常更便于穿越防火墙与 NAT。

三、iptables 配置步骤(CentOS 6)

  • 编辑规则文件 /etc/sysconfig/iptables,在合适位置插入(示例被动端口范围:9000–9045/TCP):
    • 放行控制端口:-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
    • 主动模式数据端口:-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
    • 被动模式端口范围:-A INPUT -m state --state NEW -m tcp -p tcp --dport 9000:9045 -j ACCEPT
  • 保存并重启:service iptables restart(或 /etc/init.d/iptables restart)
  • 提示:若修改了默认控制端口(如 2222),需同步放行对应端口。

四、vsftpd 与 SELinux 关键配置

  • vsftpd.conf 被动端口范围需与防火墙一致(示例:5000–5500):
    • pasv_enable=YES
    • pasv_min_port=5000
    • pasv_max_port=5500
    • 如需固定控制端口:listen_port=21(或其他端口,同时防火墙放行该端口)
  • SELinux 放行(若启用 enforcing):
    • 允许本地用户家目录访问:sudo setsebool -P ftp_home_dir on
    • 允许完整 FTP 访问:sudo setsebool -P allow_ftpd_full_access on
    • 目录上下文(示例用户主目录):sudo chcon -Rv --type=public_content_t /home/ftpuser
  • 修改配置后重启 vsftpd:sudo systemctl restart vsftpd。

五、验证与常见问题

  • 连通性验证:
    • 查看防火墙状态与已放行端口:firewall-cmd --state;firewall-cmd --list-all
    • 客户端连接测试(主动/被动模式在客户端选择):ftp your_server_ip;或 FileZilla 测试上传/下载
  • 常见问题排查:
    • 被动模式连不上:核对 vsftpd.conf 的 pasv_min_port/pasv_max_port 与防火墙端口范围完全一致;云服务器还需在安全组放行相同端口。
    • 登录慢:可在 vsftpd.conf 中关闭 DNS 反向解析 reverse_lookup_enable=NO。
    • SELinux 拒绝:getenforce 查看状态;必要时执行上文 setsebool 与 chcon 命令,或临时 setenforce 0 验证是否为 SELinux 导致。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos系统vsftp防火墙如何配置
本文地址: https://pptw.com/jishu/762968.html
如何在centos上使用vsftp进行FTP传输 centos中vsftp传输速度如何提升

游客 回复需填写必要信息