使用IIS(Internet Information Services) 和使用第三方FTP服务器软件。
# 通过控制面板安装:
1. 控制面板 → 程序和功能 → 启用或关闭Windows功能
2. 勾选:
✓ Internet Information Services
✓ FTP服务器
✓ IIS管理控制台
3. 点击"确定"安装
# 步骤:
1. 打开"IIS管理器"(搜索"iis")
2. 右键"网站" → 添加FTP站点
3. 配置:
- 站点名称:MyFTPServer
- 物理路径:D:\FTP(提前创建好文件夹)
绑定和SSL设置:
- IP地址:选择"全部未分配"或特定IP
- 端口:21(默认)
- 虚拟主机名:留空
- SSL:根据需要选择
身份验证:基本身份验证(勾选)
授权:添加允许的用户
- 所有用户/指定用户
- 权限:读取/写入
# 允许FTP通过防火墙
1. 控制面板 → Windows Defender 防火墙
2. 允许应用或功能通过防火墙
3. 找到"FTP服务器",勾选"专用"和"公用"
# 或使用命令:
netsh advfirewall firewall add rule name="FTP Server" dir=in action=allow protocol=TCP localport=21
<!-- 编辑:C:\Windows\System32\inetsrv\config\applicationHost.config -->
<system.ftpServer>
<firewallSupport>
<externalIp4Address>你的公网IP</externalIp4Address>
<dataChannelPortRange min="50000" max="50100" />
</firewallSupport>
</system.ftpServer>
# 步骤:
1. 下载FileZilla Server:https://filezilla-project.org
2. 安装时注意:
- 安装为服务,随系统启动
- 设置管理端口(默认14147)
- 设置管理员密码
# 启动FileZilla Server Interface
连接设置:
- 主机:127.0.0.1
- 端口:14147
- 密码:安装时设置的密码
步骤:
1. Edit → Users
2. 添加用户组(可选)
3. 添加用户:
- 用户名/密码
- 分配主目录
- 设置权限(读取、写入、删除等)
Edit → Settings → Passive mode settings:
- 使用自定义端口范围:50000-50100
- 使用服务器外网IP
Edit → Settings → FTP over TLS settings:
- 启用TLS
- 选择证书文件(自签名或CA颁发)
| 特性 | IIS FTP | FileZilla Server |
|---|---|---|
| 安装难度 | 中等 | 简单 |
| 功能丰富度 | 基本 | 丰富 |
| 用户界面 | 图形化 | 图形化+详细配置 |
| 性能 | 一般 | 优秀 |
| 安全性 | 中等 | 高(支持TLS) |
| 被动模式配置 | 较复杂 | 简单 |
| 适合场景 | 简单内部使用 | 专业/生产环境 |
# 检查步骤:
1. 确保服务已启动
2. 防火墙已放行端口21和被动端口范围
3. 路由器端口转发(公网访问时需要)
4. 检查Windows防火墙日志
# 解决方法:
# 对于IIS:
netsh advfirewall firewall add rule name="FTP Passive" dir=in action=allow protocol=TCP localport=50000-50100
# 对于FileZilla:
在设置中正确配置外网IP和端口范围
# 检查:
1. FTP文件夹权限(右键→属性→安全)
2. 添加IIS_IUSRS或对应用户的完全控制权限
3. 重启FTP服务
1. 使用强密码
2. 限制IP访问(如果有固定IP)
3. 定期更换密码
4. 启用连接日志
5. 限制最大连接数
1. 使用FTPS(FTP over SSL/TLS)
2. 使用SFTP(SSH File Transfer Protocol)
3. 配置失败登录锁定
4. 定期审计日志
# FileZilla性能设置:
Edit → Settings → Speed Limits:
- 限制上传/下载速度
- 设置连接数限制
# 日志设置:
Edit → Settings → Logging:
- 启用日志文件
- 设置日志级别
# 安装IIS和FTP功能
Enable-WindowsOptionalFeature -Online -FeatureName IIS-FTPServer, IIS-FTPSvc, IIS-ManagementConsole
# 创建FTP目录
New-Item -ItemType Directory -Path "D:\FTP" -Force
# 设置文件夹权限
icacls "D:\FTP" /grant "IIS_IUSRS:(OI)(CI)F"
# 创建FTP站点(需要管理员权限)
Import-Module WebAdministration
New-WebFtpSite -Name "MyFTP" -Port 21 -PhysicalPath "D:\FTP" -Force
根据你的具体需求选择合适的方式,如有特定问题可以提供更多细节,我可以给出针对性建议。