Mount.cifs error 112 Host is down SMBv2

Hello,

Recently we disabled SMBv1 support for all of our windows hosts in our network.
Unfortunately, that caused issues with mounting Windows shares in our SLES 11 Servers. We have many SLES servers, running SLES 11 SP2 to SLES 11 SP4.

When we tried to manually mount the drives after the change to the windows hosts, we recieved the error message of:
mount error(112): Host is down

We can ping the host, we can do a nslookup of the host name, we have validated that the ports are not blocked between the hosts.

As these were production machines, we reverted the SMBv1 windows modification to the hosts that were required and then we configured a test share on a device with SMBv1 disabled.

The test machine is fully patched and has the latest version of Samba from SLES.

Sles 11 sp4 kernel: 3.0.101-94-default
Sles 11 samba version:3.6.3-84.1

In our research we found that SMB2 support is supposed to be in place with Samba 3.6.0. If that is not the case, please let me know.
Additionally, from my understanding, smbclient does not support the max protocol option until v4.1.12 (-m).

We have been using (unsucessfully) the following command to test mounting the shares that have SMBv1 disabled.
mount -t cifs //WindowsServer/Share /mnt/smbtest/ --verbose -o username=,domain=
mount -t cifs //WindowsServer/Share /mnt/smbtest/ --verbose -o username=,domain=,vers=2.0
mount -t cifs //WindowsServer/Share /mnt/smbtest/ --verbose -o username=,domain=,vers=2.0,sec=

Additionally, we have specified in the smb.conf the following:
server max protocol = SMB3
server min protocol = SMB2
client max protocol = SMB3
client min protocol = SMB2

We are still only seeing the Error 112: Host is down message.
I have validated that perms are present for the user for the share and for NTFS(silly windows).

We also did upgrade this server to SLES 12, in which it had the following:
SLES 12 kernel:3.12.28-4-default
SLES 12 samba version: 4.1.12-3.2

At which point our drives did mount. Which is great.

BUT. We have only around 40 linux servers that host production applications, and we have not tested enough for us to push to upgrade all of the servers to SLES 12 GA/SP1/SP2.

Is there a way to get these drives reconnecting with SMB2 and 3.6.3-84.1 on SLES 11 SP4 or SLES 11 SP3?
Any other advice would be appreciated.

driassetto Wrote in message:
[color=blue]

Recently we disabled SMBv1 support for all of our windows hosts in our
network.
Unfortunately, that caused issues with mounting Windows shares in our
SLES 11 Servers. We have many SLES servers, running SLES 11 SP2 to SLES
11 SP4.

When we tried to manually mount the drives after the change to the
windows hosts, we recieved the error message of:
mount error(112): Host is down

We can ping the host, we can do a nslookup of the host name, we have
validated that the ports are not blocked between the hosts.

As these were production machines, we reverted the SMBv1 windows
modification to the hosts that were required and then we configured a
test share on a device with SMBv1 disabled.

The test machine is fully patched and has the latest version of Samba
from SLES.

Sles 11 sp4 kernel: 3.0.101-94-default
Sles 11 samba version:3.6.3-84.1

In our research we found that SMB2 support is supposed to be in place
with Samba 3.6.0. If that is not the case, please let me know.
Additionally, from my understanding, smbclient does not support the max
protocol option until v4.1.12 (-m).

We have been using (unsucessfully) the following command to test
mounting the shares that have SMBv1 disabled.
mount -t cifs //WindowsServer/Share /mnt/smbtest/ --verbose -o
username=,domain=
mount -t cifs //WindowsServer/Share /mnt/smbtest/ --verbose -o
username=,domain=,vers=2.0
mount -t cifs //WindowsServer/Share /mnt/smbtest/ --verbose -o
username=,domain=,vers=2.0,sec=

Additionally, we have specified in the smb.conf the following:
server max protocol = SMB3
server min protocol = SMB2
client max protocol = SMB3
client min protocol = SMB2

We are still only seeing the Error 112: Host is down message.
I have validated that perms are present for the user for the share and
for NTFS(silly windows).

We also did upgrade this server to SLES 12, in which it had the
following:
SLES 12 kernel:3.12.28-4-default
SLES 12 samba version: 4.1.12-3.2

At which point our drives did mount. Which is great.

BUT. We have only around 40 linux servers that host production
applications, and we have not tested enough for us to push to upgrade
all of the servers to SLES 12 GA/SP1/SP2.

