在Debian系统上配置FTP服务器的防火墙,通常需要使用iptables
或ufw
(Uncomplicated Firewall)。以下是使用这两种方法的步骤:
iptables
更新iptables规则: 打开终端并输入以下命令来更新iptables规则,允许FTP流量通过。
sudo iptables -A INPUT -p tcp --dport 21 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 21 -m conntrack --ctstate ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 20 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 20 -m conntrack --ctstate ESTABLISHED -j ACCEPT
这些命令允许FTP控制连接(端口21)和数据连接(端口20)的流量。
允许被动模式: FTP被动模式需要开放一个范围的外来端口。假设你希望开放端口范围1024到65535:
sudo iptables -A INPUT -p tcp --dport 1024:65535 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 1024:65535 -m conntrack --ctstate ESTABLISHED -j ACCEPT
保存iptables规则:
保存iptables规则以确保它们在系统重启后仍然有效。你可以使用iptables-persistent
包来保存规则。
sudo apt-get install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload
ufw
启用ufw: 如果你还没有启用ufw,可以使用以下命令启用它:
sudo ufw enable
允许FTP流量: 使用ufw允许FTP控制连接和数据连接的流量。
sudo ufw allow 21/tcp
sudo ufw allow 20/tcp
sudo ufw allow 1024:65535/tcp
重新加载ufw配置: 重新加载ufw配置以应用更改。
sudo ufw reload
检查ufw状态: 确认规则已正确应用。
sudo ufw status
通过以上步骤,你应该能够在Debian系统上成功配置FTP服务器的防火墙。