Windows Server之浅谈SMB以及SMB小案例分享

SMB由来

服务器消息区块(英语:Server Message Block,缩写为SMB,服务器消息区块),又称网络文件共享系统(英语:Common Internet File System,缩写为CIFS),一种应用层网络传输协议,由微软开发,主要功能是使网络上的机器能够计算机文件、打印机、串行端口和通讯等资源。它也提供经认证的进程间通信机能。它主要用在装有Microsoft Windows的机器上,在这样的机器上被称为Microsoft Windows Network。

SMB版本


OS


Windows 10

WS 2016


Windows 8.1

WS 2012 R2


Windows 8

WS 2012


Windows 7

WS 2008 R2


Windows Vista

WS 2008


Previous

versions


Windows 10

WS 2016


SMB 3.1.1


SMB 3.0.2


SMB 3.0


SMB 2.1


SMB 2.0


SMB 1.0


Windows 8.1

WS 2012 R2


SMB 3.0.2


SMB 3.0.2


SMB 3.0


SMB 2.1


SMB 2.0


SMB 1.0


Windows 8

WS 2012


SMB 3.0


SMB 3.0


SMB 3.0


SMB 2.1


SMB 2.0


SMB 1.0


Windows 7

WS 2008 R2


SMB 2.1


SMB 2.1


SMB 2.1


SMB 2.1


SMB 2.0


SMB 1.0


Windows Vista

WS 2008


SMB 2.0


SMB 2.0


SMB 2.0


SMB 2.0


SMB 2.0


SMB 1.0


Previous

versions


SMB 1.0


SMB 1.0


SMB 1.0


SMB 1.0


SMB 1.0


SMB 1.0

备注:早期的Windows 10 和WS 2016 TP的SMB版本是3.1

如何查看SMB版本

在Windows 8或WS 2012 以上,用带管理员的Powershell输入:

Get-SmbConnection

SMB各个版本介绍可以参考:https://en.wikipedia.org/wiki/Server_Message_Block#SMB_3.1.1

SMB 3.1.1 新特性可以参考:https://blogs.technet.microsoft.com/josebda/2015/05/05/whats-new-in-smb-3-1-1-in-the-windows-server-2016-technical-preview-2/

其中比较关注的是SMB 3.1.1 加密算法默认为AES-128-GCM,之前SMB 3.0是用AES-128-CCM。

关于客户端SMB升级问题

目前查找的资料显示,客户端自带的SMB协议没办法通过升级来提高SMB版本,也就是意味着在企业规划文件服务器的时候,需要考虑到企业客户端SMB版本,对应的SMB Server,如上面SMB版本列表。

关于SMB Server关闭低版本SMB支持操作:

在Windows 7和WS 008 R2,禁用SMBV2,会停用以下功能:

  1. 请求复合 - 允许将多个SMB 2请求作为单个网络请求发送
  2. 更大的读取和写入 - 更好地使用更快的网络
  3. 缓存文件夹和文件属性 - 客户端保留文件夹和文件的本地副本
  4. 持久句柄 - 如果存在临时断开连接,则允许连接透明地重新连接到服务器
  5. 改进的消息签名 - HMAC SHA-256将MD5替换为散列算法
  6. 提高文件共享的可扩展性 - 每个服务器的用户数,共享数和打开文件数大大增加
  7. 支持符号链接
  8. 客户机操作锁租赁模式 - 限制客户机和服务器之间传输的数据,提高高延迟网络的性能并增加SMB服务器可扩展性
  9. 大MTU支持 - 完全使用10Gigabye(GB)以太网
  10. 提高能源效率 - 向服务器打开文件的客户端可以睡眠

在Windows 8 和WS 2012 禁用SMBv3.会停用以下功能:

  1. 透明故障转移 - 客户端在维护或故障转移期间重新连接而不中断群集节点
  2. Scale Out - 对所有文件集群节点上的共享数据的并发访问
  3. 多通道 - 如果客户端和服务器之间有多条路径,则可以聚合网络带宽和容错
  4. SMB直接 - 增加了RDMA网络支持,以实现非常高的性能,低延迟和低CPU利用率
  5. 加密 - 提供端到端加密,防止在不可信的网络上被窃听
  6. 目录租赁 - 通过缓存改进分支机构的应用程序响应时间
  7. 性能优化 - 小型随机读/写I / O的优化

