VPN 隧道内部和外部的连接会发生什么情况

真正的文章是从给图茶技术支持的信中诞生的。 例如,最近一位客户联系我们,要求澄清在用户办公室和云环境之间的 VPN 隧道内部连接期间以及在 VPN 隧道外部连接期间会发生什么情况。 因此,下面的全文是我们为回应一位客户的问题而发送给他的一封真实的信件。 当然,IP 地址已更改,以免客户端去匿名化。 但是,是的,Tucha 技术支持确实以其详细的答案和信息丰富的电子邮件而闻名。 🙂

当然,我们知道对于许多人来说,这篇文章不会是一个启示。 但是,由于 Habr 上不时出现针对新手管理员的文章,而且由于这篇文章是一封写给真实客户的真实信件,因此我们仍然会在这里分享这些信息。 它很有可能对某人有用。
因此,我们详细解释了如果云中的服务器和办公室通过站点到站点网络连接,它们之间会发生什么。 请注意,有些服务只能从办公室访问,有些服务可以从互联网上的任何地方访问。

让我们立即解释一下我们的客户想要在服务器上做什么 192.168.A.1 您可以通过 RDP 从任何地方连接到 AAA2:13389,并且只能从办公室访问其他服务 (192.168.B.0/24)通过 VPN 连接。 此外,客户最初将汽车配置为 192.168.B.2 在办公室中,还可以从任何地方使用 RDP,连接到 BBB1:11111。 我们帮助组织云和办公室之间的 IPSec 连接,客户的 IT 专家开始询问在这种或那种情况下会发生什么。 为了回答所有这些问题,我们实际上写了您在下面可以读到的所有内容。

VPN 隧道内部和外部的连接会发生什么情况

现在让我们更详细地了解这些过程。

位置一

当有东西发送自 192.168.B.0/24 в 192.168.A.0/24 或来自 192.168.A.0/24 в 192.168.B.0/24,它进入VPN。 也就是说,这个数据包被额外加密并在之间传输 血脑屏障1 и AAA1192.168.A.1 看到包裹完全来自 192.168.B.1。 他们可以使用任何协议相互通信。 返回回复也以同样的方式通过 VPN 传输,这意味着来自 192.168.A.1192.168.B.1 将作为 ESP 数据报从 AAA1血脑屏障1,路由器将在该侧展开,从中取出该数据包并将其发送到 192.168.B.1 作为一个包来自 192.168.A.1.

具体示例:

1) 192.168.B.1 是有吸引力对 192.168.A.1,想要建立 TCP 连接 192.168.A.1:3389;

2) 192.168.B.1 发送连接请求 192.168.B.1:55555 (他自己选择反馈的端口号,下面我们以55555这个数字为例,系统在建立TCP连接时选择的端口号) 192.168.A.1:3389;

3)在具有以下地址的计算机上运行的操作系统 192.168.B.1,决定将此数据包转发到路由器的网关地址(192.168.B.254 在我们的例子中),因为其他更具体的路线 192.168.A.1,它没有,因此,它通过默认路由(0.0.0.0/0)传输数据包;

4) 为此,它尝试查找 IP 地址的 MAC 地址 192.168.B.254 在ARP协议缓存表中。 如果没有检测到,则从该地址发送 192.168.B.1 向网络广播 who-has 请求 192.168.B.0/24。 当 192.168.B.254 作为响应,它向其发送其 MAC 地址,系统为其传输以太网数据包并将该信息输入到其缓存表中;

5) 路由器接收该数据包并决定将其转发到何处:它有一个书面策略,根据该策略必须在之间发送所有数据包 192.168.B.0/24 и 192.168.A.0/24 通过 VPN 连接进行传输 血脑屏障1 и AAA1;

6) 路由器生成 ESP 数据报 血脑屏障1AAA1;

7) 路由器决定将该数据包发送给谁,例如,将其发送给, 血脑屏障254 (ISP网关)因为有更具体的路由 AAA1,比0.0.0.0/0,没有;

8) 与已经说过的完全相同,它找到了 MAC 地址 血脑屏障254 并将数据包发送至ISP网关;

9) 互联网提供商传输 ESP 数据报 血脑屏障1AAA1;

10) 虚拟路由器开启 AAA1 接收此数据报,对其进行解密并从以下位置接收数据包 192.168.B.1:55555192.168.A.1:3389;

11) 虚拟路由器检查将其传递给谁,在路由表中找到该网络 192.168.A.0/24 并直接发送至 192.168.A.1,因为它有一个接口 192.168.A.254/24;

12) 为此,虚拟路由器查找 MAC 地址 192.168.A.1 并通过虚拟以太网将该数据包传输给他;

13) 192.168.A.1 在端口 3389 上收到此数据包,同意建立连接并生成一个数据包作为响应 192.168.A.1:3389192.168.B.1:55555;

