linux

FTPServer中如何配置防火墙规则

小樊
51
2025-09-05 07:50:34
栏目: 编程语言

配置FTPServer防火墙规则需根据系统类型选择工具,核心是开放FTP控制端口(21)、数据传输端口(20或被动模式端口范围),以下是常见系统的配置方法:

Linux系统(以Ubuntu/Debian为例)

使用ufw(推荐)

  1. 安装并启用ufw
    sudo apt update && sudo apt install ufw
    sudo ufw enable
    
  2. 开放FTP端口
    • 控制端口(21):sudo ufw allow 21/tcp
    • 数据端口:
      • 主动模式:sudo ufw allow 20/tcp
      • 被动模式:需在FTP配置文件(如/etc/vsftpd.conf)中设置pasv_min_portpasv_max_port(如50000-50100),然后执行:
        sudo ufw allow 50000:50100/tcp
  3. 限制源IP(可选)
    sudo ufw allow from [IP段] to any port 21,20
  4. 验证并重启服务
    sudo ufw status 确认规则生效,重启FTP服务:sudo systemctl restart vsftpd

使用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 50000:50100 -j ACCEPT  # 被动模式端口范围
    sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  # 允许已建立的连接
    
  2. 保存规则
    sudo iptables-save > /etc/iptables/rules.v4

Linux系统(CentOS/RHEL)

使用firewalld

  1. 开放端口
    sudo firewall-cmd --permanent --add-port=21/tcp  # 控制端口
    sudo firewall-cmd --permanent --add-port=20/tcp  # 数据端口(主动模式)
    sudo firewall-cmd --permanent --add-port=50000-50100/tcp  # 被动模式端口范围
    sudo firewall-cmd --reload
    

注意事项

参考来源:

0
看了该问题的人还看了