在windows 8或WS 2012以上版本可以用PowerShell输入:

禁用SMBV2和SMBV3

Set-SmbServerConfiguration -EnableSMB2Protocol $false

禁用SMBV1

Set-SmbServerConfiguration -EnableSMB1Protocol $false

PS:如果要恢复启用,就用$true值。

在Windows Vista或WS 2008以上版本用PowerShell输入:

禁用SMBV2和SMBV3

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force

禁用SMBV1

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 0 -Force

PS:Value的值,0表示禁用 ,1表示启用

在客户端禁用SMB协议

禁止SMBV1

sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start= disabled

启用SMBV1

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb10 start= auto

禁用SMBV2和v3

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
sc.exe config mrxsmb20 start= disabled

启用SMBV2和v3

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb20 start= auto

分享下小案例

环境:Windows Server 2012 R2文件服务器

客户端:Windows 7+10

问题描述:在服务器上设置共享文件夹,一开始用Win10客户端测试共享文件夹,正常,后续没继续测试Win7是否正常可以访问,后来开放给用户使用,发现Win7用户无论怎么输入账号和密码,都显示拒绝访问,权限正常。

报错图

导致问题的关键:共享文件夹启动加密数据

在2012中加密数据访问是加密数据来保护数据传输过程的安全性,以防止篡改和窃听攻击,用的加密算法是AES-128-CCM。所以旧版本SMB2是用HMAC-SHA256根本就不支持。

解决方法

方法1.去除加密数据访问,即可。(如果不考虑加密问题,则去除选择即可)

方法2.如果考虑加密问题,又想让SMBV2版本的客户端能够正常访问,则在服务器上Powershell输入:

Get-SmbServerConfiguration

RejectUnencryptedAccess参数是如果客户端尝试链接到加密共享文件夹,不支持加密算法的客户端是否被拒绝访问。默认值是True

我们可以将其值配置为false

在powershell 输入:

Set-SmbServerConfiguration -RejectUnencryptedAccess $False

结果就可以了

PS:方法2的命令是对整个SMBServer配置的,此方法一般是作为过渡用的,如果客户端版本都是SMB 3.1,建议把RejectUnencryptedAccess配置为True

如果对SMB 感兴趣可以参考:https://blogs.technet.microsoft.com/josebda/2015/04/30/smb3-networking-links-for-windows-server-2012-r2/

时间: 2024-08-06 07:59:15

Windows Server之浅谈SMB以及SMB小案例分享的相关文章

windows server 2008安装wampserver后几种小问题个人总结

问题:安装wampserver时提示缺失msvcr110.dall文件 解决方法:安装Visual C++ Redistributable for Visual Studio 2012 问题:虚拟机ping不通请求超时 解决方法:关闭虚拟机windows防火墙 问题:无法访问虚拟机php页面提示you don't have permission to access 解决方法:apache2.4权限配置和以前版本不一样,找到httpd.conf, 在Require local下面加一行Requir

[Android 泥水匠] Android基础 之一:浅谈Android架构到HelloWorld案例的剖析

作者:泥沙砖瓦浆木匠 网站:http://blog.csdn.net/jeffli1993 个人签名:打算起手不凡写出鸿篇巨作的人,往往坚持不了完成第一章节. 交流QQ群:[编程之美 365234583]http://qm.qq.com/cgi-bin/qm/qr?k=FhFAoaWwjP29_AonqzL0rpdQAjjqlHQQ 如果我的帮到了你,是否乐意捐助一下或请一杯啤酒也好呢?有你支持,干的更好~ 点这参与众筹 我的支付宝:13958686678 1.1前言 泥瓦匠又和大家见面了,在移

浅谈“观察者模式”那点小事儿