14) 他的系统将此数据包传输到虚拟路由器的网关地址(192.168.A.254 在我们的例子中),因为其他更具体的路线 192.168.B.1,它没有,因此,它必须通过默认路由(0.0.0.0/0)传输数据包;

15) 与之前的情况相同,在地址为的服务器上运行的系统 192.168.A.1,查找MAC地址 192.168.A.254,因为它与其接口位于同一网络上 192.168.A.1/24;

16) 虚拟路由器接收该数据包并决定将其转发到何处:它有一个书面策略,根据该策略必须在之间发送所有数据包 192.168.A.0/24 и 192.168.B.0/24 通过 VPN 连接进行传输 AAA1 и 血脑屏障1;

17) 虚拟路由器生成 ESP 数据报 AAA1血脑屏障1;

18) 虚拟路由器决定把这个数据包发送给谁,发送给 AAA254 (ISP网关,在这种情况下,也是我们),因为有更具体的路由 血脑屏障1,比0.0.0.0/0,没有;

19) 互联网提供商通过其网络传输 ESP 数据报 AAA1血脑屏障1;

20) 路由器开启 血脑屏障1 接收此数据报,对其进行解密并从以下位置接收数据包 192.168.A.1:3389192.168.B.1:55555;

21) 他明白应该专门转移到 192.168.B.1,由于他和他在同一个网络,因此,他在路由表中有一个相应的条目,这迫使他发送整个网络的数据包 192.168.B.0/24 直接地;

22) 路由器找到 MAC 地址 192.168.B.1 然后把这个包裹递给他;

23) 具有该地址的计算机上的操作系统 192.168.B.1 收到包裹 192.168.A.1:3389192.168.B.1:55555 并启动后续步骤来建立 TCP 连接。

这个例子非常简洁明了(在这里你可以记住一堆其他细节)描述了级别 2-4 发生的情况。 不考虑级别 1、5-7。

位置二

如果与 192.168.B.0/24 某物被专门发送至 AAA2,它不走VPN,而是直接走。 也就是说,如果用户从该地址 192.168.B.1 是有吸引力对 AAA2:13389,这个数据包来自地址 血脑屏障1, 传递 AAA2,然后路由器接收并转发给 192.168.A.1. 192.168.A.1 什么都不知道 192.168.B.1,他看到一个来自 血脑屏障1,因为他得到了他。 因此,对该请求的响应遵循一般路线,它以相同的方式来自该地址 AAA2 并前往 血脑屏障1,并且该路由器将此答案发送到 192.168.B.1,他看到了答案 AAA2,他向谁致辞。

具体示例:

1) 192.168.B.1 是有吸引力对 AAA2,想要建立 TCP 连接 AAA2:13389;

2) 192.168.B.1 发送连接请求 192.168.B.1:55555 (这个数字,与前面的例子一样,可能不同) AAA2:13389;

3)在具有以下地址的计算机上运行的操作系统 192.168.B.1,决定将此数据包转发到路由器的网关地址(192.168.B.254 在我们的例子中),因为其他更具体的路线 AAA2,它没有,这意味着它通过默认路由(0.0.0.0/0)传输数据包;

4) 为此,正如我们在前面的示例中提到的,它会尝试查找 IP 地址的 MAC 地址 192.168.B.254 在ARP协议缓存表中。 如果没有检测到,则从该地址发送 192.168.B.1 向网络广播 who-has 请求 192.168.B.0/24。 当 192.168.B.254 作为响应,它向其发送其 MAC 地址,系统为其传输以太网数据包并将该信息输入到其缓存表中;

5) 路由器接收该数据包并决定将其转发到何处:它有一个书面策略,根据该策略必须转发(替换返回地址)来自的所有数据包 192.168.B.0/24 至其他互联网节点;

6) 由于该策略意味着返回地址必须与传输该数据包的接口上的低地址相匹配,因此路由器首先决定将该数据包发送给谁,并且如上例所示,他必须发送该数据包到 血脑屏障254 (ISP网关)因为有更具体的路由 AAA2,比0.0.0.0/0,没有;

7) 因此,路由器替换了数据包的返回地址,从此数据包来自 BBB1:44444 (当然,端口号可能不同) AAA2:13389;

8)路由器记住它做了什么,这意味着什么时候 AAA2:13389 к BBB1:44444 响应到达时,他会知道他应该将目标地址和端口更改为 192.168.B.1:55555.

9) 现在路由器应该通过以下方式将其传递到 ISP 网络 血脑屏障254因此,就像我们已经提到的,它会找到 MAC 地址 血脑屏障254 并将数据包发送至ISP网关;

10) 互联网提供商传输数据包 血脑屏障1AAA2;

11) 虚拟路由器开启 AAA2 在端口 13389 上收到此数据包;

