资讯专栏INFORMATION COLUMN

ftp服务器搭建

IT那活儿 / 2542人阅读
ftp服务器搭建

点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!

 

01

关闭防火墙
systemctl stop firewalld
systemctl disable firewalld #开机不启动
#确认状态:
systemctl status firewalld

firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled)
   Active: inactive (dead)

Jun 20 23:20:57 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
Jun 20 23:21:00 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
Jul 08 01:04:13 localhost.localdomain systemd[1]: Stopping firewalld - dynamic firewall daemon...
Jul 08 01:04:14 localhost.localdomain systemd[1]: Stopped firewalld - dynamic firewall daemon.

 

02

关闭selinux
setenforce 0    # 临时关闭
永久关闭,需重启。
vi /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled #永久关闭
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

 

03

安装vsftpd服务
yum -y install vsftpd


04

初始配置文件
vi /etc/vsftpd/vsftpd.conf
#不允许匿名用户登录:
anonymous_enable=NO
#允许本地用户登录:
local_enable=YES
#可以上传删除重命名:
write_enable=YES
#本地用户上传文件权限此配置为755:
local_umask=022
#显示目录注释,默认是目录下隐藏文件.messages:
dirmessage_enable=NO
#vsftpd日志记录,默认日志文件位置为/var/log/xferlog:
xferlog_enable=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
#主动模式数据传输端口:
connect_from_port_20=YES
#vsftpd standalone模式,监听端口保持打开:
listen=YES
listen_port=21
#pam使用名称,vsftpd用户登录验证方式:
pam_service_name=vsftpd
#是否启用vsftpd用户限制功能在user_list的用户限制访问:
userlist_enable=YES
#可以支持hosts.denyhosts.allow对IP进行限制:
tcp_wrappers=YES
保存退出。

05

创建目录、用户
mkdir -p /data/ftp #在/data/ftp 下载建一个ftp目录是为了可以上传数据
useradd -d /data/ftp -s /sbin/nologin ftpuser1 #在此目录下的用户只有ftp权限
password ftpuser1 #设置密码

 


06

重启vsftpd
systemctl restart vsftpd



07

初始配置文件启动完成,看下效果客户端IP192.168.0.5,服务端192.168.1.5
ftp 192.168.0.5
Connected to 192.168.1.5 (192.168.1.5).
220 (vsFTPd 3.0.2)
Name (192.168.1.5:root):ftpuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

 


08

各类客户端连接模式,及主动模式被动模式介绍
1)主动模式
  • 服务端启用两个TCP监听端口
21端口:默认的命令端口,认证、传递指令,入方向端口;
20端口:交互端口,数据传输端口,包含目录显示。
  • 客户端:任意的高于TCP协议1024端口起监听,交互端口;
客户端连接到服务端21端口后。协商数据传输端口,服务端20端口会连接到客户端监听端口传输数据。
2)被动模式
  • 服务端开启2个监听端口

21端口:默认的命令端口21,认证、传递指令;

设置的被动端口任意一个起监听;

  • 客户端

高于1024任意出方向端口连接服务端21端口,数据传输连接服务端被动端口。

  • 各种客户端类型连接默认选择的FTP连接方式

IE内核浏览器----被动模式;

linux字符连接----被动模式;

windows字符连接----主动模式;

其他FTP连接工具可自行设置 。


09

服务端被外网访问设置
pasv_enable=YES      #使用被动模式
pasv_min_port=10005  #被动端口最小端口号
pasv_max_port=10010 
 #被动端口最大端口号
连接查看:
抓包发现服务端开启的端口在设置的范围内:

 

10

客户端连接服务端需过NAT时
一般的互联网用户访问远端FTP服务用户本地会经过一次Snat,服务端需过一次Dnat;
此时需选用被动模式时需将服务端服务端口与被动端口全部设置Dnat暴露至互联网,并在配置文件添加服务端互联网连接方式。
pasv_address=公网IP   #FTP服务器Dnat外网端口。

END



本文作者:于吉昂

本文来源:IT那活儿(上海新炬王翦团队)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129494.html

相关文章

  • Nginx 搭建图片务器

    摘要:搭建图片服务器本章内容通过和搭建图片服务器。第二个部分是为了更好的体验上传,批量上传,回显功能的富文本编辑器。总结搭建服务器的思维实现上传图片的功能上传图片的功能源码搭建图片服务器到这里就结束了,有什么不足的地方,请赐教。 Nginx 搭建图片服务器 本章内容通过Nginx 和 FTP 搭建图片服务器。在学习本章内容前,请确保您的Linux 系统已经安装了Nginx和Vsftpd。 N...

    jas0n 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<