在Linux系统中,配置FTP服务器的防火墙需要允许特定的端口和协议通过
-
首先,确保你已经安装了一个FTP服务器,例如vsftpd或ProFTPD。这里以vsftpd为例。
-
安装vsftpd:
sudo apt-get update sudo apt-get install vsftpd
- 配置vsftpd:
编辑vsftpd的配置文件(通常位于
/etc/vsftpd/vsftpd.conf
),并确保以下设置是正确的:
anonymous_enable=NO local_enable=YES write_enable=YES chroot_local_user=YES
- 保存并重启vsftpd服务:
sudo systemctl restart vsftpd
- 配置防火墙:
在这里,我们将使用
iptables
作为防火墙工具。请根据你的实际情况调整以下命令。
- 允许FTP控制连接(端口21):
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
- 允许FTP数据传输(端口20):
sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
- 允许被动模式FTP数据传输(端口范围,例如50000-50050):
sudo iptables -A INPUT -p tcp --dport 50000:50050 -j ACCEPT
- 保存防火墙规则:
sudo iptables-save > /etc/iptables/rules.v4
- 重启防火墙服务:
sudo systemctl restart netfilter-persistent
现在,你的Linux FTP服务器应该可以通过防火墙正常工作了。请注意,这些设置可能需要根据你的实际网络环境进行调整。