我正在使用 Windows Server 2019,并已将 OpenVPN 2.5.4 客户端设置为服务,以启动 VPN 链接回另一个位置的 pfSense 盒。问题是只有一些 Windows Server 用户可以访问 VPN 另一端的 Debian 计算机上的 Samba 共享。
如果我以用户 A 身份登录,他们可以看到 \192.168.0.4 处的映射驱动器,但用户 B 看不到。但是,用户 B 可以 ping 192.168.0.4 机器。
对于这两次测试,我使用相同的凭据通过 VPN 进行连接。
VPN 在 Windows Server 启动时启动并连接。
它适用于用户 A 和管理员。当我尝试在资源管理器中访问 \192.168.0.4 时,用户 B 收到的错误消息是:
Windows cannot access \\192.168.0.4\data
Check the spelling of the name. Otherwise, there might be a problem with your network. To
try to identify and resolve network problems, click Diagnose.
我尝试将用户 B 设置为管理员,然后重新启动并再次登录,但不起作用。这感觉像是权限问题。我第一次尝试以用户 A 身份访问 Samba 共享时,系统提示我输入凭据,但对用户 B 则不会这样做。
更新:更多详细信息
我的共享在我的 Debian 10 机器上使用 Samba 4.9.5,我在 smb.conf 中定义了“数据”共享,如下所示;
[data]
path = /media/data
read only = No
guest ok = Yes
我通过安装在 Windows Server 上的 OpenVPN 客户端(OpenVPN 服务器在 pfSense 机器上运行)从 Windows Server 2019 VM 进行连接,以便连接到我的 Debian 机器。Debian 机器和 pfSense 防火墙在办公室,Windows Server 是位于不同位置的 VPS 提供商的 VM。
在 Windows Server 上,我可以以“用户 A”身份登录并通过 Windows 文件管理器连接到 Debian 机顶盒,并且可以连接到“数据”共享。但如果我以用户 B 身份登录,则会收到错误。
我的办公室局域网位于 192.168.0.x(包括 pfSense 和 Debian 盒),现场有一些旧系统很难更改其静态地址。Window Server 2019 VM 在 10.0.192.x 上运行,VPN(客户端)设置在 10.0.8.x 上,VPN(服务器)位于 192.168.0.x 网络上。
用户 A 和 B 都在 Windows Server 上。
用户 A 可以看到 192.168.0.4 上的挂载点和 HTTP 访问。用户 B 看不到挂载点,但可以访问http://192.168.0.4。
更新:用户 B 启动 VPN
当我停止 Windows Server 上的 OpenVPN 客户端服务并手动启动与用户 B 的 VPN 链接时,它会连接到 VPN,但通过 Windows 资源管理器 //192.168.0.4/data 查看共享时仍然会出现错误。
但是,对于该用户来说,使用用户 A 手动启动 VPN,然后通过 Windows 资源管理器连接到 //192.168.0.4/data 是可行的。
对我来说,用户 B 在通过 VPN 或某种方式访问远程共享时仍然存在权限问题。
答案1
发现问题了。Windows Server 上的用户名与 Samba 框上允许的用户不同。
用户 A 在 Windows Server 和 Debian 上是相同的,并且它是使用 Debian 服务器上的 smbpasswd 设置的,这就是它起作用的原因。但用户 B 仅在 Windows Server 上。找到它后,我映射了驱动器并输入了有效的 samba 用户来映射驱动器。