通过 Open VPN 按名称寻址 LAN 计算机

通过 Open VPN 按名称寻址 LAN 计算机

使用 Windows 7 笔记本电脑上的 OpenVPN 客户端访问我的家庭网络。笔记本电脑上的工作组是“MyWorkgroup”。

家庭网络:Wifi 路由器(192.168.1.1)- Linksys EA6500,USB 硬盘插入其 USB 端口。Raspberry Pi(192.168.1.4)设置为 VPN 服务器,插入路由器。

Linksys 允许您命名其磁盘服务器(例如 MyServer),但不能更改工作组(始终只是“工作组”)。我猜他们里面有一些 Linux,但没有办法获取它或其配置文件。

Linksys 路由器充当 USB 磁盘的服务器。当我在 Pi(Raspbian/Debian)的文件浏览器中输入 smb://MyServer/MyHardDisk 时,我可以访问硬盘,并且 MyServer 会出现在 GUI 文件浏览器中。当我将笔记本电脑连接到家庭网络并在 Windows 文件浏览器中输入 \\MyServer\MyHardDisk 时,我可以访问磁盘,并且 MyServer 会出现在 GUI 网络浏览器中。

但是当我使用 OpenVPN 从外部连接笔记本电脑时,我无法使用 \\MyServer\MyHardDisk 访问文件浏览器中的文件,我必须输入:\\192.168.1.1\MyHardDisk 才能访问我的文件。此外,MyServer 未出现在网络文件浏览器中。

搜索了一下,一个网站说 NetBIOS 不能跨越 VPN,您必须设置 WINS 服务器。对吗?另一个网站说您需要 Windows 广播。另一个页面显示了 OpenVPN 客户端网络浏览器的屏幕截图,其中显示了 LAN 中的所有 Samba 共享;但是,如何实现这一点的细节尚不清楚 - 但一定是可能的。

我需要进行哪些更改才能通过名称而不是 IP 地址访问文件服务器(路由器)?并在 Windows 网络浏览器中查看它?

尝试了互联网上关于更改 PI VPN 服务器的 /etc/openvpn/server.conf 文件的许多技巧:推送 DNS 服务器、推送 WINS 服务器、添加路由等。尝试更改 /etc/samba/smb.conf 文件:更改工作组、启用 WINS、输入 WINS 服务器的 IP 地址(尝试了 .1 路由器和 .4 Pi)。没有运气。

正如你可能猜到的,我不太了解 Linux,对 OpenVPN 就更少了,所有的设置都是从​​互联网教程中来的。

欢迎提出任何建议。谢谢,Rob

答案1

选项 1:将广播发送到服务器

一个概念上简单但实施起来困难的解决方案是让您的笔记本电脑使用 TAP VPN 适配器而不是 TUN 进行连接,并将其与 VPN 服务器的 LAN 接口桥接。从笔记本电脑的角度来看,它直接连接到与文件服务器相同的网段。

然而,除了复杂性之外,还有其它缺点,而且您确实试图让基于广播的协议以它未设计的方式运行。

选项 2:本地名称解析

如果你只希望能够输入 UNC 路径 ( \\Server1\share) 而不是浏览本地网络/工作组,那么主控主机您的笔记本电脑上的文件就足以满足您的需要了。

当您输入服务器的 UNC 路径时,Windows 客户端会检查四个地方(顺序取决于实际配置和版本),跳过那些已禁用/未配置的地方:

  • WINS 服务器,它具有目标的动态或静态条目。由于本例中的目标不是 Windows 设备,因此如果您想要动态条目,则需要对其进行配置以了解 WINS 服务器的位置,或者自行设置静态条目。这里的 WINS 是协议,由于 WINS 服务本身仅在 Windows Server 上可用,您可以使用 Samba 进行设置,但这可能不值得付出努力。
  • 向本地网络广播“有人叫这个名字吗Server1?”。根据设计,此广播不会跨越路由器(即您的 VPN 服务器)。
  • 向 DNS 服务器发出查询,可能通过添加您的本地网络 DNS 后缀“您知道Server1是谁吗?怎么样Server1.atmyhome.local?”。
  • LMHOSTS 文件提供与本地广播或 WINS 查询相同的信息,但来自磁盘,因此始终可用、一致且快速。

由于您的部署规模较小,并且很少发生变化,因此 LMHOSTS 方法似乎是最好的。

相关内容