温馨提示×

FTPServer在Linux上的防火墙设置有哪些

小樊
48
2025-08-26 07:23:49
栏目: 智能运维

Linux上配置FTPServer防火墙主要涉及开放必要端口,以下是常见工具的设置方法:

一、基于firewalld(CentOS 7+默认工具)

  1. 开放基础端口

    • 控制连接(主动模式):21/tcp
    • 数据连接(主动模式):20/tcp
    • 被动模式端口范围(需与服务器配置一致,如40000-50000):40000-50000/tcp
    • TLS/SSL加密连接(若启用):990/tcp
      命令示例
    sudo firewall-cmd --permanent --add-port=21/tcp
    sudo firewall-cmd --permanent --add-port=20/tcp
    sudo firewall-cmd --permanent --add-port=40000-50000/tcp
    sudo firewall-cmd --permanent --add-port=990/tcp  # 若使用FTPS
    sudo firewall-cmd --reload
    
  2. 限制特定IP访问(可选)

    sudo firewall-cmd --permanent --add-rich-rule="rule source address='192.168.1.100' port port='21' protocol='tcp' accept"
    sudo firewall-cmd --reload
    

二、基于ufw(Ubuntu/Debian默认工具)

  1. 开放基础端口
    命令示例
    sudo ufw allow 21/tcp   # 控制连接
    sudo ufw allow 20/tcp   # 数据连接(主动模式)
    sudo ufw allow 40000:50000/tcp  # 被动模式端口范围
    sudo ufw allow 990/tcp  # 若使用FTPS
    sudo ufw reload
    

三、基于iptables(需手动配置)

  1. 开放基础端口
    sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT  # 控制连接
    sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT  # 数据连接(主动模式)
    sudo iptables -A INPUT -p tcp --dport 40000:50000 -j ACCEPT  # 被动模式端口范围
    sudo iptables -A INPUT -p tcp --dport 990 -j ACCEPT  # 若使用FTPS
    sudo service iptables save  # 保存规则(CentOS)
    sudo iptables-save > /etc/iptables/rules.v4  # 保存规则(Ubuntu)
    

四、注意事项

  • 被动模式配置:需在FTP服务器配置文件(如/etc/vsftpd.conf)中设置pasv_min_portpasv_max_port,并与防火墙规则一致。
  • 安全增强:可结合SELinuxAppArmor限制FTP服务权限,避免越权访问。
  • 验证规则:使用firewall-cmd --list-ports(firewalld)或ufw status(ufw)检查端口是否开放。

0