我之前配置的挂载点有问题。它显示了文件夹,但挂载点丢失,并且大小、权限等值保留为“?”
因此我尝试使用 cifs 和之前相同的命令重新挂载:
mount -t cifs //nas.domain.local/share /mnt/archive
但我收到了错误:
Host is down.
如果我 ping 域名或 IP,我会得到正确的解析,并且我使用 smbclient 连接也没有问题
ping nas.domain.local
ping ip
smbclient //nas.domain.local/share
我四处寻找,但找不到可靠的答案。有什么想法吗?
答案1
这也可能是因为协议不匹配。 2017 年,微软修补了 Windows 服务器并建议禁用 SMB1 协议。
从现在开始,mount.cifs 可能会在协议协商方面出现问题。
显示的错误是“主机已关闭。”,但是当您使用以下命令进行调试时:
smbclient -L <server_ip> -U <username> -d 256
你会得到错误:
protocol negotiation failed: NT_STATUS_CONNECTION_RESET
为了解决这个问题,请使用指定协议的 mount 或 smbclient。
对于 smbclient:添加 -m SMB2(或 SMB3,适用于较新版本的协议)
smbclient -L <server_ip> -U <username> -m SMB2
或者对于安装:添加版本=2.0(或者如果您想使用协议的第 3 版,则 vers=3.0)
mount -t cifs //<server_ip>/<share> /mnt/<mountpoint> -o vers=2.0
答案2
在 archlinux 上,在最近的软件包更新之后,我必须将 vers=1.0 添加到我的挂载选项中。我正在连接到一个旧的 centos 5 盒子,直到昨天我都可以连接而无需明确说明版本号。
Linux 内核 4.13 中的 CIFS 现在默认为 SMB 3.0,而在内核 4.14 中则尝试 2.1 及更高版本。请参阅此更改日志。
答案3
Fritz NAS 上的 USB 棒显示 Ubuntu 17.10 的“主机关闭”:
定义版本(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>
答案4
抱歉,回复晚了(我意识到这是一个老帖子),但是我刚刚发现 mount.cifs 说主机已关闭还有另一个可能的原因。
我有一个带防火墙的防病毒软件,尽管我明确将其设置为允许“windows 文件和打印共享”——这是一条预定义规则,但它仍然阻止连接。我通过暂时禁用防火墙证明了这一点。希望这对某些人有帮助,主机关闭可能并不意味着它没有响应 ping,但可能意味着它没有响应身份验证尝试。