无法使用挂载连接到SMB共享,但可以在CentOS上的smbclient中工作

问题描述 投票:0回答:1

我无法像以前那样连接到 SMB 共享。我以前只能挂载在 \mycompany.corp\dfs 但现在我必须通过 \my-fileserver.mycompany.corp\dfs 挂载

smbclient 按预期工作。

当我尝试在 CentOS 中挂载 SMB 共享时...

mount -t cifs -o user=svc_xxx,domain=mycompany.corp,vers=2.1 //mycompany.corp/dfs /mnt/tmp

我收到以下错误:

[48785.947248] CIFS VFS: BAD_NETWORK_NAME: \\mycompany.corp\dfs
[48785.949836] CIFS VFS: session ffff9a43e7236000 has no tcon available for a dfs referral request
[48785.952675] CIFS VFS: cifs_mount failed w/return code = -2

但是当我在 smbclient 中执行此操作时,它有效。

smbclient \\\\mycompany.corp\\dfs -U 'mycompany.corp\svc_xxx' -m SMB2

如果我在 smbclient 中列出服务器,我会得到:

smb: \> list 0:      server=my-fileserver.mycompany.corp, share=dfs 

mycompany.corp 无法解析为 my-fileserver.mycompany.corp 解析的内容。

奇怪的是,如果我将 mount 与文件服务器的名称一起使用,即:

mount -t cifs -o user=svc_xxx,domain=mycompany.corp,vers=2.1 //my-fileserver.mycompany.corp/dfs /mnt/tmp

...它有效。

smbclient 如何“知道”如何连接到 mycompany.corp 而 mount 却不知道?为什么它会突然崩溃(我们的 LDAP 控制器和 DNS 服务器发生了一些变化,但我没有具体细节)。

centos centos7 smb cifs
1个回答
0
投票

路径

\\mycompany.corp\dfs
是一个DFS命名空间。当您连接到此命名空间时,客户端需要了解如何遵循 DFS 引用来到达托管共享的实际服务器。

smbclient
旨在处理开箱即用的 DFS 推荐。当您使用 smbclient
\\\\mycompany.corp\\dfs
连接时,它会正确解释 DFS 命名空间并将您重定向到适当的服务器(在您的情况下为
my-fileserver.mycompany.corp
)。

默认情况下,

mount.cifs
可能不会处理 DFS 转介,除非明确指示这样做。

CIFS VFS: BAD_NETWORK_NAME: \\mycompany.corp\dfs
CIFS VFS: session ... has no tcon available for a dfs referral request
CIFS VFS: cifs_mount failed w/return code = -2

这些错误表明

mount.cifs
找不到网络名称,因为它没有处理对实际服务器的 DFS 引用。

要解决此问题,您需要指示

mount.cifs
显式处理 DFS 引用。在挂载命令中添加
dfs

mount -t cifs -o user=svc_xxx,domain=mycompany.corp,vers=2.1,dfs //mycompany.corp/dfs /mnt/tmp

尝试一下,让我知道它是否对您有用。我已经测试过它应该可以工作。

© www.soinside.com 2019 - 2024. All rights reserved.