欢迎光临易鼎网
详情描述

Windows系统Linux系统(以Ubuntu为例) 分别讲解两种最常见的搭建方式。

一、Windows系统搭建FTP服务器

方法1:使用Windows自带的IIS搭建FTP服务器

启用IIS和FTP功能

  • 打开“控制面板” → “程序” → “启用或关闭Windows功能”。
  • 勾选:
    • “Internet Information Services” → “FTP服务器”
    • “IIS管理控制台”
  • 点击“确定”,等待安装完成。

创建FTP站点

  • 打开 IIS管理器(开始菜单搜索 Internet Information Services (IIS) 管理器)。
  • 右键“网站” → “添加FTP站点”。
  • 设置站点名称、选择物理路径(如 D:\FTP)。
  • 绑定IP地址(默认“全部未分配”)和端口(默认21)。
  • SSL选择“无SSL”(本地测试可不启用)。

设置身份验证和权限

  • 身份验证:勾选“基本”(简单本地测试可用,生产环境建议结合SSL)。
  • 授权规则:设置允许的用户(如“所有用户”或指定用户)和权限(读取/写入)。

配置Windows防火墙

  • 控制面板 → Windows Defender 防火墙 → 允许应用或功能通过防火墙。
  • 勾选“FTP服务器”和“核心网络诊断”相关规则。
  • 或手动添加入站规则:端口21(TCP)。

测试FTP连接

  • 打开浏览器或资源管理器,输入 ftp://本机IP地址(如 ftp://192.168.1.100)。
  • 或使用FTP客户端(如FileZilla)连接。

方法2:使用第三方软件(如FileZilla Server)

下载安装FileZilla Server

  • 官网下载:https://filezilla-project.org/
  • 安装过程保持默认设置,记住管理端口和密码。

启动并配置

  • 打开FileZilla Server Interface,连接本地服务器。
  • 点击“用户” → 添加用户(如 ftpuser)并设置密码。
  • 为用户指定共享目录并设置权限(读取、写入、删除等)。

防火墙设置

  • 开放端口 21(控制连接)和 被动模式端口范围(可在设置中自定义)。

测试连接

  • 使用FTP客户端连接本机IP和用户密码。

二、Linux系统搭建FTP服务器(以Ubuntu为例)

使用 vsftpd(常用)

安装 vsftpd

sudo apt update
sudo apt install vsftpd

备份并编辑配置文件

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
sudo nano /etc/vsftpd.conf

修改关键配置

# 允许本地用户登录
local_enable=YES
# 允许上传
write_enable=YES
# 设置本地用户目录(可选)
local_root=/home/ftp
# 禁止匿名登录(更安全)
anonymous_enable=NO
# 限制用户只能访问其家目录
chroot_local_user=YES
allow_writeable_chroot=YES
# 被动模式设置(如果需要)
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000

创建FTP专用用户(可选)

sudo useradd -m ftpuser
sudo passwd ftpuser

设置目录权限

sudo chown ftpuser:ftpuser /home/ftpuser

重启服务并设置自启

sudo systemctl restart vsftpd
sudo systemctl enable vsftpd

配置防火墙(如UFW)

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
sudo ufw reload

测试连接

ftp localhost

或用客户端连接服务器IP。

三、通用配置与安全建议

1. 安全设置

  • 使用强密码,避免默认账户。
  • 限制用户访问目录(chroot)。
  • 生产环境建议使用 FTPS(FTP over SSL/TLS)SFTP(SSH File Transfer Protocol)
  • 设置防火墙规则,仅允许必要IP段访问。

2. 被动模式与端口转发(内网穿透)

  • 若服务器在路由器后,需在路由器设置 端口转发:TCP 21 + 被动模式端口范围。
  • 将服务器IP设为静态IP,避免内网IP变化导致连接失败。

3. 测试工具

  • 命令行:ftp [IP地址]
  • 图形工具:FileZilla Client、WinSCP。
  • 浏览器访问:ftp://[IP地址]

四、常见问题排查

连接超时 → 检查防火墙/路由器端口是否开放。 身份验证失败 → 检查用户名/密码,确认用户是否有登录权限。 无法上传文件 → 检查目录权限和vsftpd配置文件中的 write_enable被动模式失败 → 检查被动端口范围是否在防火墙中开放。

如果你需要更详细的某一部分说明(如SSL配置、用户权限细分),我可以继续为你补充!