挂载 CIFS 主机已关闭

Kev*_*vin 121 linux mount centos cifs

我之前配置的挂载点有问题。它显示文件夹,但安装丢失并保存“?” 大小、权限等的值。

所以我尝试使用 cifs 和之前的相同命令重新挂载:

mount -t cifs //nas.domain.local/share /mnt/archive
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

Host is down.
Run Code Online (Sandbox Code Playgroud)

如果我 ping 域或 IP,我会得到正确的解析,并且我也使用 smbclient 进行连接,没有问题

 ping nas.domain.local
 ping ip
 smbclient //nas.domain.local/share
Run Code Online (Sandbox Code Playgroud)

我环顾四周,但找不到可靠的答案。有什么想法吗?

Mar*_*n P 139

这也可能是因为协议不匹配。 2017 年,微软修补了 Windows 服务器并建议禁用 SMB1 协议。

从现在开始,mount.cifs 可能会出现协议协商问题。

显示的错误是“主机已关闭。”,但是当您使用以下命令进行调试时:

smbclient -L <server_ip> -U <username> -d 256
Run Code Online (Sandbox Code Playgroud)

你会得到错误:

protocol negotiation failed: NT_STATUS_CONNECTION_RESET
Run Code Online (Sandbox Code Playgroud)

为了克服这种情况,请使用指定协议的 mount 或 smbclient。

对于 smbclient:添加 -m SMB2(或 SMB3 用于较新版本的协议)

smbclient -L <server_ip> -U <username> -m SMB2
Run Code Online (Sandbox Code Playgroud)

或用于安装:添加vers=2.0(如果要使用协议的第 3 版,则添加vers= 3.0)

mount -t cifs //<server_ip>/<share> /mnt/<mountpoint> -o vers=2.0
Run Code Online (Sandbox Code Playgroud)

  • 奇怪的。手册页说 `vers=1.0` 是默认值,但在我明确传递 `vers=1.0` 之前,我无法安装我的网络驱动器。 (15认同)
  • 您是否尝试像我在此答案中解释的那样指定协议?尝试通过添加以下内容来添加 vers=2.0 或 vers=3.0 或 vers=1.0(取决于此 NAS 设置): mount -t cifs -o username=aa,password=bb,uid=olivier,vers=2.0 //192.168.1.47/ partagefichiers/ /mnt/PartageFichiers (7认同)
  • 当我尝试你的解决方案 `smbclient -L 192.168.1.47 -U admin -d 256` 时,我的 NAS 位于 Linux 上,一切正常,但是当我尝试 `mount -t cifs -o username=aa,password=bb,uid=olivier / /192.168.1.47/partagefichiers/ /mnt/PartageFichiers` 它一直说“安装错误(112):主机已关闭” (3认同)
  • 在 fstab 文件中它会像这样 ```//&lt;server_ip&gt;/&lt;share&gt; /media/&lt;mountpoint&gt; cifs username=&lt;username&gt;,password=&lt;password&gt;,iocharset=utf8,sec=ntlm,vers=1.0 0 0``` (2认同)

小智 49

在最近的软件包更新后的 archlinux 上,我不得不将 vers=1.0 添加到我的安装选项中。我正在连接到一个旧的 centos 5 机器,直到昨天我都可以连接而无需明确说明版本号。

linux 内核 4.13 中的 CIFS 现在默认为 SMB 3.0,而在内核 4.14 中,它尝试使用 2.1 及更高版本。请参阅此更改日志

  • 我必须为我的 Fedora 26 系统访问我的 Synology NAS DS413j 上的一个安装,我的 /etc/fstab 现在在选项字符串的末尾有“,vers=1.0”并且不再有“主机已关闭”错误消息。 (2认同)

小智 22

Fritz NAS 的 USB 记忆棒显示 Ubuntu 17.10 的“Host Down”:

定义版本 ( vers=1.0) 有效 - 这是完整的字符串:

sudo mount -t cifs -o vers=1.0,_netdev,username=<user>,password=<pwd>,uid=1000,gid=1000  //192.168.178.1/fritz.nas <local mountpoint>
Run Code Online (Sandbox Code Playgroud)

  • 一切都在`/etc/fstab` cifs mount 中工作;在我的 Ubuntu 16.04 上“apt upgrade”之后发生了这种情况。指定 `-o vers=1.0` 就可以了。谢谢 (5认同)

Pat*_*ice 8

使用旧的 Buffalo Diskstation 升级到 ubuntu 17.10 后出现类似问题。通过在 /etc/fstab 中添加“vers=1.0”选项解决:

//myWDhostname/partage /media/Partage cifs guest,vers=1.0 0 0


小智 6

抱歉,如果这是一个迟到的响应(我意识到这是一个旧线程),但是我刚刚发现还有另一个可能的原因 mount.cifs 会说主机已关闭。

我有一个带防火墙的防病毒软件,即使我将其明确设置为允许“windows 文件和打印共享”——一个预定义的规则,它仍然阻止连接。我通过暂时禁用防火墙来证明这一点。希望这对某人有所帮助,主机关闭可能并不意味着它没有响应 ping,但可能意味着它没有响应身份验证尝试。


Ser*_*ndt 5

当我尝试挂载 CIFS SMB 网络共享时,我从新的 Samba 客户端收到了同样的错误,无需多说:

mount error(112): Host is down
Run Code Online (Sandbox Code Playgroud)

最终,事实证明我之前通过配置将 SMB 服务器访问限制为有限数量的 IP 地址/etc/samba/smb.conf

# Allow these IP Addresses to connect: 
hosts allow = 127.0.0.1 127.0.1.13 127.0.1.63

# Anything else not allowed is, by default, rejected
hosts deny = ALL
Run Code Online (Sandbox Code Playgroud)

添加新 SMB 客户端的固定 IP 地址解决了这种特定情况下的问题。

当然,还有许多其他原因可能会导致出现上述错误。


slm*_*slm 0

我通常使用此类命令来挂载 cifs/smb 共享。

mount -t cifs -o rw,netbiosname=nasserver1,credentials=/etc/user_credentials.txt //192.168.1.11/someshare /mnt
Run Code Online (Sandbox Code Playgroud)

凭据文件如下所示:

username=mydomain\user1
password=somepass
Run Code Online (Sandbox Code Playgroud)

这也可以适应自动挂载设置,以便系统可以通过 autofs 自动处理挂载/卸载。