Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SMBv1 is disabled in Windows 10 Fall Creators Update #382

Closed
lmakarov opened this issue Nov 10, 2017 · 8 comments

Comments

Projects
None yet
3 participants
@lmakarov
Copy link
Member

commented Nov 10, 2017

SMBv1 is not installed by default in Windows 10 Fall Creators Update and Windows Server, version 1709
https://support.microsoft.com/en-us/help/4034314/smbv1-is-not-installed-windows-10-and-windows-server-version-1709

How to detect, enable and disable SMBv1, SMBv2, and SMBv3 in Windows and Windows Server
https://support.microsoft.com/en-us/help/2696547/how-to-detect-enable-and-disable-smbv1-smbv2-and-smbv3-in-windows-and

Symptoms:

{ simple }  » fin vm start                                                         /c/work/simple
Starting "docksal"...
(docksal) Check network to re-create if needed...
(docksal) Waiting for an IP...
Machine "docksal" was started.
Waiting for SSH to be available...
Detecting the provisioner...
Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command.
Enabling automatic *.docksal DNS resolver...
Clearing DNS cache...
Configuring SMB shares...
Enter your Windows account password:
mount: mounting //192.168.64.1/docksal-c on /c failed: Host is down
exit status 255
Mount command failed... Trying an alternative method...
mount: mounting //192.168.64.1/docksal-c on /c failed: Host is down
exit status 255
 ERROR:  SMB share mount failed.
         Make sure your Windows password is correct and run fin vm restart to try again.
mount: mounting //192.168.64.1/docksal-d on /d failed: Host is down
exit status 255
Mount command failed... Trying an alternative method...
mount: mounting //192.168.64.1/docksal-d on /d failed: Host is down
exit status 255
 ERROR:  SMB share mount failed.
         Make sure your Windows password is correct and run fin vm restart to try again.

Solution - enable SMBv1 Server package in Windows Feature and reboot host.

image

This should be added in docs. We will not be implementing an automated workaround for this issue in fin. Long term VirtualBox/boot2docker will be deprecated in favor of Docker for Mac/Windows.

@lmakarov lmakarov self-assigned this Nov 10, 2017

@lmakarov lmakarov added this to the 1.6 milestone Nov 10, 2017

@kyleskrinak

This comment has been minimized.

Copy link

commented Nov 11, 2017

I doubt it matters, but my Windows Feature dialog settings for the SMB v1.0 feature set is slightly different from your screen capture. I am using Windows 10 Falls Creator Update, 1709

winfeatures

SMB1.0/CIFS for client and server were enabled, which may simply reflect my managed environment. Despite being enabled, I see:

Enter your Windows account password:
mount: mounting //192.168.64.1/docksal-c on /c failed: Host is down
exit status 255
Mount command failed... Trying an alternative method...
mount: mounting //192.168.64.1/docksal-c on /c failed: Host is down
exit status 255
 ERROR:  SMB share mount failed.

Here is a link to the output from my fin sysinfo: https://pastebin.com/RwUnmEU8

@lmakarov

This comment has been minimized.

Copy link
Member Author

commented Nov 11, 2017

@kyleskrinak this might mean, that there are other places and methods in Windows, where SMBv1 can be disabled. Maybe a domain group policy that does this.

If you are on the Pro+ edition of Windows 10, try switching to the official Docker for Windows application (which uses Hyper-V and Moby Linux (Docker's flavor of Alpine Linux)) and follow the docs we have here for "native" mode:
https://docs.docksal.io/en/develop/getting-started/env-setup-native/

Be aware, that you won't be able to use VirtualBox (or any other hypervisor) while Hyper-V is installed. Hyper-V locks the VT-x extension to itself, so other hypervisors are not able to use the hardware virtualization support and cannot run 64bit VMs because of that.

@kyleskrinak

This comment has been minimized.

Copy link

commented Nov 11, 2017

You know, that rings a bell. https://blogs.technet.microsoft.com/filecab/2016/09/16/stop-using-smb1/ I believe we do manage this by policy.

@lmakarov

This comment has been minimized.

Copy link
Member Author

commented Nov 11, 2017

Yeah, I wish the was a way in boot2docker (TinyCore Linux) to use a newer version of SMB, but there isn't - lmakarov/boot2docker-vagrant#66 (comment)

@kyleskrinak

This comment has been minimized.

Copy link

commented Nov 15, 2017

@lmakarov using native mode works well. The only part I was confused about was regarding enabling the shared drive for my Docker environment. The documentation suggests that I am to map a path to my Projects directory. I merely enabled the default mapping to my C drive and I'm running now.

docker-path

@lmakarov

This comment has been minimized.

Copy link
Member Author

commented Nov 15, 2017

@kyleskrinak

Which docs do you refer to?
From Docksal docs on the topic (develop branch, so this has not been released yet as stable):

File sharing

Docker for Mac automatically shares most commonly used volumes/directories.
See here for details.
It is usually not necessary to adjust these settings.

Docker for Windows does NOT share drives automatically. This has to be done manually.
See here for details.
Configure sharing for the drive where your "Projects" folder is (C: in most cases).

@kyleskrinak

This comment has been minimized.

Copy link

commented Nov 15, 2017

Well, that's clear as day. Chalk my confusion up to user error. Thanks!

@lmakarov

This comment has been minimized.

Copy link
Member Author

commented Dec 5, 2017

Oneliners to check and enabled/disable SMBv1 support in Windows 10 (run in an admin cmd.exe prompt or via fin debug winsudo "<command>" in Babun)

C:\Windows\system32>dism /online /get-features /format:table | find "SMB1"
SMB1Protocol                                | Enabled
SMB1Protocol-Client                         | Enabled
SMB1Protocol-Server                         | Enabled
SMB1Protocol-Deprecation                    | Enabled
C:\Windows\system32>dism /online /enable-feature /featurename:SMB1Protocol-Server

Deployment Image Servicing and Management tool
Version: 10.0.16299.15

Image Version: 10.0.16299.15

Enabling feature(s)
[==========================100.0%==========================]
The operation completed successfully.
C:\Windows\system32>dism /online /disable-feature /featurename:SMB1Protocol-Server

Deployment Image Servicing and Management tool
Version: 10.0.16299.15

Image Version: 10.0.16299.15

Disabling feature(s)
[==========================100.0%==========================]
The operation completed successfully.

A reboot of the host machine was necessary. This can, probably, be handled by restarting certain system services.

It is also worth noting, that I've seen after SMB1Protocol-Server was enabled and everything worked, the shares stopped working the next day again. Most likely there was some policy change or windows update.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.