在Debian系统上设置FTP服务器的防火墙,通常使用iptables
或ufw
(Uncomplicated Firewall)工具。以下是使用这两种工具设置FTP服务器防火墙的步骤:
iptables
更新 iptables
规则
首先,确保你的 iptables
规则是最新的。你可以使用以下命令来清除现有的规则并设置新的规则:
sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
允许FTP流量
FTP使用多个端口,包括控制端口(通常是21)和数据端口(通常是20)。你需要允许这些端口的流量:
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
如果你使用被动模式(PASV),还需要允许动态端口范围。假设被动模式端口范围是49152到65535:
sudo iptables -A INPUT -p tcp --dport 49152:65535 -j ACCEPT
允许已建立的连接
允许已建立的连接和相关的流量:
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -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 49152:65535/tcp
允许已建立的连接
允许已建立的连接和相关的流量:
sudo ufw allow out any
重新加载 ufw
规则
重新加载 ufw
规则以应用更改:
sudo ufw reload
通过以上步骤,你应该能够在Debian系统上成功设置FTP服务器的防火墙。