在Debian FTP服务器上配置防火墙,可以使用iptables或ufw(Uncomplicated Firewall)来实现。以下是使用这两种方法的详细步骤:
iptables安装 iptables
如果你还没有安装 iptables,可以使用以下命令进行安装:
sudo apt update
sudo apt install iptables
允许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) 被动模式下,FTP客户端会打开一个随机端口来接收数据。你需要允许这些端口的流量。通常,被动模式的端口范围是49152到65535。
sudo iptables -A INPUT -p tcp --dport 49152:65535 -j ACCEPT
保存 iptables 规则
默认情况下,iptables 规则在重启后不会保留。你可以使用 iptables-persistent 来保存规则。
sudo apt install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload
ufw安装 ufw
如果你还没有安装 ufw,可以使用以下命令进行安装:
sudo apt update
sudo apt install ufw
启用 ufw
启用 ufw 并设置默认策略为拒绝所有流量,只允许特定端口的流量。
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
允许FTP流量 允许FTP控制连接和数据连接的端口。
sudo ufw allow 21/tcp
sudo ufw allow 20/tcp
sudo ufw allow 49152:65535/tcp
检查 ufw 状态
你可以使用以下命令来检查 ufw 的状态和规则:
sudo ufw status
/etc/vsftpd.conf 或 /etc/proftpd/proftpd.conf)中设置了正确的被动模式端口范围。通过以上步骤,你应该能够在Debian FTP服务器上成功配置防火墙。