配置Debian FTPServer的防火墙可以通过使用 Uncomplicated Firewall (UFW) 或者 iptables 来实现。以下是使用这两种方法的详细步骤:
安装UFW(如果尚未安装):
sudo apt update
sudo apt install ufw
启用UFW:
sudo ufw enable
允许FTP流量:
sudo ufw allow 21/tcp
sudo ufw allow 20/tcp
sudo ufw allow 30000:31000/tcp
重新加载防火墙规则:
sudo ufw reload
检查防火墙状态:
sudo ufw status
安装iptables(如果尚未安装):
sudo apt update
sudo apt install iptables
配置防火墙规则:
编辑 /etc/iptables/rules.v4
文件,添加以下规则:
*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0]
-A INPUT -p tcp --dport 21 -j ACCEPT # 允许FTP控制端口
-A INPUT -p tcp --dport 20 -j ACCEPT # 允许FTP数据传输端口
-A INPUT -p tcp --dport 30000:31000 -j ACCEPT # 允许FTP被动模式端口范围
-A INPUT -i lo -j ACCEPT # 允许本地回环接口
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 允许已建立的连接
-A INPUT -j REJECT --reject-with icmp-host-prohibited # 拒绝其他所有输入
COMMIT
保存iptables规则:
sudo iptables-save /etc/iptables/rules.v4
创建自启动脚本(确保规则在系统重启后依然有效):
编辑 /etc/network/if-pre-up.d/iptables
文件,添加以下内容:
#!/bin/sh
/sbin/iptables-restore < /etc/iptables/rules.v4
赋予脚本执行权限:
sudo chmod +x /etc/network/if-pre-up.d/iptables
测试防火墙规则: 使用以下命令检查规则是否生效:
sudo iptables -L -n
通过以上步骤,你可以成功配置Debian FTPServer的防火墙,允许FTP流量通过。