凌峰创科服务平台

如何创建FTP服务器地址?

核心概念:FTP 服务器地址是什么?

在你开始之前,先理解几个关键点:

如何创建FTP服务器地址?-图1
(图片来源网络,侵删)
  1. 服务器地址:这通常是你服务器的公网 IP 地址0.113.55)或域名ftp.mydomain.com),用户需要在 FTP 客户端(如 FileZilla)中输入这个地址来连接。
  2. FTP 端口:标准的 FTP 服务使用 21号端口 进行连接控制和命令传输,数据传输会使用另一个临时端口(20号或一个高位动态端口)。
  3. 用户名和密码:你需要为 FTP 用户创建一个账户,他们使用这个凭据来登录和访问文件。

第一步:选择并安装 FTP 服务器软件

根据你的服务器操作系统,选择合适的软件。

在 Linux (如 Ubuntu/CentOS) 上安装 vsftpd (非常安全,推荐)

vsftpd (Very Secure FTP Daemon) 是 Linux 下最流行、最安全的 FTP 服务器之一。

安装 vsftpd

  • 对于 Ubuntu/Debian:

    如何创建FTP服务器地址?-图2
    (图片来源网络,侵删)
    sudo apt update
    sudo apt install vsftpd
  • 对于 CentOS/RHEL:

    sudo yum install vsftpd
    # 或者对于较新的系统
    sudo dnf install vsftpd

启动并设置开机自启

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

检查服务状态

sudo systemctl status vsftpd

你应该看到 active (running) 的状态。

如何创建FTP服务器地址?-图3
(图片来源网络,侵删)

在 Windows Server 上安装 IIS FTP 服务

如果你使用的是 Windows Server,可以利用自带的 IIS (Internet Information Services) 来搭建 FTP 服务器。

安装 IIS 和 FTP 服务

  1. 打开 "服务器管理器"。
  2. 点击 "管理" -> "添加角色和功能"。
  3. 在 "功能" 页面,展开 "Web 服务器 (IIS)"。
  4. 展开 "FTP 服务器",勾选 "FTP 服务" 和 "FTP 扩展"。
  5. 点击 "安装"。

配置 FTP 站点

  1. 安装完成后,打开 "Internet Information Services (IIS) 管理器"。

  2. 在左侧的 "连接" 窗格中,右键点击你的服务器名称,选择 "添加 FTP 站点..."。

  3. 站点信息:

    • FTP 站点名称: 给你的站点起个名字,"My FTP Site"。
    • 物理路径: 选择你希望用户访问的文件夹路径,C:\inetpub\ftproot,你可以提前创建好这个文件夹并放入一些测试文件。
  4. 绑定和 SSL:

    • IP 地址: 选择服务器的 IP 地址,如果不确定,选择 "全部未分配"。
    • 端口: 默认为 21
    • SSL: 强烈建议选择 "需要 SSL",这可以加密用户名和密码,防止被窃听,你需要先为服务器配置一个 SSL 证书(可以使用 IIS 自带的测试证书)。
  5. 身份验证和授权:

    • 匿名: 取消勾选 "匿名"。
    • 基本: 勾选 "基本"。注意:基本身份验证会以明文传输密码,因此必须配合 SSL 使用!
    • 授权:
      • 权限: 选择 "读取" 和 "写入"。
      • 用户: 选择 "特定用户"。
      • 指定用户: 点击 "添加",输入你希望允许访问的 Windows 用户名(ftpuser),你需要提前在 Windows 中创建这个用户账户(通过 "计算机管理" -> "本地用户和组")。
  6. 完成向导,FTP 站点就创建好了。


第二步:配置防火墙(至关重要!)

你的服务器必须允许 FTP 流量通过防火墙。

在 Linux (使用 ufw 防火墙) 上

# 允许 FTP 端口 21
sudo ufw allow 21/tcp
# 如果你想允许被动模式(推荐),还需要允许一个端口范围
# 假设你配置的被动端口范围是 60000-61000
sudo ufw allow 60000:61000/tcp
# 重新加载防火墙
sudo ufw reload

在 Windows Server 上

  1. 打开 "高级安全 Windows Defender 防火墙"。
  2. 在右侧点击 "入站规则"。
  3. 在右侧操作栏点击 "新建规则..."。
  4. 选择 "端口",点击 "下一步"。
  5. 选择 "TCP",在 "特定本地端口" 中输入 21,点击 "下一步"。
  6. 选择 "允许连接",点击 "下一步"。
  7. 勾选所有配置文件(域、专用、公用),点击 "下一步"。
  8. 给规则起个名字,"Allow FTP Port 21",点击 "完成"。

对于被动模式,你也需要为端口范围(如 60000-61000)创建一个类似的入站规则。


第三步:配置 FTP 服务器

Linux (vsftpd) 配置

使用 nanovim 编辑配置文件:

sudo nano /etc/vsftpd.conf

以下是一些关键的配置项,请根据需要修改:

# 禁止匿名用户登录
anonymous_enable=NO
# 允许本地用户登录
local_enable=YES
# 允许写入文件
write_enable=YES
# 将用户限制在其主目录中 (非常重要!防止用户跳出主目录)
chroot_local_user=YES
# 启用被动模式 (强烈推荐,因为主动模式容易受防火墙影响)
pasv_enable=YES
pasv_min_port=60000
pasv_max_port=61000
# 日志记录
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log

重要安全提示 (chroot jail):chroot_local_user=YES 时,用户被限制在主目录,但为了安全,vsftpd 要求该目录不能有写权限,否则会报错 "500 OOPS: vsftpd: refusing to run with writable root inside chroot()"。

解决方法:将主目录的所有权改为 root,并设置 user_sub_dirlocal_root

假设你的 FTP 用户是 ftpuser,主目录是 /home/ftpuser

# 1. 修改主目录所有者为 root
sudo chown root:root /home/ftpuser
# 2. 在 vsftpd.conf 中添加以下配置
user_sub_dir=YES
local_root=/home/$USER

保存文件后,重启 vsftpd 服务:

sudo systemctl restart vsftpd

Windows Server (IIS) 配置

大部分配置在创建站点时已经完成,你可以在 "IIS 管理器" 中右键点击你的 FTP 站点,选择 "FTP 编辑器..." 来进行更详细的调整,

  • 连接限制:可以设置最大连接数。
  • 日志记录:可以开启日志记录。

第四步:创建 FTP 用户

在 Linux 上

# 创建一个新用户,ftpuser
sudo adduser ftpuser
# 系统会提示你设置密码
# (可选) 设置密码
sudo passwd ftpuser

这个用户现在就可以用它的用户名和密码登录 FTP 了。

在 Windows Server 上

  1. 打开 "计算机管理"。
  2. 导航到 "本地用户和组" -> "用户"。
  3. 右键点击 "用户",选择 "新用户"。
  4. 输入用户名(ftpuser)、密码等信息,创建用户。

第五步:获取你的服务器地址并测试

  1. 找到你的公网 IP 地址

    • 在 Linux 服务器上运行:curl ifconfig.mecurl ipinfo.io
    • 在 Windows 服务器上,可以访问 https://www.whatismyip.com/ 等网站。
  2. 使用 FTP 客户端测试

    • 推荐使用 FileZilla 这样的免费客户端。
    • 打开 FileZilla,在主机栏输入你的公网 IP 地址域名
    • 输入你创建的用户名密码
    • 端口保持 21
    • 点击 "快速连接"。

    如果一切配置正确,你应该能够成功连接,并看到你设置的 FTP 目录下的文件。


高级安全建议

  1. 使用 SFTP 代替 FTP

    • 强烈建议! FTP 是一种非常古老且不安全的协议,所有数据(包括密码)都是明文传输。
    • SFTP (SSH File Transfer Protocol) 是基于 SSH 的,它对所有数据进行加密,是现代标准。
    • 在 Linux 上,你不需要额外安装任何东西,因为 SSH 服务器通常默认已安装,用户只需使用 SFTP 客户端连接服务器的 22号端口 即可。
    • 如果必须使用 FTP,请务必启用 SSL/TLS 加密(在 vsftpd 中是 ssl_enable=YES,在 IIS 中是 "需要 SSL")。
  2. 使用防火墙限制 IP

    如果你知道哪些 IP 地址需要访问 FTP,可以在防火墙上添加规则,只允许这些特定 IP 访问 21 端口,从而大大提高安全性。

  3. 定期更新

    保持你的操作系统和 FTP 服务器软件为最新版本,以修复已知的安全漏洞。

通过以上步骤,你就成功创建了一个功能完整且相对安全的 FTP 服务器,并获得了你的服务器地址。

分享:
扫描分享到社交APP
上一篇
下一篇