温馨提示×

centos ftpserver主动被动模式

小樊
38
2025-02-26 22:19:11
栏目: 智能运维
亿速云云数据库,读写分离,安全稳定,弹性扩容,低至0.3元/天!! 点击查看>>

在CentOS上配置FTP服务器时,可以选择主动模式(Active Mode)或被动模式(Passive Mode)。这两种模式主要区别在于数据连接的建立方式不同。

主动模式(Active Mode)

  1. 客户端发起连接

    • 客户端打开一个端口用于控制连接。
    • 客户端发送PORT命令给服务器,告知服务器客户端用于数据传输的端口号。
  2. 服务器发起连接

    • 服务器监听一个端口(通常是20)等待客户端的连接请求。
    • 当服务器收到PORT命令后,它会从监听端口(20)主动连接到客户端指定的端口。
  3. 配置

    • 在vsftpd中,默认情况下是支持主动模式的。
    • 确保防火墙允许FTP控制连接(通常是TCP 21端口)和数据连接(通常是TCP 20端口)。

被动模式(Passive Mode)

  1. 客户端发起连接

    • 客户端打开一个端口用于控制连接。
    • 客户端发送PASV命令给服务器,告知服务器客户端处于被动模式。
  2. 服务器响应

    • 服务器打开一个随机端口用于数据传输,并将这个端口号通过PASV命令返回给客户端。
    • 客户端从自己的端口主动连接到服务器指定的端口进行数据传输。
  3. 配置

    • 在vsftpd中,需要启用被动模式并配置被动模式的端口范围。
    • 编辑/etc/vsftpd/vsftpd.conf文件,添加或修改以下配置:
      pasv_enable=YES
      pasv_min_port=1024
      pasv_max_port=1048
      
    • 这些配置指定了被动模式下服务器用于数据传输的端口范围。
  4. 防火墙配置

    • 确保防火墙允许被动模式下的数据连接。通常需要开放被动模式端口范围(例如1024到1048)。
    • 使用firewall-cmd命令添加规则:
      firewall-cmd --permanent --add-port=1024-1048/tcp
      firewall-cmd --reload
      

示例配置

假设你已经安装了vsftpd,以下是一个完整的配置示例:

  1. 编辑配置文件

    sudo vi /etc/vsftpd/vsftpd.conf
    
  2. 添加或修改以下配置

    listen=YES
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    pasv_enable=YES
    pasv_min_port=1024
    pasv_max_port=1048
    
  3. 重启vsftpd服务

    sudo systemctl restart vsftpd
    
  4. 配置防火墙

    sudo firewall-cmd --permanent --add-port=21/tcp
    sudo firewall-cmd --permanent --add-port=20/tcp
    sudo firewall-cmd --permanent --add-port=1024-1048/tcp
    sudo firewall-cmd --reload
    

通过以上步骤,你可以在CentOS上配置FTP服务器以支持主动模式和被动模式。根据你的网络环境和需求选择合适的模式。

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

推荐阅读:如何优化CentOS FTPServer性能

0