使用 Windows 10 PC 通过 Centos Host 访问虚拟机中的 Samba 共享

使用 Windows 10 PC 通过 Centos Host 访问虚拟机中的 Samba 共享

我在一台 PC 上运行 Windows 10,该 PC 可以在网络上看到 Centos 7 服务器。该服务器托管着多个在不同子网(即 192.168.122.xxx)上运行 Centos 7 的虚拟机。Centos 主机和 Windows PC 在 192.168.0.xxx 上运行。

虚拟化是通过虚拟机管理器 (libvert) 完成的,虚拟机可以看到 Centos 主机和 Internet。

我的问题是如何让 Centos Host 成功转发 SMB 端口,以便 PC 可以通过它连接到 VM 的 Samba 共享。我基本上想将 Windows 10 中的驱动器号映射到 VM 中的文件夹。

Samba 已在 VM 上安装并配置完毕,看起来一切正常。我认为 Windows 无法绕过 Centos Host,并给出错误,表明它无法连接到“文件和打印共享资源”端口上的目标。

我试过了:

  • 在 Centos 主机和 VM 上禁用 SELinux。
  • 在 Centos 主机上配置 firewalld 以接受端口 137、138、139、445。
  • 为 Centos 主机上的 Firewalld 配置添加这些端口的端口转发。

答案1

Windows 客户端只能访问标准 Samba 端口(139 和 445),因此您无法映射到多个虚拟机中的文件夹,因为您无法使用自定义端口。因此,我建议您使用 NFS 将每个虚拟机中的一个或多个文件夹共享到主机,然后将包含这些 NFS 映射的文件夹共享到外部 Windows 客户端。

您可能还会发现我几年前编写的一个脚本很有用,因为它可以确保在系统相互依赖的环境中(例如虚拟化环境)建立和维护 NFS 映射。您可以在 Github 上找到它github.com/vwal/nfs_automount

相关内容