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

article/2025/9/20 1:54:59

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

gs_h关注4人评论89230人阅读2017-01-23 14:45:45

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输入:

<span style="color:#333333"><span style="color:black"><code class="language-ps">Get-SmbConnection</code></span></span>

clip_p_w_picpath001[4]

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

<span style="color:#333333"><span style="color:black"><code class="language-ps">Set-SmbServerConfiguration -EnableSMB2Protocol $false</code></span></span>

禁用SMBV1

<span style="color:#333333"><span style="color:black"><code class="language-ps">Set-SmbServerConfiguration -EnableSMB1Protocol $false</code></span></span>

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

 

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

禁用SMBV2和SMBV3

<span style="color:#333333"><span style="color:black"><code class="language-ps">Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force</code></span></span>

禁用SMBV1

<span style="color:#333333"><span style="color:black"><code class="language-ps">Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 0 -Force</code></span></span>

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

 

在客户端禁用SMB协议

禁止SMBV1

<span style="color:#333333"><span style="color:black"><code class="language-ps">sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi</code></span></span>
<span style="color:#333333"><span style="color:black"><code class="language-ps">sc.exe config mrxsmb10 start= disabled</code></span></span>

启用SMBV1

<span style="color:#333333"><span style="color:black"><code class="language-ps">sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb10 start= auto</code></span></span>

禁用SMBV2和v3

<span style="color:#333333"><span style="color:black"><code class="language-ps">sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
sc.exe config mrxsmb20 start= disabled</code></span></span>

启用SMBV2和v3

<span style="color:#333333"><span style="color:black"><code class="language-ps">sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb20 start= auto</code></span></span>

 

分享下小案例

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

客户端:Windows 7+10

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

报错图

clip_p_w_picpath001[6]

clip_p_w_picpath001[8]

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

clip_p_w_picpath001[10]

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

解决方法

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

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

<span style="color:#333333"><span style="color:black"><code class="language-ps">Get-SmbServerConfiguration</code></span></span>

clip_p_w_picpath002[4]

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

我们可以将其值配置为false

在powershell 输入:

<span style="color:#333333"><span style="color:black"><code class="language-ps">Set-SmbServerConfiguration -RejectUnencryptedAccess $False</code></span></span>

clip_p_w_picpath003[4]

结果就可以了

clip_p_w_picpath004[4]

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/


http://chatgpt.dhexx.cn/article/M3MVKeGE.shtml

相关文章

linux——SMB文件共享及应用实例

SMB文件共享 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件&#xff0c;由服务器及客户端程序构成。SMB(Server Messages Block&#xff0c;信息服务块)是一种在局域网上共享文件和打印机的一种通信协议&#xff0c;它为局域网内的不同计算机之间提供文件及打印机等资源…

Linux-smb服务器搭建

Linux-smb服务器搭建 wget安装 rpm源获取地址&#xff1a;https://mirrors.163.com/centos/7.9.2009/os/x86_64/Packages/ 阿里云Yum源配置 1.可以移除默认的yum仓库&#xff0c;也就是删除 /etc/yum.repos.d/底下所有的.repo文件&#xff08;踢出国外的yum源&#xff09; 2…

Windows搭建SMB服务

Windows搭建SMB服务 本文介绍在windows本地环境上搭建SMB服务实现文件共享 配置服务 在本地机上以Windows10举例 &#xff1a;在控制面板 -->程序–>程序和功能–>启用或关闭Windows功能–>SMB 1.0/cifs file sharing support勾选SMB 1.0/CIFS Client和SMB 1.0/CI…

windows中的文件共享(SMB服务)

目录 SMB 如何进行文件共享 默认共享 默认共享盘符挂载 关闭默认共享 关闭共享服务 net sahre 查看共享 net share /del 共享名 删除共享 \\ip地址 访问共享 \\ip地址\c$ …

win10 smb共享硬盘

如果一台电脑里存放了电影&#xff0c;其它设备想要播放&#xff0c;可以通过远程看&#xff08;会卡&#xff09;、ftp下载后看&#xff08;麻烦&#xff09;、U盘拷贝&#xff08;麻烦&#xff09; 怎么共享win10的内容给其它设备&#xff0c;像访问本地硬盘似的呢 通过smb共…

Windows电脑SMB共享设置方法

SMB简介&#xff1a; SMB&#xff08;Server Message Block&#xff09;(*nix平台和Win NT4.0又称CIFS)协议是Windows平台标准文件共享协议&#xff0c;Linux平台通过samba来支持。SMB最新版本v3.0&#xff0c;在v2.0基础上针对WAN和分布式有改进。 建议使用原版wind…

Ubuntu搭建SMB服务器,并共享文件夹

一、Ubuntu安装步骤&#xff1a; 1.ubuntu安装samba sudo apt-get install samba 2.创建文件夹/home/share&#xff0c;并修改权限为777 mkdir /home/share chmod 777 /home/share 3.修改Samba配置文件&#xff0c;无账号密码直接访问共享文件夹 sudo vim /etc/samba/smb.co…

利用SMB协议实现局域网内设备文件的共享

