smb和nfs双栈协议共享目录

1 简介

NFS和SAMBA协议都是文件共享,Linux客户端常用于NFS协议访问远程共享目录,Windows客户端常用于SAMBA协议访问远程共享目录。

2 环境

合计使用三台服务器,服务器都位于同一个子网(10.0.0.0/19)、同一个安全组。共享目录是/var/nfsshare,文件共享用户是smbuser。

  • 一台Linux服务器同时用作nfs server和samba server,IP是10.0.14.179。
  • 一台Windows服务器作为samba客户端,IP是10.0.3.51。
  • 一台Linux服务器作为samba客户端,IP是10.0.4.78。

在这里插入图片描述

3 部署NFS Server和SAMBA Server

3.1 部署NFS Server

3.1.1 安装软件包

yum install nfs-utils -y

3.1.2 创建NFS共享用户和NFS共享目录

创建NFS共享用户smbuser:

useradd smbuser
password smbuser

mkdir -p /var/nfsshare
chown -R smbuser:smbuser /var/nfsshare

在这里插入图片描述
在这里插入图片描述

3.1.3 设置NFS共享配置

共享目录是/var/nfsshare,NFS客户端子网是10.0.0.0/19,匿名用户是刚刚创建Linux账号smbuser(uid和gid从截图得知都是1001)。

export dir=/var/nfsshare
export network=10.0.0.0/19
export anonuid=1001

cat > /etc/exports << EOF
$dir $network(rw,sync,anonuid=$anonuid,anongid=$anonuid,all_squash)
EOF
cat /etc/exports

在这里插入图片描述

3.1.4 启动NFS Server

systemctl start rpcbind
systemctl start nfs-server

3.2 部署SAMBA Server

3.2.1 安装软件包

yum install samba samba-client samba-common -y

3.2.2 创建SAMBA账号

新增smb用户和密码:

smbpasswd -a smbuser

3.2.3 设置SAMBA共享配置

共享目录在本地是/var/nfsshare,对外名称是samba_share。

export dir=/var/nfsshare

cat > /etc/samba/smb.conf << EOF
[samba_share]
    path = $dir
    create mode = 0777
    directory mode = 0777
    writable = yes
    guest ok = yes
EOF

3.2.4 启动SAMBA Server

systemctl start smb

4 客户端挂载

NFS和SAMBA的服务端的IP是:10.0.14.179。

4.1 Windows客户端挂载NFS Server

在文件夹地址写入:\10.0.14.179\samba_share,输入账号smbuser及其密码,就能登录共享目录。
在这里插入图片描述
创建文件,输入英文和中文进行测试。
在这里插入图片描述

4.2 Linux客户端挂载NFS Server

mkdir -p /mnt/nas
mount -t nfs 10.0.14.179:/var/nfsshare /mnt/nas

在这里插入图片描述

5 小结

本文介绍同一个目录以NFS和SAMBA协议的方式共享出去。

### SMB NFS 的定义 #### SMB (Server Message Block) SMB 是一种用于局域网上共享文件、打印机、串行端口及通信抽象的协议。最初由 IBM 开发,后来成为微软 Windows 操作系统的标准网络协议之一。SMB 协议允许应用程序之间相互通信,并提供客户端访问服务器上的资源功能。 #### NFS (Network File System) NFS 是一种分布式文件系统协议,主要用于 Unix 系统之间的文件共享,在 Linux 中也被广泛支持。通过 NFS 客户端可以像本地磁盘一样挂载远程计算机上的目录并对其进行读写操作[^1]。 ### 主要差异 - **工作模式** - SMB 使用客户机/服务器架构,所有的请求都发送到指定的服务端处理;而 NFS 同样采用类似的模型但是更加注重于透明性简易性。 - **平台兼容性** - SMB 更适合 Microsoft Windows 平台及其衍生版本间的交互,尽管也有跨平台实现如 Samba; - NFS 原生适用于 UNIX/Linux 类型的操作系统环境,不过现在也能较好地与其他多种 OS 集成[^2]。 - **安全性机制** - SMB 提供了较为完善的身份验证方式,包括 NTLMv2 或者 Kerberos 认证等高级安全特性; - 对于 NFS 来说,默认情况下只提供了基本的安全措施,比如基于 IP 地址或主机名的信任关系来控制谁能连接至导出的文件夹。为了增强其安全性通常会结合其他工具一起部署,例如防火墙规则或是使用 GSS-API 进行加密传输[^3]。 - **性能考量** - 在某些特定条件下,特别是在较新的 Windows 版本中优化后的 SMB 可能会在吞吐量方面优于 NFS; - 不过当涉及到大规模并发读取时,尤其是在 POSIX 兼容性强的需求下,NFS 表现出更好的效率响应速度。 ```bash # 示例:挂载 NFS 文件系统 sudo mount -t nfs server:/exported/path /mnt/local_point/ # 示例:连接 SMB/CIFS 共享 sudo mount.cifs //server/sharename /mnt/cifsmountpoint -o username=USER,password=PASSWD ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值