12) 虚拟路由器上有一条规则,规定从该端口上的任何发送方收到的数据包都应传输到 192.168.A.1:3389;

13)虚拟路由器在路由表中查找网络 192.168.A.0/24 并直接发送 192.168.A。1 因为它有接口 192.168.A.254/24;

14) 为此,虚拟路由器查找 MAC 地址 192.168.A.1 并通过虚拟以太网将该数据包传输给他;

15) 192.168.A.1 在端口 3389 上收到此数据包,同意建立连接并生成一个数据包作为响应 192.168.A.1:3389 BBB1:44444;

16) 他的系统将此数据包传输到虚拟路由器的网关地址(192.168.A.254 在我们的例子中),因为其他更具体的路线 血脑屏障1,它没有,因此,它必须通过默认路由(0.0.0.0/0)传输数据包;

17) 与之前的情况完全相同,在地址为的服务器上运行的系统 192.168.A.1,查找MAC地址 192.168.A.254,因为它与其接口位于同一网络上 192.168.A.1/24;

18) 虚拟路由器接收到这个数据包。 应该指出的是,他记得他收到的内容 AAA2:13389 包裹来自 BBB1:44444 并将收件人的地址和端口更改为 192.168.A.1:3389,因此,包来自 192.168.A.1:3389 BBB1:44444 它将发件人地址更改为 AAA2:13389;

19) 虚拟路由器决定把这个数据包发送给谁,它发送给 AAA254 (ISP网关,在这种情况下,也是我们),因为有更具体的路由 血脑屏障1,比0.0.0.0/0,没有;

20) 互联网提供商传输数据包 AAA2血脑屏障1;

21) 路由器开启 血脑屏障1 收到这个数据包并记得当他从 192.168.B.1:55555AAA2:13389,他将地址和发送端口更改为 BBB1:44444,那么这就是需要发送到的响应 192.168.B.1:55555 (事实上​​,还有更多检查,但我们不深入讨论);

22) 他明白应该将其直接传送至 192.168.B.1,由于他和他在同一个网络,因此,他在路由表中有一个相应的条目,这迫使他发送整个网络的数据包 192.168.B.0/24 直接地;

23) 路由器找到 MAC 地址 192.168.B.1 然后把这个包裹递给他;

24) 具有该地址的计算机上的操作系统 192.168.B.1 收到包裹 AAA2:13389192.168.B.1:55555 并启动后续步骤来建立 TCP 连接。

应该注意的是,在这种情况下,具有地址的计算机 192.168.B.1 对具有该地址的服务器一无所知 192.168.A.1,他只与 AAA2。 同样,具有地址的服务器 192.168.A.1 对具有该地址的计算机一无所知 192.168.B.1。 他相信他是通过该地址连接的 血脑屏障1,可以这么说,他什么也不知道。

还应该注意的是,如果这台计算机访问 AAA2:1540,将不会建立连接,因为虚拟路由器上未配置到端口 1540 的连接转发,即使在虚拟网络中的任何服务器上也是如此 192.168.A.0/24 (例如,在地址为 192.168.A.1)并且有一些服务正在等待此端口上的连接。 如果计算机用户有一个地址 192.168.B.1 必须建立与此服务的连接,它必须使用 VPN,即直接联系 192.168.A.1:1540.

应该强调的是,任何试图与 AAA1 (来自的 IPSec 连接除外 血脑屏障1 不会成功。 任何与以下用户建立连接的尝试 AAA2,除了连接到端口 13389 之外,也不会成功。
我们还注意到,如果 AAA2 如果其他人申请(例如 CCCC),第 10 至 20 段中指出的所有内容也将适用于他。 在此之前和之后发生的情况取决于这个 CCCC 背后到底是什么,我们没有此类信息,因此建议您咨询具​​有 CCCC 地址的节点的管理员

位置三

并且,相反,如果 192.168.A.1 某些内容被发送到配置为向内转发到 BBB1 的某个端口(例如 11111),它也不会最终进入 VPN,而只是从 AAA1 并进入 血脑屏障1,他已经把它传送到某个地方了,比如说, 192.168.B.2:3389。 他看到这个包裹不是来自 192.168.A.1,来自 AAA1。 什么时候 192.168.B.2 回复,包裹来自 血脑屏障1AAA1, 然后到达连接发起者 - 192.168.A.1.

具体示例:

1) 192.168.A.1 是有吸引力对 血脑屏障1,想要建立 TCP 连接 BBB1:11111;

2) 192.168.A.1 发送连接请求 192.168.A.1:55555 (这个数字,与前面的例子一样,可能不同) BBB1:11111;

3)运行在地址为服务器上的操作系统 192.168.A.1,决定将此数据包转发到路由器的网关地址(192.168.A.254 在我们的例子中),因为其他更具体的路线 血脑屏障1,它没有,因此,它通过默认路由(0.0.0.0/0)传输数据包;