首先先了解一下什么是"观察者模式"? 所谓"观察者模式"又称"发布订阅模式",是以一对多的形式存在的:当一个物体方生变化的时候,会通知所有物体去接受这个事件.例如:当服务端发送消息的时候,会通知所有客户端的用户都会接受到这个消息. 官方一点来说:这是一种创建松散耦合代码的技术.它定义对象间 一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知.由主体和观察者组成,主体负责发布事件,同时观察者通过订阅这些事件来观察该主体

浅谈高大上的微信小程序中渲染html内容—技术分享

大部分Web应用的富文本内容都是以HTML字符串的形式存储的,通过HTML文档去展示HTML内容自然没有问题.但是,在微信小程序(下文简称为「小程序」)中,应当如何渲染这部分内容呢? 解决方案 wxParse 小程序刚上线那会儿,是无法直接渲染HTML内容的,于是就诞生了一个叫做「 wxParse 」的库.它的原理就是把HTML代码解析成树结构的数据,再通过小程序的模板把该数据渲染出来. rich-text 前端精品教程:百度网盘下载 后来,小程序增加了「rich-text」组件用于展示富文本内

浅谈类加载器与类加载案例解析

一.示意图 注:Car car2 = new Car; 其中car1作为引用类型变量,保存在Java栈,而对象本身保存在堆中.类加载器只负责将.class文件加载到内存中,此后JVM将根据这个数据文件封装成对应的数据结构(类对象),虽然类对象也是对象,但是HotSpot虚拟机将其放在了方法区中. 二.类加载器——双亲委托机制和沙箱安全 类加载器分为四类(主要为三类):启动类加载器.扩展类加载器.应用类加载器和自定义类加载器,本文不对自定义类加载器做介绍. 你有没有想过,问什么你没有定义过Stri

浅谈ELK日志分析平台

作者:珂珂链接:https://zhuanlan.zhihu.com/p/22104361来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 小编的话 "技术干货"系列文章意在分享技术牛人的知识干货,每期主题都不一样哟!期待各位读者在文后发表留言,来一场技术上的交流和思想上的碰撞! 2016年7月20日,本期品高云公开课由叶春草带来"可视化案发现场--浅谈ELK日志分析平台"的分享. 分享嘉宾 叶春草现就职于品高云软件技术支持工程师.就职

浅谈Windows Server APPFABRIC

    hi,everyone !真的是好久好久没有update blog了,因为最近忙着备考,没有时间对<数据结构与算法>进行研究学习了.所以,blog一直未更新.today is Friday,心里比较轻松,(哈哈,上班族懂我的感受),有时间写篇技术文章了.正好,最近研究了一些新技术,这篇文章权当对技术的梳理归纳吧.子曰:"温故而知新,可以为师也."对于knowledge,我们一定要时常复习.thought.归纳.practice.只有这样,我们才能真正的掌握它.Ein

Windows Server 2016存储复制浅谈

存储复制是Windows Server 2016中新增的一项功能,它是Windows Server上面原生自带的块级别复制技术,可以实现分区对分区,单机对单机,延伸群集,跨群集复制等灾备场景的复制,帮助组织更好的提高业务连续性,存储复制技术实现为非对称存储无关性,在单机对单机,以及群集架构中,各节点可分别连接各自存储. 存储复制技术的主要技术特点 使用SMB 3.1.1通讯协议 支持同步复制与非同步复制 复制时会需要日志磁盘与数据磁盘,数据先写入日志磁盘,再Commit数据磁盘 每次复制的最小单

浅谈下一代Windows Server的RDS

Windows 10的正式版即将在本月正式发布了,而目前Windows Server的下一版本还处于技术预览版,那么到底在下一版本的RDS中有什么新变化呢? 在这里我其实更关注vGPU的变化,因为在建筑设计行业,虚拟桌面有不可言语的很多优势,但对于设计者来说要真正在虚拟桌面上搞设计,那么显卡的支持是非常重要的. 下面我们先看看在下一代Windows Server的RDS主要变化的地方,然后再来说下vGPU这个话题. 在虚拟主机和来宾主机都是Windows Server下一版本和Windows10