网络文件共享

发布于:2024-05-06 ⋅ 阅读:(33) ⋅ 点赞:(0)

存储类型分三类

  • 直连式存储:DAS
  • 存储区域网络:SAN
  • 网络附加存储:NAS

三种存储架构的应用场景

  • DAS虽然比较古老了,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业
  • SAN多适用于文件服务器,用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低
  • NAS则适用于大型应用或数据库系统,缺点是成本高、较为复杂

FTP文件传输协议

FTP简介

FTP是一种用于在计算机网络上传输文件的标准协议,基于C/S结构。
通过FTP,用户可以在客户端和服务器之间进行文件的上传(上传到服务器)和下载(从服务器下载到本地计算机)操作

FTP工作原理

主动模式:

首先客户机会随机产生一个端口号主动去连接服务器的tcp21端口,如果服务器是主动模式那么服务器会主动开启20端口和客户端相连,然后在传数据

被动模式:

首先客户机会随机产生一个端口号主动去连接服务器的tcp21端口,如果服务器是被动模式,那么服务器会随机产生一个端口号,被动等待客户机来连接再发送数据

协议:tcp

端口号:20 21 21是命令端口 20是数据端口

ftp软件:vsftpd filezilla

用户认证

  • 匿名用户:ftp,anonymous
  • 系统用户:linux用户在 /etc/passwd 密码/etc/shadow
  • 虚拟用户:只可以用来登录ftp

vsftp

[root@localhost ~]# yum install vsftpd -y
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl status vsftpd
[root@localhost ~]# rpm -qc vsftpd 
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf               #配置文件

服务端安装vsftp

[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install vsftpd -y
[root@localhost ~]# systemctl start vsftpd

客户端连接服务端

[root@localhost ~]# ftp 192.168.118.20
Connected to 192.168.118.20 (192.168.118.20).
220 (vsFTPd 3.0.2)
Name (192.168.118.20:root): 

修改默认命令端口号

#服务端
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf 
#
# This directive enables listening on IPv6 sockets. By default, listening
# on the IPv6 "any" address (::) will accept connections from both IPv6
# and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6
# sockets. If you want that (perhaps because you want to listen on specific
# addresses) then you must run two copies of vsftpd with two configuration
# files.
# Make sure, that one of the listen options is commented !!
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

listen_port=227   #修改端口号为227


[root@localhost ~]# systemctl restart vsftpd     #重启服务
#客户端
[root@localhost ~]# ftp 192.168.118.20    #修改端口号后不加端口号会拒绝连接
ftp: connect: 拒绝连接
ftp> 
[root@localhost ~]# ftp 192.168.118.20 227
Connected to 192.168.118.20 (192.168.118.20).
220 (vsFTPd 3.0.2)
Name (192.168.118.20:root):

NFS

NFS(Network File System 网络文件服务) 文件系统(软件)文件的权限
NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。
通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源
NFS 也是 NAS 存储 设备必然支持的一种协议

NFS原理

请添加图片描述

NFS优势

节省本地存储空间,将常用的数据如:/home目录,存放扎起NFS服务器上

通过网络访问,将减少本地磁盘的使用率

NFS软件相关

软件包:nfs-utils(包括服务器和客户端相关工具,CentOS8 最小化安装时默认没有安装)

相关软件包:rpcbind(必须),tcp_wrappers

yum install -y nfs-utils rpcbind #安装服务

端口:2049(nfsd), 其它端口由portmap(111)分配

RPCbind 111

NFS相关文件位置

日志

/var/lib/nfs

配置文件

/etc/exports

/etc/exports.d/*.exports

NFS共享配置文件

#文件路径
/etc/eports
#文件内容
/dir     主机1(opt,opt2)
共享文件夹        域名、ip....

vim /etc/exports
...
共享文件夹     允许访问的主机[权限]     #添加的内容

exportfs

exportfs是一个用于在 Linux 操作系统上管理 NFS(Network File System)导出的命令

-v 查看本机所有NFS共享
-r 重读配置文件,并共享目录
-a 输出本机所有共享
-au 停止本机所有共享

showmount

showmount -a 显示所有共享的目录
showmount -e 服务器主机名或ip地址 显示特定NFS服务器上的共享目录
showmount -l 仅显示挂载点的主机名或ip地址

模拟实现NFS

#服务端
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install nfs-utils rpcbind -y
[root@localhost ~]# mkdir /test
[root@localhost ~]# touch /test/t1
[root@localhost ~]# vim /etc/exports
/test 192.168.118.0/24
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# showmount -e 192.168.118.20
Export list for 192.168.118.20:
/test 192.168.118.0/24
[root@localhost ~]# exportfs -v
/test         	192.168.118.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)

#客户端
[root@localhost ~]# mount 192.168.118.20:/test /mnt
[root@localhost ~]# cd /mnt
[root@localhost mnt]# ls
t1