我已经在家里配置了开放的VPN,以便可以从办公室轻松访问。
现在我想通过我的开放 VPN 共享 samba。如何在 Ubuntu 和 Windows 之间通过开放 VPN 共享 samba?
Home public IP: HHH.OOO.MMM.EEE
Home desktop IP: 192.168.10.10
Office public IP: OOO:FFF:III:CCC
Office Windows desktop IP: 192.168.1.10
答案1
简而言之:确保 samba 接受来自 VPN 子网的连接。
更详细地讲(来自 OpenVPN wiki):
接下来,编辑 Samba 配置文件 (smb.conf)。确保 hosts allow 指令允许来自 10.8.0.0/24 子网的 OpenVPN 客户端连接。例如:
hosts allow = 10.66.0.0/24 10.8.0.0/24 127.0.0.1
如果您在同一台机器上运行 Samba 和 OpenVPN 服务器,您可能需要编辑 smb.conf 文件中的接口指令,以便监听 10.8.0.0/24 的 TUN 接口子网:
interfaces = 10.66.0.0/24 10.8.0.0/24
如果您在同一台机器上运行 Samba 和 OpenVPN 服务器,请使用以下文件夹名称从 OpenVPN 客户端连接到 Samba 共享:
\\10.8.0.1\\sharename
(在他们的示例中,10.66.0.0 是家庭子网,10.8.0.0 是 VPN 子网)
之后,重新启动 samba 服务以使新配置生效:
sudo service smbd restart
答案2
如果您的远程 VPN 与 SMB 共享在不同的计算机上运行,则适用此规定。
我认为您想要的是 OpenVPN 配置文件中的以下内容。
push "route 192.168.1.0 255.255.255.0"
这使得您的远程计算机可以看到远程 192.168.1.* 网络的其余部分,如果您没有此行,那么它将只能访问运行 VPN 服务器的计算机上的远程资源。
这是我的指南其中包括我做的与 IPTables 和 UFW 相关的一些其他配置。