linux网络-网络文件共享服务

随笔2个月前发布 西西和顺顺
38 0 0

存储类型

存储类型分为三种:

直连式存储:Direct-Attached Storage,简称DAS
网络附加存储:Network-Attached Storage,简称NAS
存储区域网络:Storage Area Network,简称SAN

三种存储架构的应用场景:

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

FTP文件传输协议

1.FTP工作原理介绍

FTP(文件传输协议)是用于与远程网络之间传输文件的标准网络协议。基于C/S结构。
数据传输格式:二进制(默认)和文本。
双通道协议:命令和数据连接。数据端口号20(真实传输数据);命令端口号21(权限,认证)
1.两种模式(从服务器角度)

主动(PORT style):服务器主动连接客户端

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

被动(PASV style):服务器被动等待客户端连接

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

2.用户认证:

匿名用户:anonymous 或者 ftp
系统用户:在/etc/passwd中 ,超级管理员root除外
虚拟用户:只可以用来登录ftp ,不在/etc/passwd中

2.常见FTP相关软件

FTP服务器端软件 :Wu-ftpd、Proftpd、Pureftpd、Filezilla Server、Serv-U、Wing FTP Server、IIS 等。
vsftpd:Very Secure FTP Daemon,CentOS 默认的FTP服务器。 高速,稳定,下载速度是WU-FTP的两倍。
vsftpd官网: security.appspot.com/vsftpd.html

3.vsftpd软件介绍

vsftpd是“very secure FTP daemon”的缩写,是一个完全免费的、开放源代码的ftp服务器软件。
配置文件位置 : /etc/vsftpd/vsftpd.conf
用户和其共享目录:

匿名用户(映射为系统用户ftp )共享文件位置:/var/ftp
系统用户共享文件位置:用户家目录
虚拟用户共享文件位置:为其映射的系统用户的家目录

基本操作

点击查看代码
`安装服务端`
[root@localhost ~]#  yum install vsftpd -y     //安装 ftp 服务器
[root@localhost ~]#  systemctl start vsftpd    //开启服务

`客户端连接服务端`
[root@node2 ~]#  yum install ftp -y      //客户端安装FTP程序,安装后才能使用ftp命令

[root@node2 ~]#  ftp  172.16.235.55      // ftp 客户端工具    服务端地址
Connected to 172.16.235.55 (172.16.235.55).
220 (vsFTPd 3.0.2)
Name (172.16.235.55:root): ftp           //此处填写用户名  默认使用 ftp 或者匿名用户
331 Please specify the password.
Password:                                //默认没有密码
230 Login successful.                    //登录成功


`登录成功`
ftp> help   //可以使用 help 查看帮助
Commands may be abbreviated.  Commands are:

!		debug		mdir		sendport	site
$		dir		mget		put		size
account		disconnect	mkdir		pwd		status
append		exit		mls		quit		struct
ascii		form		mode		quote		system
bell		get		modtime		recv		sunique
binary		glob		mput		reget		tenex
bye		hash		newer		rstatus		tick
case		help		nmap		rhelp		trace
cd		idle		nlist		rename		type
cdup		image		ntrans		reset		user
chmod		lcd		open		restart		umask
close		ls		prompt		rmdir		verbose
cr		macdef		passive		runique		?
delete		mdelete		proxy		send

ftp> ls    //可以使用 ls 查看文件列表
227 Entering Passive Mode (172,16,235,55,186,69). //Passive消极被动,默认使用被动模式
150 Here comes the directory listing.
drwxr-xr-x    2 0        0               6 Jun 09  2021 pub
226 Directory send OK.

ftp> passive  //可以人为指定被动主动
Passive mode off.  //变为主动模式

4.vsftpd服务常见配置
配置文件位置:/etc/vsftpd/vsftpd.conf
修改默认命令端口
listen_port=端口号

点击查看代码
服务端:修改默认命令端口号
[root@localhost ~]#  vim /etc/vsftpd/vsftpd.conf    //随便一行插入
listen_port=9527                                    //默认21,修改为9527
[root@localhost ~]#  systemctl restart vsftpd       //重启服务
[root@localhost ~]#  ss -natp |grep vsftpd          //查看端口
LISTEN     0      32          :::9527                    :::*                   users:(("vsftpd",pid=43874,fd=4))

