2022-02-08 15:13:03
在Linux FTP服务器上配置防火墙规则,通常使用iptables或firewalld工具管理网络流量。以下是具体配置步骤:
一、使用iptables配置防火墙规则检查当前iptables规则运行以下命令查看现有规则:
sudo iptables -L -n -v允许FTP基础端口流量FTP使用21端口(控制连接)和20端口(数据连接),需允许这两个端口的入站和出站流量:
sudo iptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPTsudo iptables -A OUTPUT -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPTsudo iptables -A INPUT -p tcp --dport 20 -m state --state NEW,ESTABLISHED -j ACCEPTsudo iptables -A OUTPUT -p tcp --sport 20 -m state --state ESTABLISHED -j ACCEPT允许被动模式FTP流量被动模式FTP使用随机端口范围(通常1024-65535),需开放该范围的端口:
sudo iptables -A INPUT -p tcp --dport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPTsudo iptables -A OUTPUT -p tcp --sport 1024:65535 -m state --state ESTABLISHED -j ACCEPT保存iptables规则
Debian/Ubuntu:安装iptables-persistent并保存规则:sudo apt-get install iptables-persistentsudo netfilter-persistent savesudo netfilter-persistent reload
Red Hat/CentOS:使用service命令保存:sudo service iptables save
检查firewalld状态确认firewalld是否运行:
sudo firewall-cmd --state允许FTP流量通过富规则(rich rules)开放FTP相关端口:
sudo firewall-cmd --permanent --add-service=ftpsudo firewall-cmd --permanent --add-port=21/tcpsudo firewall-cmd --permanent --add-port=20/tcpsudo firewall-cmd --permanent --add-port=1024-65535/tcp重新加载firewalld配置应用修改后的规则:
sudo firewall-cmd --reload优先使用SFTP(SSH File Transfer Protocol)替代FTP,因SFTP通过SSH加密传输数据,安全性更高。
若必须使用FTP,建议结合vsftpd的ssl_enable=YES选项启用FTPS(FTP over SSL)。
通过以上步骤,可完成Linux FTP服务器的防火墙配置,确保FTP服务安全稳定运行。