配置Debian FTP服务器防火墙可以通过使用Uncomplicated Firewall (UFW)或者iptables来实现。以下是详细步骤:
使用UFW配置防火墙
-
安装UFW(如果尚未安装):
sudo apt update sudo apt install ufw
-
启用UFW:
sudo ufw enable
-
允许FTP流量:
- 允许FTP控制端口(21):
sudo ufw allow 21/tcp
- 允许FTP数据传输端口(20):
sudo ufw allow 20/tcp
- 允许FTP被动模式端口范围(例如30000-31000):
sudo ufw allow 30000:31000/tcp
- 允许FTP控制端口(21):
-
重新加载防火墙规则:
sudo ufw reload
-
检查防火墙状态:
sudo ufw status
使用iptables配置防火墙
-
安装iptables(如果尚未安装):
sudo apt update sudo apt install iptables
-
配置防火墙规则:
- 编辑iptables规则文件:
sudo nano /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规则文件:
-
保存iptables规则:
sudo iptables-save /etc/iptables/rules.v4
-
创建自启动脚本(确保规则在系统重启后依然有效):
- 编辑自启动脚本:
sudo nano /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
- 使用以下命令检查规则是否生效: