温馨提示×

Ubuntu FTP Server端口配置方法

小樊
36
2025-11-15 15:11:36
栏目: 智能运维

Ubuntu FTP Server端口配置方法

一 前置准备

  • 安装并启用 vsftpd(Very Secure FTP Daemon):
    • 安装:sudo apt update && sudo apt install vsftpd
    • 启动与开机自启:sudo systemctl start vsftpd && sudo systemctl enable vsftpd
  • 备份原始配置:sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
  • 本文以 vsftpd 为例,覆盖控制端口与被动模式端口段的配置与放行。

二 修改控制连接端口

  • 编辑配置文件:sudo nano /etc/vsftpd.conf
  • 设置控制端口(默认 21),将端口改为未被占用的高位端口(如 2121):
    • 添加或修改:listen_port=2121
  • 若系统启用 IPv6 且只想监听 IPv4,可设置:listen_ipv6=NO
  • 重启服务生效:sudo systemctl restart vsftpd
  • 防火墙放行新端口(UFW 示例):sudo ufw allow 2121/tcp && sudo ufw reload
  • 客户端连接时需在客户端显式指定端口 2121

三 配置被动模式端口范围

  • 被动模式需要开放一段用于数据传输的端口范围,建议选择高位端口以减少冲突:
    • /etc/vsftpd.conf 中添加或修改:
      • pasv_enable=YES
      • pasv_min_port=30000
      • pasv_max_port=31000
  • 重启服务:sudo systemctl restart vsftpd
  • 防火墙放行端口段(UFW 示例):sudo ufw allow 30000:31000/tcp
  • 如使用云服务器,还需在云平台安全组放行 21/tcp30000:31000/tcp

四 NAT 与公网环境设置

  • 服务器位于 NAT/路由器 之后时,客户端需知道公网地址进行数据连接:
    • /etc/vsftpd.conf 中设置:pasv_address=你的公网IP
    • 重启服务:sudo systemctl restart vsftpd
  • 路由器端口映射建议:
    • 21/tcp → 内网服务器IP:21
    • 30000–31000/tcp → 内网服务器IP:30000–31000
  • 客户端连接建议启用被动模式(Passive),并在客户端指定被动端口范围或保持默认。

五 加密与验证

  • 启用 TLS/SSL(FTPS) 提升传输安全:
    • 生成证书(示例):sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
    • /etc/vsftpd.conf 中启用:
      • ssl_enable=YES
      • ssl_tlsv1=YES
      • ssl_sslv2=NO
      • ssl_sslv3=NO
      • rsa_cert_file=/etc/ssl/private/vsftpd.pem
      • rsa_private_key_file=/etc/ssl/private/vsftpd.pem
    • 重启服务:sudo systemctl restart vsftpd
  • 连接验证与排错:
    • 查看端口监听:sudo ss -tulpen | grep -E '(:21|:2121|:30000)'
    • 客户端(如 FileZilla)测试:启用被动模式,控制端口填 2121,被动端口范围填 30000–31000;若启用 FTPS,选择“要求显式 FTP over TLS”。

0