我想知道 VPN 远程客户端在连接到嵌入在 VyOS 路由器中的 StrongSWAN 或 OpenVPN VPN 服务器时如何在远程网络上获得私有 IP 地址的详细信息,以及虚拟 IP 地址池如何适应过程。
过去,我只是假设路由器内置的 VPN 服务器建立了一个虚拟隧道出口点作为远程客户端连接远程网络的入口点,并将远程客户端指向远程 LAN 上存在的 DHCP 服务器,但是然后我开始注意到几个 VPN 解决方案提到了一个叫做虚拟 IP 地址池(“VIPAP”)的东西,这让我怀疑是否有更多的事情发生,我以前想过。
- “VIPAP”究竟是什么,为什么会存在?他们服务于什么目的?
- “VIPAP”是否与 DHCP 分开?(它还有一个保留地址池)
- 是否根据 DHCP 池范围动态生成“VIPAP”?
- 如果“VIPAP”具有静态设置的范围,它们是否应该与 DHCP 范围完全重叠,或者它们应该是 DHCP 池范围之外的保留空间的一部分?
这是我目前的理解:
我相信过去您曾经拥有 WAN -> 基本防火墙/路由器,并建立与 VPN 连接相关的端口的端口转发到 LAN 上的 VPN 服务器。例如 OpenVPN 服务器或 StrongSWAN VPN 服务器。现在 pfSense 防火墙上有一个迷你 OpenVPN 服务器,VyOS 路由器上有一个迷你 StrongSWAN VPN 服务器(如果你把它们放在边缘,你就不需要转发端口。)
strongswan.org 提到了一些有关虚拟 IP 地址池的内容。假设我们有一台 1 以太网端口的计算机充当 StrongSWAN VPN 服务器。我的理解是,默认情况下,端口转发(或 DMZ)会将 WAN IP 重新映射到笔记本电脑的私有 IP,以便在防火墙/NAT 路由器后面时可以从 Internet 访问它。默认情况下,服务器的以太网端口有一个私有 IP 地址 10.0.0.100,以及一个虚拟网络适配器隧道接口,其 IP 地址位于第三个子网中,仅用于通过虚拟隧道进行路由。然后每当远程客户端连接到 VPN Server 时,VPN Server 都会将一个虚拟 IP 地址附加到它的以太网端口,它代表客户端。
它如何为客户端获取虚拟 IP 地址是让我感到困惑的部分。
通常,当我将一台新计算机连接到我的网络时,它会从 DHCP 的 DORA 进程中获取 IP,该进程发生在第 2 层。它从 DORA 进程的 O 阶段获取 DNS 和子网信息。VPN 客户端将在第 3 层进入网络,并且在远程网络上没有第 2 层存在,因此无法使用在第 2 层运行的 DHCP。
也许当客户端连接到 VPN Server 时,VPN Server 在 VPN Server 上创建一个虚拟网络接口,让客户端在远程网络上有第 2 层存在,VPN Server 代表远程通过代理启动 DHCP DORA 进程客户端,然后远程网络上的 DHCP 服务器将带有 DNS 信息的 IP 地址分配给 VPN 服务器上存在的虚拟网络接口,并且该虚拟网络接口代表远程客户端?(不是说它像那样工作,只是说我试图想象它是如何工作的。)
但是,如果就这么简单,那么为什么会存在称为虚拟 IP 地址池的东西呢?还是我的概念混淆了,VIPAP 与远程 DHCP 解析无关?