Is there a way to get these drives reconnecting with SMB2 and 3.6.3-84.1
on SLES 11 SP4 or SLES 11 SP3?
Any other advice would be appreciated.[/color]

Try adding “,vers=3.0” (or possibly “,vers=3\.0”) to the -o option
in your mount commands.

HTH.

Simon Flood
SUSE Knowledge Partner

----Android NewsGroup Reader----
http://usenet.sinaapp.com/

Try adding “,vers=3.0” (or possibly “,vers=3\.0”) to the -o option
in your mount commands.

HTH.

Simon Flood
SUSE Knowledge Partner

----Android NewsGroup Reader----
http://usenet.sinaapp.com/[/QUOTE]

SMFlood,

Thank you for your reply on this.

As i am on a test VM that i have a SLES 11 SP4 Snapshot and a SLES 12 GA Snapshot, i was able to try this in both environments.

On SLES12, when i do a :
mount -t cifs //app2012tools/test /mnt/smbtest/ --verbose -o username=,domain=,vers=2.0
It works and mounts the drive.

When i try with the vers=3.0, it does not:
mount -t cifs //app2012tools/test /mnt/smbtest/ --verbose -o username=,domain=,vers=3.0
Error 5: input/output error

On the more important SLES 11 SP4, it does not work in either case
mount -t cifs //app2012tools/test /mnt/smbtest/ --verbose -o user=,domain=,ver=2.0
mount -t cifs //app2012tools/test /mnt/smbtest/ --verbose -o user=,domain=,ver=2
mount -t cifs //app2012tools/test /mnt/smbtest/ --verbose -o user=,domain=,vers=2.0.0
mount -t cifs //app2012tools/test /mnt/smbtest/ --verbose -o user=,domain=,vers=3.0.0
mount -t cifs //app2012tools/test /mnt/smbtest/ --verbose -o user=,domain=,ver=3
mount -t cifs //app2012tools/test /mnt/smbtest/ --verbose -o user=,domain=,ver=3.0

mount.cifs kernel mount options: ip=10.200.100.118,unc=\\WINDOWSSERVER\SHARE,ver=3.0,ver=1,user=,domain=,pass=

^^why does it show ver=1 and vers=3. I cant find any documentation on it. ^^

The Verbose output always provided this information:

All report: mount Error 112: Host is down

When i did get the SLES 12 system to mount the share, i ran a “mount” to see what all properties were set

//WINDOWSSERVER/SHARE on /mnt/smbtest type cifs (rw,relatime,vers=2.0,sec=ntlmssp,cache=strict,username=,domain=,uid=0,noforceuid,gid=0,noforcegid,addr=10.200.100.118,file_mode=0755,dir_mode=0755,nounix,serverino,rsize=65536,wsize=65536,actimeo=1)

One thing i did note was on each failure, there was a empty , section between varying sections. this persisted as i added all of the mount options from the last output above, and also the password in the command.

mount.cifs kernel mount options: ip=10.200.100.118,unc=\\WINDOWSSERVER\SHARE,ver=1,user=USER,domain=DOMAIN,pass=PASS

One other item of note is that the windows server is running Server 2012, not server 2012 R2.

If you are looking for a answer on this (As i did for a very long time):
Basically the SLES 11 Kernel of 3.0.x that is the default on SLES/SuSe Linux Enterprise Server does not support the use of the vers= option with the mount -t cifs command.
A review of “man mount(8)” will show that there is no section for vers= in the command.

This is supported at the 3.5.x Kernel and above. And is supported in the SLES 12 GA.
SLES 12 runs the 3.12.x Kernel, which has the support for vers= in the mount.cifs command.

Good luck to you all.

On Thu, 13 Apr 2017 19:14:01 +0000, driassetto wrote:
[color=blue]

If you are looking for a answer on this (As i did for a very long time):
Basically the SLES 11 Kernel of 3.0.x that is the default on SLES/SuSe
Linux Enterprise Server does not support the use of the vers= option
with the mount -t cifs command.
A review of “man mount(8)” will show that there is no section for vers=
in the command.

This is supported at the 3.5.x Kernel and above. And is supported in the
SLES 12 GA.
SLES 12 runs the 3.12.x Kernel, which has the support for vers= in the
mount.cifs command.

Good luck to you all.[/color]

see also:
https://www.suse.com/support/kb/doc/?id=7018804

Thanks
Hans