Existen diversos protocolos para realizar tares especificas en Windows Server y uno de ellos es el protocolo SMB (Server Message Block - Protocolo de Bloque de Mensajes de Servidor) el cual está enfocado en una de las tareas más populares como lo es la transferencia de archivos. El protocolo se remonta a más de 20 años desde que se desarrolló la versión SMB1 y en la actualidad disponemos de la versión SMB3 la cual mejora notablemente en seguridad y fiabilidad de la información.
El protocolo SMB es un protocolo de uso compartido de archivos llamado en otros términos protocolo SMB de Microsoft, está integrado por un grupo de paquetes de mensajes los cuales define la versión del protocolo o el protocolo del sistema común de archivos de Internet (CIFS).
- Archivo y registro de bloqueo
- Gestión de servidores de protocolo SMB de Microsoft en la red o exploración de red local
- Manejo extendido de atributos de archivos
- Negociación dialectal
- Permite realizar tareas de impresión en la red local
- Notificación de cambio de archivo y directorio para un mayor control
- Soporte Unicode
- Paquetes de control de sesión: su tarea es otorgar una conexión a los recursos compartidos del servidor
- Paquetes de acceso a archivos: su función es acceder y trabajar en los archivos y directorios en el servidor remoto
- Paquetes de mensajes generales: su acción es la de enviar datos para imprimir colas, listas de correo y generar datos sobre el estado de las colas de impresión.
- Soporte para enlaces simbólicos
- Modelo de arrendamiento de cliente oplock
- Soporte para versiones anteriores de SMB
- Lecturas y escrituras más amplias para optimización de tareas
- Mejor utilización de la red
- Escalabilidad mejorada para el intercambio de archivos
Con esto en mente vamos a ver cómo activar tanto SMB1 y SMB2 en Windows Server 2022.
1. Activar SMB1 en Windows Server 2022 desde Panel de control
Vamos a:
- Programas
- Programas y características
Damos clic en "Activar o desactivar las características de Windows" y esto nos redirecciona al Administrador del servidor, allí veremos lo siguiente:
Clic en Siguiente y activamos la casilla "Instalación basada en roles o en características":
En la siguiente ventana seleccionamos el servidor:
En la siguiente ventana veremos las opciones de roles para Windows Server 2022:
En este caso no agregamos algún rol, vamos a la sección "Características" y activamos la casilla "Compatibilidad con el protocolo para compartir archivos SMB 1.0/CIFS", desplegamos sus opciones y activamos las casillas deseadas "Cliente SMB 1.0/CIFS/ Servidor SMB 1.0/CIFS ":
Clic en Siguiente para ver un resumen de la característica a instalar:
Clic en Instalar para iniciar el proceso:
Al concluir esta tarea veremos lo siguiente:
Reinicia Windows Server 2022 para completar el proceso ya que es necesario:
2. Activar SMB1 en Windows Server 2022 desde PowerShell
Abrimos PowerShell como administrador:
En primer lugar, vamos a detectar el protocolo SMB1 con el comando:
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Allí vemos detalles puntuales del protocolo, habilitamos SMB1 en Windows Server 2022 con el comando:
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Esto cargara todos los complementos necesarios y al finalizar veremos lo siguiente:
3. Activar SMB2 en Windows Server 2022 desde PowerShell
Para activar este protocolo en Windows Server 2022 vamos a abrir PowerShell como administrador:
Vamos a detectar el protocolo SMB2 con el comando:
Get-SmbServerConfiguration | select EnableSMB2Protocol
Ahora lo habilita SMB2. Ingresamos la letra S para confirmar el proceso.
Set-SmbServerConfiguration –EnableSMB2Protocol $true
En esta misma consola de PowerShell vamos a detectar el servidor SMB1:
Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
Este comando nos da detalles completos sobre el servidor SMB1, para habilitarlo desde acá, el servidor SMB1, ejecutamos:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1
De la misma manera vamos a detectar el servidor SMB2:
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
Para habilitar el servidor SMB2 ejecutamos:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1
4. Activar SMB1 y SMB2 en Windows Server 2022 desde Editor de registros
Antes de ejecutar este proceso es aconsejable crear un punto de restauración o copia de seguridad, luego de esto accedemos al editor de registros:
Ahora vamos a la ruta "HKEY_LOCAL_MACHINE - SYSTEM - CurrentControlSet - Services - LanmanServer - Parameters":
Allí encontramos los valores SMB1 y SMB2, para habilitarlos, damos doble clic sobre cada uno e ingresa 1 en el campo Información del valor para que su estado pase a ser habilitado. Aplica los cambios.
5. Activar SMB1 y SMB2 en Windows Server 2022 desde CMD
Otro de los métodos disponibles es la consola del símbolo del sistema, accedemos a CMD:
,Para detectar SMB1 ejecutamos:
sc.exe query lanmanworkstation
Habilitamos SMB1 con el siguiente comando:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
Para detectar SMB2 ejecutamos:
sc.exe query lanmanworkstation
Para habilitar SMB2 usamos el comando:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
6. Activar SMB1 y SMB2 en Windows Server 2022 desde PowerShell
Finalmente podemos recurrir de nuevo a PowerShell, abrimos PowerShell como administradores y para activar SMB1 ejecutamos:
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Al finalizar veremos lo siguiente. Allí ingresamos la letra Y para reiniciar el equipo o N para hacerlo más adelante.
Ahora activamos SMB2 con el comando. Con la letra S confirmamos el proceso.
Set-SmbServerConfiguration -EnableSMB2Protocol $true
Estos son los métodos que Solvetic te da para activar SMB1 y SMB2 en Windows Server 2022.