配置Debian FTPServer的防火墙可以通过使用 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
-
配置防火墙规则:
编辑/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流量通过。