4) 为此,正如我们在前面的示例中提到的,它会尝试查找 IP 地址的 MAC 地址 192.168.A.254 在ARP协议缓存表中。 如果没有检测到,则从该地址发送 192.168.A.1 向网络广播 who-has 请求 192.168.A.0/24。 当 192.168.A.254 作为回应,他向她发送他的 MAC 地址,系统为其传输一个以太网数据包,并将该信息输入到其缓存表中;

5) 虚拟路由器接收该数据包并决定将其转发到何处:它有一个书面策略,根据该策略必须转发(替换返回地址)来自的所有数据包 192.168.A.0/24 至其他互联网节点;

6) 由于该策略假设返回地址必须与传输该数据包的接口上的低地址相匹配,因此虚拟路由器首先决定将该数据包发送给谁,并且如上例所示,他必须发送它在 AAA254 (ISP网关,在这种情况下,也是我们),因为有更具体的路由 血脑屏障1,比0.0.0.0/0,没有;

7) 这意味着虚拟路由器替换了数据包的返回地址,从现在起它是来自 AAA1:44444 (当然,端口号可能不同) BBB1:11111;

8) 虚拟路由器会记住它所做的事情,因此,当从 BBB1:11111AAA1:44444 响应到达时,他会知道他应该将目标地址和端口更改为 192.168.A.1:55555.

9) 现在虚拟路由器应该通过以下方式将其传递到 ISP 网络 AAA254,就像我们已经提到的那样,它会找到 MAC 地址 AAA254 并将数据包发送至ISP网关;

10) 互联网提供商传输数据包 AAA1 至 BBB1;

11) 路由器开启 血脑屏障1 在端口 11111 上收到此数据包;

12) 虚拟路由器上有一条规则,规定从该端口上的任何发送方到达的数据包都应传输到 192.168.B.2:3389;

13) 路由器在路由表中找到该网络 192.168.B.0/24 并直接发送至 192.168.B.2,因为它有一个接口 192.168.B.254/24;

14) 为此,虚拟路由器查找 MAC 地址 192.168.B.2 并通过虚拟以太网将该数据包传输给他;

15) 192.168.B.2 在端口 3389 上收到此数据包,同意建立连接并生成一个数据包作为响应 192.168.B.2:3389AAA1:44444;

16) 他的系统将此数据包传输到路由器的网关地址(192.168.B.254 在我们的例子中),因为其他更具体的路线 AAA1,它没有,因此,它必须通过默认路由(0.0.0.0/0)传输数据包;

17) 与前面的情况相同,在地址为 的计算机上运行的系统 192.168.B.2,查找MAC地址 192.168.B.254,因为它与其接口位于同一网络上 192.168.B.2/24;

18) 路由器接收到这个数据包。 应该指出的是,他记得他收到的内容 BBB1:11111 包裹来自 AAA1 并将收件人的地址和端口更改为 192.168.B.2:3389,因此,包来自 192.168.B.2:3389AAA1:44444 它将发件人地址更改为 BBB1:11111;

19) 路由器决定将该数据包发送给谁。 他将其发送给,例如, 血脑屏障254 (ISP网关,具体地址我们不知道),因为没有更具体的路由 AAA1,比0.0.0.0/0,没有;

20) 互联网提供商传输数据包 血脑屏障1AAA1;

21) 虚拟路由器开启 AAA1 收到这个数据包并记得当他从 192.168.A.1:55555BBB1:11111,他将地址和发送端口更改为 AAA1:44444。 这意味着这是需要发送到的答案 192.168.A.1:55555 (事实上​​,正如我们在前面的例子中提到的,还有更多的检查,但这次我们不深入讨论它们);

22) 他明白应该将其直接传送至 192.168.A.1,由于他和他在同一个网络,就意味着他在路由表中有一个相应的条目,迫使他向整个网络发送数据包 192.168.A.0/24 直接地;

23) 路由器找到 MAC 地址 192.168.A.1 然后把这个包裹递给他;

24) 服务器上的操作系统及其地址 192.168.A.1 收到包裹 BBB1:11111为 192.168.A.1:55555 并启动后续步骤来建立 TCP 连接。

与之前的情况完全相同,在本例中是具有地址的服务器 192.168.A.1 对具有该地址的计算机一无所知 192.168.B.1,他只与 血脑屏障1。 有地址的电脑 192.168.B.1 也不知道该地址的服务器 192.168.A.1。 他相信他是通过该地址连接的 AAA1,其余的对他来说是隐藏的。

结论

这就是客户办公室和云环境之间的 VPN 隧道内部连接以及 VPN 隧道外部连接的所有发生方式。 如果您有任何疑问或需要我们帮助解决云问题, 24天7小时联系我们。

来源: habr.com

添加评论