Windows物理主机配置FTP:
-
启用FTP服务:
- 打开“控制面板” > “程序” > “启用或关闭Windows功能”,勾选“Internet Information Services”下的“FTP服务器”功能 11。
-
创建FTP站点:
- 打开“计算机管理” > “服务和应用程序” > “Internet Information Services (IIS)管理器”,在“网站”上右键点击选择“添加FTP站点”,设置站点名称、物理路径、IP地址和端口 1112。
-
设置用户权限:
- 在IIS管理器中,双击“FTP用户”,设置身份验证方式,可以启用匿名访问或基本身份验证 12。
-
配置防火墙规则:
- 打开“控制面板” > “Windows Defender 防火墙” > “允许应用或功能通过Windows Defender防火墙”,勾选“FTP服务器”并允许通过 1112。
-
测试FTP连接:
- 使用FTP客户端软件(如Windows资源管理器)测试连接和文件传输功能。
Linux(CentOS)虚拟主机配置FTP:
-
安装FTP服务(以
vsftpd
为例):- 连接到Linux虚拟主机,使用以下命令安装
vsftpd
:yum install -y vsftpd
- 连接到Linux虚拟主机,使用以下命令安装
-
启动FTP服务:
- 使用以下命令启动FTP服务并设置开机自启动:
systemctl start vsftpd sudo systemctl enable vsftpd
- 使用以下命令启动FTP服务并设置开机自启动:
-
配置FTP服务:
- 编辑FTP配置文件
/etc/vsftpd/vsftpd.conf
,根据需要配置用户权限、匿名访问、上传下载权限等:vim /etc/vsftpd/vsftpd.conf
- 禁用匿名访问并允许本地用户登录:
anonymous_enable=NO local_enable=YES
- 设置本地用户主目录和chroot模式:
local_root=/var/ftp/test chroot_local_user=YES
- 编辑FTP配置文件
-
设置防火墙规则:
- 打开防火墙端口21:
firewall-cmd --permanent --zone=public --add-port=21/tcp sudo firewall-cmd --reload
- 打开防火墙端口21:
-
测试FTP连接
1. 测试匿名访问
输入FTP服务器的地址和端口,使用anonymous作为用户名,密码留空。
如果无法连接,可能是服务器未启用匿名访问或者防火墙阻止了端口21。
2. 测试注册用户访问
使用合法的用户账号和密码尝试连接。
如果连接失败,检查用户名和密码是否正确,确认该用户是否有权限访问FTP。
3. 测试本地网络连接
确保你的计算机与FTP服务器在同一局域网内或可以访问到服务器的公网IP。
如果本地网络有问题,确保网络连接正常。
4. 测试公网访问
如果服务器位于公网,尝试从外部网络连接。
如果连接失败,检查服务器是否有公网IP,端口21是否在路由器上做了端口转发。
5. 测试防火墙和安全软件
检查本地防火墙或安全软件是否阻止了FTP客户端访问端口21。
确保服务器端的防火墙允许从你的IP地址访问端口21。
6. 测试文件传输
尝试上传和下载小文件以测试数据传输。
如果传输失败,检查磁盘空间是否足够,文件权限设置是否正确。