我正在使用 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 执行此操作。
更新:更多细节
我的共享在使用 Samba 4.9.5 的 Debian 10 机器上,我在 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 服务器上,我可以以“用户 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 服务器上停止 OpenVPN 客户端服务并手动启动与用户 B 的 VPN 链接时,它连接到 VPN,但在通过 Windows 资源管理器//192.168.0.4/data 查看共享时仍然出现错误。
但是,使用用户 A 手动启动 VPN,然后通过 Windows 资源管理器连接到 //192.168.0.4/data 对这个用户有效。
在我看来,用户 B 通过 VPN 或其他方式访问远程共享时仍然存在权限问题。
发现问题。Windows 服务器上的用户名与 Samba 盒子上允许的用户不同。
用户 A 在 Windows Server 和 Debian 上都是相同的,它是在 debian 服务器上使用 smbpasswd 设置的,这就是它起作用的原因。但用户 B 仅在 Windows Server 上。一旦我找到这个,我映射了驱动器并输入了一个有效的 samba 用户来映射驱动器。