我在 QNAP NAS 上托管了一个 OpenVPN 服务器。我通过 Windows 和 Android OpenVPN 客户端访问它。NAS 和 OpenVPN 运行正常。当我在 LAN 内部时,NAS 服务器的主 IP 地址是 192.168.1.200。在 LAN 内部,我可以在两种类型的设备上通过该 IP 地址访问它,而无需 VPN,没有任何问题。
VPN 服务器在 192.168.2.* 范围内为 VPN 客户端创建一个子网,其中 192.168.2.1 是 NAS 本身。
因此,当局域网内的计算机(没有 VPN)访问 NAS 时,我使用 1.200 地址。多个软件设置与该地址相关联,例如,Windows 下的共享驱动器指向 //192.168.1.200/folderShare
但是,当我在 LAN 之外并通过 VPN 访问网络时,情况就发生了变化。虽然网络上的所有其他组件都可以通过其本机 IP 地址 (192.168.1.*) 访问,但 NAS 只能通过其 VPN 子网地址 192.168.2.1 访问。这意味着,例如,想要通过 LAN(不使用 VPN)和 WAN(使用 VPN)访问 NAS 上的共享文件夹的 Windows 笔记本电脑需要根据情况对同一目的地使用 2 个不同的 IP 地址。这是最小的问题。如果我在应用程序中将不同的库与资源的 IP 地址绑定,则我需要维护它们两个(例如 Lightroom 图像、Kodi 媒体文件等)。
我该如何解决这个问题?如何让 192.168.1.200 成为 VPN/WAN 的工作目的地,而不是 VPN/LAN 访问?——当然,同时保持通过 VPN 的互联网访问正常?我可以在 dd-wrt 路由器上使用一些路由规则将 .1.131 路由到 2.1 吗?
谢谢!
答案1
这是预期的行为。
禁用 VPN 连接上的网关设置,在内部网络中不要使用 VPN,或者建立 2 个连接。
您没有提到您的设备使用什么操作系统,所以我假设是 Windows。要禁用网关设置,请转到您的网络连接,选择更改适配器设置,右键单击您的 VPN 连接并选择:属性。
转到选项卡Networking
并双击 TCP/IPv4 项。按下Advanced...并取消选中在远程网络上使用默认网关。
这样做的目的是,它不会通过 VPN 转发每个请求,而是首先尝试连接到本地的任何网络,如果在本地找不到,则使用 VPN 隧道。
根据新提供的信息进行编辑:
我现在明白你的意思了。如果你可以更改 OpenVPN 隧道的 IP 配置,请让它提供以下 IP 地址信息:
IPAddress 保持不变,submetmask:不要使用 255.255.255.0,而是使用 255.255.25 3
.0,这样可以访问以下 IP 范围:192.168.0.x - 192.168.3.x