可以使用NAT解决此问题;这不是很优雅。
因此,在这种假设下,您无法通过拥有内部网络的解决方案来解决此问题,这些内部网络的网络号如此罕见,以至于从未真正发生冲突,这是以下原则:
由于本地和远程子网都具有相同的网络号,因此来自客户端的流量将永远不会意识到它必须通过隧道网关才能到达目的地。即使我们可以想象,远程主机将要发送答案的情况也一样。
因此,与我呆在一起,并假装到目前为止,还没有任何其他问题,因为我写到要实现完全连接,您将需要在隧道内将NAT两端进行NAT,以区分主机并进行路由。
在这里制作一些网:
- 您的办公室网络使用192.0.2.0/24
- 您的远程办公室使用192.0.2.0/24
- 您的办公室网络VPN网关将192.0.2.0/24主机隐藏在NATed网络号198.51.100.0/24后面
- 您的远程办公室网络VPN网关将192.0.2.0/24主机隐藏在NATed网络号203.0.113.0/24后面
因此,在VPN通道内部,办公室主机现在为198.51.100.x,远程办公室主机为203.0.113.x。让我们进一步假设所有主机在其各自的VPN网关的NAT中都是1:1映射的。一个例子:
- 您的办公室网络主机192.0.2.5/24在办公室vpn网关NAT中静态映射为198.51.100.5/24
- 您的远程办公室网络主机192.0.2.5/24在远程办公室vpn网关NAT中静态映射为203.0.113.5/24
因此,当远程办公室中的主机192.0.2.5/24要连接到办公室网络中具有相同IP的主机时,需要使用地址198.51.100.5/24进行连接。发生以下情况:
- 在远程办公室,主机198.51.100.5是通过VPN到达并路由到此的远程目标。
- 在远程办公室,当数据包通过NAT功能时,主机192.0.2.5被伪装为203.0.113.5。
- 在办公室,当数据包通过NAT功能时,主机198.51.100.5将转换为192.0.2.5。
- 在办公室,到主机203.0.113.5的回程通信沿相反方向经过相同的过程。
因此,尽管有解决方案,但要解决此问题,必须解决许多问题:
- 伪装的IP必须用于远程连接。DNS变得复杂。这是因为从连接主机看,端点必须具有唯一的IP地址。
- 作为VPN解决方案的一部分,必须在两端都实现NAT功能。
- 要从另一端进行可达性,必须静态映射主机。
- 如果流量是单向的,则只有接收端需要所有涉及主机的静态映射;如果需要,客户端可以摆脱动态NAT。
- 如果流量是双向的,则两端都需要所有相关主机的静态映射。
- 无论拆分还是非拆分VPN,都不得损害Internet连接。
- 如果您无法一对一映射,则会变得混乱;仔细记账是必要的。
- 自然会冒使用NAT地址的风险,而NAT地址也被证明是重复的:-)
因此,解决此问题需要仔细设计。如果您的远程办公室确实由道路拥护者组成,则会在其中增加一系列问题:
- 当它们最终出现重叠的网络ID时,他们永远不会事先知道。
- 远程办公室网关NAT将需要在其笔记本电脑上实现。
- 办公室网关将需要两个VPN,其中一个不带NAT,一个不带NAT,以覆盖这两种情况。否则,如果有人要选择您为NAT方法选择的子网之一,那么事情将无法进行。
根据您的VPN客户端,您可能能够根据本地网段的网络地址自动选择一个VPN。
可以注意到,在此上下文中所有提到的NAT都表示NAT功能,可以说它是在隧道透视图中发生的。从过程上讲,静态NAT映射必须在数据包“进入”隧道之前完成,即在将其封装在传输数据包中之前,该传输数据包将其通过Internet传递到另一个VPN网关。
这意味着不得将VPN网关的公共IP地址(实际上也可能是NAT:ed,但完全不在通过VPN传输到远程站点的范围内)与用作伪装的唯一私有地址混淆。重复的私人地址。如果很难描述这种抽象,请在此处说明如何将NAT与VPN网关物理分离:
在重叠网络中使用NAT。
将同一张图片压缩到一台机器内部,能够同时执行NAT和VPN网关功能,这只是简单地将同一示例往前走了一步,但确实更加强调了手头软件的功能。将其与OpenVPN和iptables一起破解并在此处发布解决方案将是一个巨大的挑战。
在软件方面肯定可以实现:
PIX / ASA 7.x和更高版本:具有重叠网络的LAN到LAN IPsec VPN配置示例,
以及:
在具有重复LAN子网的路由器之间配置IPSec隧道
因此,实际的实现取决于很多因素,包括所涉及的操作系统,关联的软件及其可能性。但这当然是可行的。您将需要思考和试验。
通过链接我可以从思科那里学到这一点。