前提:我的服务器的IP为192.168.2.10,域名配置为ftp.huiying.cn,(因为我是使用域名访问ftp服务器。所以我配置了DNS服务,如果你用IP地址访问FTP不用配置DNS也行),客户机的IP为192.168.2.200
一:服务器端安装vsFTP服务
查看系统是否安装vsFTPd软件包
显示如此,还没有进行安装,可以安装以下步骤进行安装
把光盘文件连接上
然后按照以下进行安装
mkdir /mnt/cdrom # 创建挂载点
mount /dev/cdrom mnt/cdrom # 挂载光驱
cd /nmt/cdrom/Packages # 进入安装目录
安装命令:
启动vsftpd服务和设置开机自启动
二:添加本地用户huiying,密码为123456
三:设置欢迎信息文件
查看内容
四:修改主配置文件
我只修改了这两个地方,所以只截了这两个地方
保存退出,并重启服务
五:客户机测试
①安装ftp客户机工具
如上面一样进行挂载光盘,然后安装
②登录ftp服务器,进行测试
登录失败,解决办法如下
客户机通过域名连接服务器需要配置这个文件
服务器是默认开启防火墙,所以也禁止ping,禁止连接ftp服务器
添加规则使其能ping通域名和连接ftp服务端
DNS服务器,开启53端口
iptables -A OUTPUT -p udp --sport 53 -j ACCEPT
FTP服务器,开启21,20端口
iptables -A OUTPUT -p tcp --sport20:21 -j ACCEPT
保存配置,防止重启配置丢失,并重启防火墙
在服务器的“huiying“的主目录下创建下载测试文件
在客户端创建上传测试文件
客户端登录FTP服务器,进行下载,上传测试
将test文件下载至/home目录
连接超时,这是因为ftp 是比较特殊的,它还有一些端口是 数据传输端口,例如目录列表, 上传,下载文件都要用到这些端口
这时需要修改一下ftp配置文件
这两句话的意思告诉vsftpd, 要传输数据的端口范围就在30001到31000 这个范围内传送
修改配置,要重启vsftpd服务
并添加防火墙规则,记得保存配置
然后再测试
将本地文件test1上传至服务器
在服务器创建目录
显示文件列表
在服务器端查看日志信息
提高一:设置用户黑名单
在服务器端,创建测试用户user1,user2
修改/etc/vsftpd/ftpusers文件,在文件末尾添加user1
客户端测试user1
对比测试user2
提高二:设置用户白名单
新建用户user3.user4进行测试
编辑配置文件,添加以下参数
重启服务
修改/etc/vsftpd/user_list文件,在末尾添加user3,保存退出
客户端测试
对比测试
提高三:设置本地用户主目录
本地用户登录vsftpd服务后,可以切换任意目录,很不安全,就像下面一样
所以需要进行锁定本地的主目录,修改主配置文件
保存退出,重启服务
客户端测试
使用cd / 切换根目录成功,但这个根目录是huiying的主目录/home/huiying,而不是系统的根目录,本地用户被成功的锁定在自己的主目录
提高四:实现匿名用户的上传,下载
①更改/var/ftp/pub的权限
或者另一种方法,选其中一种方法就行
②修改主配置文件
保存退出,服务重启
③客户机测试
在客户机创建上传的测试文件
在服务器端创建下载的测试文件
匿名登录ftp
登录失败,因为我之前配置的白名单问题,我把白名单关了
保存配置,重启服务
接着测试,登录成功。我用的登录名为ftp,登录密码也是ftp
下载文件测试
上传文件测试