在Ubuntu上配置FTPServer(通常使用vsftpd)的防火墙涉及几个步骤。以下是详细的指南:
安装和启用防火墙
- 安装ufw(如果尚未安装):
sudo apt update sudo apt install ufw
- 启用ufw:
sudo ufw enable
配置防火墙规则
-
允许FTP端口通过防火墙:
- VSFTPD服务默认使用端口21进行控制连接,端口20用于数据传输。你需要在防火墙中打开这两个端口,以允许FTP连接。
sudo ufw allow 20/tcp sudo ufw allow 21/tcp
-
允许本地用户登录:
- 编辑VSFTPD的配置文件
/etc/vsftpd.conf
,确保以下设置:anonymous_enable=NO local_enable=YES write_enable=YES chroot_local_user=YES
- 重启VSFTPD服务以使更改生效:
sudo systemctl restart vsftpd
- 编辑VSFTPD的配置文件
验证配置
使用以下命令验证防火墙设置是否正确:
sudo ufw status
确保端口20和21已打开,并且VSFTPD服务正在运行。
额外说明
- 被动模式:在被动模式下,FTP客户端在所选范围内的随机端口上打开与服务器的连接。这通常更容易通过防火墙,因为大多数防火墙默认允许出站流量。
- 防火墙规则示例:
sudo ufw allow 20/tcp sudo ufw allow 21/tcp sudo ufw allow from 192.168.1.0/24 to any port 21 sudo ufw allow from 192.168.1.0/24 to any port 20
这些命令允许来自特定子网(例如192.168.1.0/24)的用户访问FTP服务器的控制(端口21)和数据(端口20)端口。
通过以上步骤,你可以在Ubuntu上成功配置vsftpd的防火墙设置,确保FTP服务能够正常访问。