客户端:连接时需要指明 端口号
[root@node2 ~]#  ftp 172.16.235.55 9527        //固定格式:ftp  ip  端口号  ,端口号前不要加-p选项
Connected to 172.16.235.55 (172.16.235.55).
220 (vsFTPd 3.0.2)
Name (172.16.235.55:root): ftp
331 Please specify the password.
Password:
230 Login successful.                         //连接成功

匿名用户登录

点击查看代码
anonymous_enable=YES   //支持匿名用户,CentOS8 默认不允许匿名
no_anon_password=YES   //匿名用户略过口令检查 , 默认NO

匿名用户上传

点击查看代码
anon_upload_enable=YES        //匿名上传,注意:文件系统权限
anon_mkdir_write_enable=YES   //匿名建目录

NFS

NFS工作原理

NFS (Network File System) 网络文件系统,基于内核的文件系统。Sun 公司开发,通过使用 NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,基于RPC(Remote Procedure Call Protocol 远程过程调用)实现。

linux网络-网络文件共享服务

与FTP不同,FTP是普通的文件共享软件;而NFS 是文件系统,是操作系统内核来管理的。

NFS优势:节省本地存储空间,将常用的数据,如:/home目录,存放在NFS服务器上且可以通过网络访问,本地终端将可减少自身存储空间的使用

NFS软件介绍

在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。

1.软件包 (包括服务器端和客户端):

nfs-utils (nfs端口号 2049/tcp)
rpcbind (RPC端口号 111/tcp)

2.相关软件包(可不安装):tcp_wappers

3.NFS服务主要进程:

rpc.nfsd 最主要的NFS进程,管理客户端是否可登录
rpc.mountd 挂载和卸载NFS文件系统,包括权限管理
rpc.lockd 非必要,管理文件锁,避免同时写出错
rpc.statd 非必要,检查文件一致性,可修复文件

4.日志位置:/var/lib/nfs/

NFS共享配置文件格式

配置文件位置:/etc/exports

配置文件格式:

点击查看代码
/dir        主机1(opt1,opt2)     主机2(opt1,opt2)...
#共享目录 /绝对路径     共享给谁(权限)

例: 
/share    *    //表示将/share目录共享给任何主机 ,*代表任意(注意此时未给权限)
/share  192.168.72.0/24   //表示将/share目录共享给192.168.72.0网段内的任意主机

格式说明:

点击查看代码
1. 主机格式:
通配符:表示使用*通配所有客户端

单个主机:ipv4,ipv6,FQDN

网段:两种掩码格式均支持(内网情况下)
 172.18.0.0/255.255.0.0
 172.18.0.0/16

wildcards:主机名通配,例如:*.kgc.com,IP不可以
netgroups:NIS域的主机组,@group_name

2. 常用参数:
默认参数:ro,sync,root_squash,no_all_squash

读写权限
ro,rw 只读和读写

异步/同步
async:异步,数据变化后不立即写磁盘,先写入到缓冲区中,过一段时间再写入磁盘,性能高,安全性低
sync(1.0.0后为默认):同步,数据在请求时立即写入共享存储磁盘,性能低,安全性高

压缩权限
root_squash(默认):远程root映射为nfsnobody,UID为65534,CentOS8 为nobody,CentOS 7以前的版本为nfsnobody。
no_root_squash :远程root映射成NFS服务器的root用户。
all_squash :所有远程用户(包括root)都变成nfsnobody,CentOS8 为nobody。
no_all_squash (默认):保留共享文件的UID和GID。
anonuid和anongid:指明匿名用户映射为特定用户UID和组GID,而非nobody,可配all_squash使用。

NFS工具
exportfs
exportfs可用于管理NFS导出的文件系统

点击查看代码
exportfs -v   //查看本机所有NFS共享
exportfs -r   //重读配置文件,并共享目录

showmount
showmount用以查询NFS网络服务器的基本信息

点击查看代码
showmount  -e   // 查看本机发布的NFS共享目录
showmount  -e  服务器的ip  //查看NFS服务器上哪些目录被共享
showmount  -e  172.16.235.55  //显示IP地址为172.16.235.55的NFS服务器上的所有共享目录

mount.nfs
客户端NFS挂载
NFS相关的挂载选项:man 5 nfs

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...