FTP服务器搭建(Linux)

目录

一、FTP

1.1 FTP简介

1.2 Linux搭建FTP(需确认防火墙是否开启,如未开启防火墙需要打开)

1.2.1安装Vsftpd

 1.2.2配置vsftpd

1.3设置安全组

1.4验证FTP

1.5FTP主动模式与被动模式区别

1. 主动模式​

​​2. 被动模式​


一、FTP

1.1 FTP简介

FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一.FTP协议包括两个部分,FTP服务器和FTP客户端。FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。可以利用FTP协议把网页或程序传到Web服务器上。因为FTP传输效率高,所以在网络上传输大的文件时,一般也采用该协议。默认情况下FTP协议使用TCP端口中的 20、21端口,20用于传输数据,21用于传输控制信息。

1.2 Linux搭建FTP(需确认防火墙是否开启,如未开启防火墙需要打开)

本实验Linux操作系统版本: CentOS 7.6  

Vsftpd版本为:

[root@VM-0-15-centos ~]# vsftpd -v
vsftpd: version 3.0.2

1.2.1安装Vsftpd

[root@VM-0-15-centos ~]# yum install -y vsftpd
#设置开机自启
[root@VM-0-15-centos ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
#启动vsftpd服务
[root@VM-0-15-centos ~]# systemctl start vsftpd
#查看服务启动是否启动
[root@VM-0-15-centos ~]# netstat -antup | grep ftp
tcp6       0      0 :::21                   :::*                    LISTEN      12553/vsftpd 

 注意:vsftpd服务启动后,会默认开启匿名访问,无需通过用户名和密码即可登录到 FTP 服务器。但此方式登录 FTP 服务器的用户没有权修改或上传文件的权限。

 1.2.2配置vsftpd

#创建 FTP 服务用户
[root@VM-0-15-centos ~]# useradd vsftpd_test
#给这个FTP用户设置密码
[root@VM-0-15-centos ~]# passwd vsftpd_test 
#创建 FTP 服务使用的目录
[root@VM-0-15-centos ftp]# mkdir /var/ftp/test
#更改目录权限
[root@VM-0-15-centos ftp]# chown -R vsftpd_test:vsftpd_test /var/ftp/test/
#打开 vsftpd.conf 文件
[root@VM-0-15-centos ftp]# vim /etc/vsftpd/vsftpd.conf
#设置匿名用户和本地用户的登录权限
anonymous_enable=NO
local_enable=YES
#设置指定用户列表文件的路径,并开启 IPv4 sockets 的监听。
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
#关闭 IPv6 sockets 的监听(部分FTP客户端可能无法正确处理IPv6连接、同时监听IPv4和IPv6会增加配置复杂度)
#listen_ipv6=YES

#开启被动模式,设置本地用户登录后所在目录,以及云服务器建立数据传输可使用的端口范围值。
local_root=/var/ftp/test
allow_writeable_chroot=YES
pasv_enable=YES
pasv_address=132.232.1.148
pasv_min_port=40000
pasv_max_port=45000




#创建并编辑 chroot_list 文件。
vim /etc/vsftpd/chroot_list   #输入用户名,一个占据一行,若没有设置例外用户的需求,可跳过
#重启 FTP 服务。
systemctl restart vsftpd

1.3设置安全组

搭建好 FTP 服务后,要根据实际使用的 FTP 模式给 Linux 云服务器放通入站规则。

多数客户端机器IP 是经过转换的。如果选择的是 FTP 主动模式,请确保客户端机器已获取真实的 IP ,否则会导致客户端无法登录 FTP 服务器。

主动模式:放通端口21。
被动模式:放通端口21,及 修改配置文件 中设置的 pasv_min_port 到 pasv_max_port 之间的所有端口,本文放通端口为40000 - 45000。

1.4验证FTP

  1. 打开浏览器,选择【工具】>【Internet 选项】>【高级】,根据您选择的 FTP 模式进行修改:
  • 主动模式:取消勾选【使用被动 FTP】
  • 被动模式:勾选【使用被动 FTP】

1.5FTP主动模式与被动模式区别

1. 主动模式

  • ​工作流程​​:

    1. 客户端通过随机端口(如 N)连接到服务器的 ​​21 端口(控制连接)​​。

    2. 客户端发送 PORT命令,告知服务器自己的一个随机端口(如 N+1)用于数据连接。

    3. ​服务器主动从 20 端口​​ 连接到客户端的指定端口(N+1)建立数据连接。

  • ​特点​​:

    • ​服务器主动发起数据连接​​,客户端被动接受。

    • ​防火墙问题​​:如果客户端位于防火墙/NAT后,服务器的连接可能被拦截。

    • 适用于服务器和客户端之间无防火墙限制的环境(如局域网)。


​2. 被动模式

  • ​工作流程​​:

    1. 客户端通过随机端口连接到服务器的 ​​21 端口

    2. 客户端发送 PASV命令,服务器回应一个随机端口(如 P)用于数据连接。

    3. ​客户端主动连接到服务器的端口 P​ 建立数据连接。

  • ​特点​​:

    • ​客户端发起数据连接​​,服务器被动接受。

    • ​防火墙友好​​:适合客户端位于防火墙/NAT后的场景。

    • ​服务器需开放随机端口​​:可能需配置防火墙允许高端口号范围

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值