在Debian系统上配置FTP服务器的防火墙规则,通常使用iptables
或ufw
(Uncomplicated Firewall)。以下是使用这两种方法的详细步骤:
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
规则在重启后不会保留。你可以使用以下命令来保存规则:
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
如果你使用的是iptables-persistent
包,可以使用以下命令来保存规则:
sudo netfilter-persistent save
sudo netfilter-persistent reload
ufw
启用 ufw
:
如果你还没有启用ufw
,可以使用以下命令来启用它:
sudo ufw enable
允许FTP流量: 使用以下命令来允许FTP控制连接和数据连接的流量:
sudo ufw allow 21/tcp
sudo ufw allow 20/tcp
允许被动模式: 允许被动模式端口范围:
sudo ufw allow 1024:65535/tcp
重新加载 ufw
规则:
如果你有任何更改,可以使用以下命令来重新加载规则:
sudo ufw reload
无论你使用哪种方法,都可以使用以下命令来查看当前的防火墙规则:
sudo iptables -L -v -n
或者对于ufw
:
sudo ufw status verbose
通过这些步骤,你应该能够成功配置Debian系统上的FTP服务器防火墙规则。