文章目录 参考资料说明步骤1&#xff1a;[windows]开启SMB协议步骤2&#xff1a;[windows]创建新的用户账号步骤3&#xff1a;[windows]共享文件夹属性-共享-共享属性-共享-高级共享 步骤4&#xff1a;[windows]查看共享文件的主机在局域网内的IP地址步骤5&#xff1a;[ipad]打…

Windows 之 win SMB(smb) 功能的开启设置和使用的简单说明

Windows 之 win SMB(smb) 功能的开启设置和使用的简单说明 目录 Windows 之 win SMB(smb) 功能的开启设置和使用的简单说明 一、简单介绍 二、演示环境 二、SMB&#xff08;smb&#xff09;服务的开启 1、找到 控制面板 2、打开 控制面板&#xff0c;找到 “程序” 之类…

永恒之蓝(ms17-010)复现

漏洞简介&#xff1a;Eternalblue通过 TCP 端口445和139来利用SMBv1和NBT中的远程代码执行漏洞&#xff0c;恶意代码会扫描开放445文件共享端口的windows机器&#xff0c;无需用户任何操作&#xff0c;只要开机上网&#xff0c;就能执行恶意操作。 SMB一开始的设计是在NetBIOS…

如何使用smb共享文件(win10),可多人同时下载

本文为转载&#xff1a;SMB文件共享教程 - 知乎 Server Message Block -- SMB&#xff0c;是一种文件共享协议。当文件原件在你的A电脑上&#xff0c;而你想在局域网下用你的手机、iPad或是另一台电脑来访问A电脑上的该文件时&#xff0c;你可能需要用到SMB共享。在本文中假设我…

对话机器人之Sparrow

每天给你送来NLP技术干货&#xff01; 来自&#xff1a;NLP日志 提纲 1 简介 2 Sparrow 3 总结 参考文献 点击这里进群—>加入NLP交流群 1 简介 DeepMind提出的Sparrow&#xff0c;相对于以往的方法&#xff0c;是一种更加有用&#xff0c;准确并且无害的信息检索对话机器人…

聊天机器人综合介绍

NLP主流方向 技术使用seq 2seqAttention 第一章聊天机器人综合介绍 第二章NLP基础 第三章检索类聊天机器人 第四章生成类聊天机器人 第五章pytorch基础 第六章聊天机器人发展方向 基于Pytorch聊天机器人代码实战 掌握NLP基础知识 熟悉和使用pytorch 掌握NLP主流SeqSeqAttention…

语音对话机器人,百行Python代码就能轻松实现

前言 siri是由苹果开发的人工智能系统,很多人在无聊的时候就喜欢调戏siri,不过反倒被siri给调戏了。 其实咱们用Python也可以实现一个类似siri的对话机器人。 基本环境配置 版本&#xff1a;Python3 系统&#xff1a;Windows 原理 许多现代语音识别系统会在HMM识别之前使…

上篇 | 如何设计一个多轮对话机器人

导语&#xff1a;多轮对话聊天机器人&#xff0c;作为人工智能的典型应用场景&#xff0c;也是一项极具挑战的任务&#xff0c;不仅涉及多方面异构知识的表示、抽取、推理和应用&#xff0c;还涉及包括自然语言理解在内的其他人工智能核心技术的综合利用 简介与相关技术调研 目…

聊天机器人概述

目录 <span style"color:#333333"><span style"background-color:#f5f5f5">1.前言 2.机器人 3.聊天机器人 4.分类 5.好的聊天机器人应该具备的特点 6.基于模板的聊天机器人 7.检索式聊天机器人 8.生成式聊天机器人 9.参考文献 </span>&l…

手把手教你用python几行代码打造人工智能对话机器人,还说说话!

介绍 这里介绍一个简单的交互式人工智能机器人对话。之前大家可能看过我的文章&#xff0c;是一款qq机器人&#xff08;可点击传送机器人专栏&#xff09;项目介绍&#xff0c;那个也许做起来稍微麻烦&#xff0c;我也有用b站一行一行代码教过。那么难的可能大家接受比较难&…

对话机器人-检索与生成模型

综述 从应用的角度来说&#xff0c;对话机器人可以分为三个类别&#xff0c;分别是闲聊机器人&#xff0c;qa机器人以及任务型机器人。本系列主要介绍闲聊机器人。由于本文的内容主要是对对话机器人做一个简单的介绍&#xff0c;所以都是一些简单的介绍&#xff0c;详细的内容…

NLP中的对话机器人——问答机器人的应用场景

引言 本文是七月在线《NLP中的对话机器人》的视频笔记&#xff0c;主要介绍FAQ问答型聊天机器人的实现。 FAQ问答机器人 FAQ就是一些常见问题与回答&#xff0c;比如https://letsencrypt.org/docs/faq/。 但是我们要做的不是一问一答形式的&#xff0c;而是类似stackoverfl…

机器人是如何实现对话的?

对话机器人作为近年来愈发普遍的产品&#xff0c;以各种各样的形态出现我们的生活中&#xff1a;电话客服、文本客服、超市里的导购机器人等&#xff1b;那这些机器人如何实现和我们人类的智能对话的呢&#xff1f;本文将用显浅易懂的文字讲述机器人的对话原理与产品设计要点。…