让 VPN Server 充当网络交换机

让 VPN Server 充当网络交换机

我正在尝试了解虚拟网络的一些基本原理。

是否(以及如何)可以让 VPN 隧道像交换机一样工作?这样我的本地机器就可以获取远程网络的地址?

Site A:
Net A: 10.1.0.0/16
Internet Gateway: 10.1.0.254
VPN Server A: 10.1.0.200
Some Clients in Network A:
PC1: 10.1.0.1
PC2: 10.1.0.2
...
PC199 etc.
And some File Servers.
DHCP Net A: 10.1.0.253

Site B:
Net B: 192.168.2.0/24
Client B: 192.168.2.2
Internet Gateway: 192.168.2.254

场景 1:

客户端 B 应通过 VPN 服务器 A 连接到网络 A。它是否有可能在其 VPN 接口上获取网络 A 范围内的 IP 地址,例如 10.1.0.201?

场景 2:

是否有可能网络 B (VPN_B) 中的 PC 也充当交换机,以便网络 A 的 DHCP 将地址提供给网络 B?并且网络 B 的所有客户端都通过 VPN_B 连接到网络?

场景 3:

我认为这将是最有成效的场景:对于单个客户端,如场景 1 中的网络连接:

Network A: 10.1.0.0/16 or 192.168.1.0/24
Network B: 10.2.0.0/16 or 192.168.2.0/24
Network C: 10.3.0.0/16 or 192.168.3.0/24
etc.

并且每个网络都有自己的 DHCP 和网关。如果客户端不在同一个站点,并且外部流量(Web 连接)直接通过 Internet 网关,我需要如何配置 VPN 服务器,以便跨站点 10.0.0.0/8 网络中的流量将通过 VPN。

VPN 服务器是否必须配置为网关,并将流量路由到“wan”端口或 VPN,或者是否可以使用网络中的任何客户端作为 VPN 服务器

答案1

场景 1:

是的,这是可能的,但不是自动的。例如,OpenVPN 有两种连接模式,称为桥接路由。在桥接模式下,您将获得一个属于服务器子网的 IP 地址,而在路由模式下,您则不会获得该 IP 地址(您将获得第三个子网中的 IP 地址,您可以选择该地址,但该地址必须与本地或远程 LAN 不同)。

场景 2:

令人困惑的问题。是的,可以这样安排,即子网 A 和子网 B 的 IP 地址由属于任一子网的单个 DHCP 服务器分配。但这不是明智之举:如果由于某种原因 A 和 B 之间的连接中断,则两个子网中的一个将没有 DHCP 服务器。

问题的第二部分:是的,你可以。假设您在网络 B 中有一台称为 PCVPN 的 PC,它通过 VPN 连接到网络 A。那么您需要做的就是告诉子网 B 上的所有 PC,通往互联网的网关不是您的路由器 (192.168.2.254),而是 PCVPN。在 PCVPN 上,您必须启用“转发 IPv4”选项,具体操作取决于您使用的操作系统。

场景 3:

是的,这可以做到,但需要使用安装了 OpenWRT、DD-WRT 或 Tomato 软件的路由器。这可以通过多种方式实现(所有站点的所有 PC 是否属于同一子网、所有外部流量通过本地网关或单个特定网关路由等),我无法为您提供单一解决方案。但您可以找到这方面的介绍这里这里。第二种解决方案是我最喜欢的,因为它更完整:您将拥有一个子网,例如 192.168.1.0/24,IP 地址 192.168.1.1-127 由一个站点上的网关提供,192.168.1.129-254 由另一侧的另一个网关提供。这样,任何站点的所有资源都可以供所有 PC 访问,无论它们位于何处。此外,此解决方案通过每个本地路由器路由互联网通信(换句话说,只有发往其他本地网络的通信才会通过 VPN 路由)。如果您希望一切都通过特定路由器,例如 192.168.1.1,只需指示其他路由器使用 192.168.1.1 作为默认网关,并将此信息传递给为其分配 IP 地址的 PC。

推广到三个或更多子网很简单,只需记住使用计算或一些用于计算网络掩码的工具。

相关内容