从信件到Tucha技术支持,这些文章诞生了。 因此,最近有一位客户与我们联系,要求澄清在用户办公室与云环境之间的VPN隧道内部连接以及在VPN隧道外部连接时发生的情况。 因此,下面的全文是一封真实的信,我们根据他的问题发给其中一位客户。 当然,我们更改了IP地址,以免使客户端匿名。 但是,是的,Tucha技术支持确实以其全面的答案和内容丰富的信函而闻名。 :-)
当然,我们知道对于许多人来说,这篇文章不是启示。 但是,由于不定期出现在Habr上的有关初学者的文章,并且由于该文章是写给真实客户的真实来信,因此我们仍将在此处共享此信息。 很可能对某人有用。
因此,我们详细说明了如果通过站点到站点网络连接云服务器和办公室之间会发生什么情况。 请注意,在这种情况下,部分服务仅可从办公室使用,而部分服务可从Internet的任何地方使用。
我们将立即说明,我们的客户希望他可以通过RDP从任何地方访问服务器
192.168.A.1 ,并连接到
AAA2:13389 ,并且
仅从通过以下方式连接的办公室
(192.168.B.0 / 24)连接到其他服务
:虚拟专用网 此外,客户端最初配置为办公室中的机器
192.168.B.2也可以通过RDP从任何地方访问,并连接到
BBB1:11111 。 我们帮助组织了云与办公室之间的IPSec连接,客户的IT专家开始询问有关在这种情况下会发生什么的问题。 为了回答所有这些问题,实际上,我们在下面给他写了所有您可以阅读的内容。

现在更详细地考虑这些过程。
第一名
当某物从
192.168.B.0 / 24发送到
192.168.A.0 / 24或从
192.168.A.0 / 24发送到
192.168.B.0 / 24时 ,它进入了VPN。 也就是说,此数据包被额外加密并在
BBB1和
AAA1之间传输,但是
192.168.A.1恰好看到了来自
192.168.B.1的数据包。 他们可以通过任何协议相互通信。 返回响应也以相同的方式通过VPN传输,这意味着从
192.168.A.1到
192.168.B.1的数据包将作为ESP数据报从
AAA1发送到
BBB1 ,路由器将在另一侧部署该数据包,从中获取该数据包并将其发送到
192.168.B.1作为来自
192.168.A.1的数据包。
具体示例:
1)
192.168.B.1访问
192.168.A.1 ,要与
192.168.A.1建立TCP连接
: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)为此,她尝试在ARP协议的缓存表中找到IP地址
192.168.B.254的MAC地址。 如果未找到,它将从地址
192.168.B.1向网络
192.168.B.0 / 24发送广播请求对象。
192.168.B.254将其MAC地址发送回给它时,系统会为其发送一个以太网数据包并将此信息存储在其缓存表中;
5)路由器接收到该数据包并决定将其发送到何处:它具有以下策略:它应通过
BBB1和
AAA1之间的VPN连接传输
192.168.B.0 / 24和
192.168.A.0 / 24之间的所有数据包;
6)路由器生成从
BBB1到
AAA1的ESP数据报;
7)路由器决定将该数据包发送给谁,因为它没有比0.0.0.0/0更具体的
AAA1路由,所以将其发送到
BBB254 (Internet提供商的网关);
8)以与上述相同的方式,找到
BBB254的MAC地址并将数据包发送到Internet提供商的网关;
9)互联网提供商通过其网络从
BBB1到
AAA1传输ESP数据报;
10)
AAA1上的虚拟路由器接收此数据报,对其进行解密,并从
192.168.B.1:55555接收一个针对
192.168.A.1:3389的数据包;
11)虚拟路由器检查应将其发送给谁,在路由表中找到网络
192.168.A.0 / 24并将其直接发送到
192.168.A.1 ,因为它具有接口
192.168.A.254 / 24 ;
12)为此,虚拟路由器找到
192.168.A.1的MAC地址,并通过虚拟以太网将该数据包传递给它;
13)
192.168.A.1在端口3389上收到此数据包,同意建立连接并形成一个数据包,以响应从
192.168.A.1:3389到
192.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)虚拟路由器接收此数据包并决定将其发送到何处:它具有以下策略:它应通过
AAA1和
BBB1之间的VPN连接传输
192.168.A.0 / 24和
192.168.B.0 / 24之间的所有数据包;
17)虚拟路由器生成从
AAA1到
BBB1的ESP数据报;
18)虚拟路由器决定应将此数据包发送给谁,然后将其发送到
AAA254 (Internet提供商的网关,在这种情况下,这也是我们),因为到
BBB1的路由比0.0.0.0/0更具体;
19)互联网提供商通过其网络从
AAA1向
BBB1传输ESP数据报;
20)
BBB1上的路由器接收到该数据报,对其进行解密,并从
192.168.A.1:3389接收一个针对
192.168.B.1:55555的数据包;
21)他知道应该将其传输到
192.168.B.1 ,因为他和他在同一个网络上,因此,他在路由表中有一个相应的条目,迫使他为整个
192.168.B.0 /发送数据包直接
24个 ;
22)路由器找到
192.168.B.1的MAC地址并发送此数据包;
23)地址为
192.168.B.1的计算机上的操作系统从
192.168.A.1:3389接收到
192.168.B.1:55555的数据包,并启动以下步骤以建立TCP连接。
这个示例非常简洁,简单(您可以在此处回忆很多细节)描述了2-4级时发生的情况。 不考虑1、5-7级。
第二位置
如果从
192.168.B.0 / 24向
AAA2专门发送了某些内容,则该内容不会直接转到VPN。 也就是说,如果来自地址
192.168.B.1的用户访问
AAA2:13389 ,则此数据包将从地址
BBB1磨损,传递到
AAA2 ,然后路由器在
此处接收并将其发送到
192.168.A.1 。
192.168.A.1对
192.168.B.1一无所知,他看到了来自
BBB1的数据包,因为他理解了。 因此,此请求的答案沿一般路线进行,从地址
AAA2到
BBB1完全相同 ,该路由器将此答案提供给
192.168.B.1 ,从
AAA2中看到答案,并向其寻址。
具体示例:
1)
192.168.B.1地址
AAA2 ,要与
AAA2建立TCP连接
: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)为此,正如我们在前面的示例中提到的,她尝试在ARP协议的缓存表中查找IP地址
192.168.B.254的MAC地址。 如果未找到,它将从地址
192.168.B.1向网络
192.168.B.0 / 24发送广播请求对象。
192.168.B.254向其发送回其MAC地址时,系统会为其发送一个以太网数据包,并将此信息存储在其缓存表中;
5)路由器接收到该数据包并决定将其发送到何处:它具有以下策略:必须将所有从
192.168.B.0 / 24的数据包转发(替换为返回地址)到其他Internet节点;
6)由于此策略意味着返回地址必须与该数据包将通过其传输的接口上的最低地址一致,因此路由器首先决定应将该数据包确切地传输给谁,并且如上例所示,他应将其发送给
BBB254 (Internet服务提供商网关),因为它没有比0.0.0.0/0更具体的到
AAA2的路由;
7)因此,路由器将替换数据包的返回地址,此后将数据包从
BBB1:44444 (端口号,当然可能有所不同)更改为
AAA2:13389 ;
8)路由器记住它所做的事情,这意味着当
收到从
AAA2: 13389到
BBB1:44444的
响应时,它将知道它将接收者的地址和端口更改为
192.168.B.1:55555 。
9)现在,路由器必须通过
BBB254将其传输到Internet提供商的网络,因此,按照我们已经提到的相同方式,它找到
BBB254的MAC地址并将数据包发送到Internet提供商的网关;
10)互联网提供商在其网络
上将数据包从
BBB1传输到
AAA2 ;
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)为此,虚拟路由器找到
192.168.A.1的MAC地址,并通过虚拟以太网将该数据包传递给它;
15)
192.168.A.1在端口3389上接收到此数据包,同意建立连接并在
BBB1:44444上响应
192.168.A.1:3389形成数据包;
16)他的系统将此数据包发送到虚拟路由器的网关地址(在本例中为
192.168.A.254 ),因为它没有针对
BBB1的其他更特定的路由,因此,它必须沿默认路由(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)虚拟路由器决定应将此数据包发送给谁,因为它没有比0.0.0.0/0更具体的
BBB1路由,所以将其发送到
AAA254 (Internet提供商的网关,在这种情况下,也是我们)。
20)Internet提供商在其网络
上将数据包从
AAA2传输到
BBB1 ;
21)
BBB1上的路由器接收到此数据包,并回想起它从
192.168.B.1:55555发送数据包到
AAA2:13389时 ,将其地址和发送方端口更改为
BBB1:44444 ,这意味着这是需要传输的答案在
192.168.B.1:55555上 (实际上,还有其他几条支票,但我们不进行讨论);
22)他知道应该将它们直接发送到
192.168.B.1 ,因为他和他在同一个网络上,因此,他在路由表中有一个对应的条目,迫使他为整个
192.168.B.0 / 24发送数据包直接
23)路由器找到
192.168.B.1的MAC地址并发送此数据包;
24)地址为
192.168.B.1的计算机上的操作系统从
AAA2:13389接收到
192.168.B.1:55555的数据包,并启动以下步骤以建立TCP连接。
应该注意的是,在这种情况下,地址为
192.168.B.1的计算机对地址为
192.168.A.1的服务器
一无所知 ,它仅与
AAA2通信。 同样,地址为
192.168.A.1的服务器对地址为
192.168.B.1的计算机一无所知。 他认为他们是从地址
BBB1与他建立联系的,因此,他一无所知。
还应注意,如果此计算机访问
AAA2:1540 ,将不会建立连接,因为即使在虚拟网络
192.168.A.0中的任何服务器上,也未在虚拟路由器上配置到端口1540的连接转发配置
/ 24 (例如,在地址为
192.168.A.1的服务器上),并且某些服务正在等待此端口上的连接。 如果绝对需要使用地址
192.168.B.1的计算机用户建立与此服务的连接,则他必须使用VPN,即 直接通过
192.168.A.1:1540与我们联系。
应该强调的是,任何与
AAA1建立连接的尝试(除了来自
BBB1的IPSec连接都不会成功。除与端口
13389的连接之外,与
AAA2建立连接的任何尝试都将失败。
还要注意,如果其他人
呼叫AAA2 (例如UDP),则第10-20段中指示的所有内容也将适用于他。 之前和之后发生的情况取决于其背后的确切内容。我们不拥有此类信息,因此,我们建议您向该地址的地址咨询网站管理员。
第三位置
反之亦然,如果某物从
192.168.A.1发送到某个配置为内部转发到BBB1的端口(例如11111),它也不会进入VPN,而是从
AAA1调皮到
BBB1 ,并且已经有人将其传输到
192.168.B.2:3389中的某个位置。 他看到的不是来自
192.168.A.1的包,而是来自
AAA1的包 。 并且,当
192.168.B.2应答时,数据包从
BBB1转到
AAA1 ,随后到达连接发起方
-192.168.A.1 。
具体示例:
1)
192.168.A.1地址为
BBB1 ,要与
BBB1建立TCP连接
:11111 ;
2)
192.168.A.1在
BBB1:11111上发送从
192.168.A.1:55555建立连接的请求(此数字,如上例所示,可能有所不同);
3)在地址为
192.168.A.1的服务器上运行的操作系统决定将此数据包传输到路由器的网关地址(在本例中为
192.168.A.254 ),因为它没有针对
BBB1的其他更具体的路由,因此,它将沿着默认路由(0.0.0.0/0)发送数据包;
4)为此,正如我们在前面的示例中提到的,她尝试在ARP协议的缓存表中查找IP地址
192.168.A.254的MAC地址。 如果未找到,它将从地址
192.168.A.1向网络
192.168.A.0 / 24发送广播请求对象。 当
192.168.A.254向其发送回其MAC地址时,系统将为其发送以太网数据包,并将此信息输入其高速缓存表;
5)虚拟路由器接收到该数据包并决定将其传输到何处:它具有一项策略,必须将所有从
192.168.A.0 / 24的数据包转发(替换为返回地址)到其他Internet节点;
6)由于此策略假定返回地址必须与该数据包将通过其传输的接口上的最低地址一致,因此虚拟路由器首先决定应将该数据包确切地传输给谁,并且如上例所示,他应将其发送给谁在
AAA254 (Internet提供商的网关,在这种情况下,这也是我们)上,因为到
BBB1的路由比0.0.0.0/0更具体;
7)这意味着虚拟路由器将替换数据包的返回地址,因此它是从
AAA1:44444 (端口号,当然可能有所不同)到
BBB1:11111的数据包 ;
8)虚拟路由器记住了他所做的事情,因此,当从
BBB1:11111收到AAA1 :44444的
响应时,他会知道他应该将接收者的地址和端口更改为
192.168.A.1:55555 。
9)现在,虚拟路由器必须通过
AAA254将其传输到Internet提供商的网络,这意味着,正如我们已经提到的,它找到
AAA254的MAC地址并将数据包发送到Internet提供商的网关;
10)互联网提供商在其网络
上将数据包从
AAA1传输
到BBB1 ;
11)
BBB1上的路由器在端口11111上收到此数据包;
12)虚拟路由器上有一条规则,规定从任何发件人接收到此端口的数据包都应传输到
192.168.B.2:3389 ;
13)路由器在路由表中找到网络
192.168.B.0 / 24 ,并将其直接发送到
192.168.B.2 ,因为它具有接口
192.168.B.254 / 24 ;
14)为此,虚拟路由器找到
192.168.B.2的MAC地址,并通过虚拟以太网将该数据包传递给它;
15)
192.168.B.2在端口3389上接收到此数据包,同意建立连接并形成一个数据包,以响应
192.168.B.2:3389到
AAA1: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 ,因此,他将发件人地址更改为
AAA1:44444的从
192.168.B.2:3389的数据包。在
BBB1:11111 ;
19)路由器决定将该数据包转发给谁。他将其发送到BBB254(Internet提供商的网关,我们不知道其确切地址),因为与AAA1相比,它没有比0.0.0.0/0 更具体的路由。20)互联网服务提供商传递他们的网络封装BBB1上AAA1 ;21),虚拟路由器AAA1接受程序包和回忆,当他路过一个包的192.168.A.1:55555为BBB1:11111,他改变了他的地址和端口AAA1:44444。因此,这是需要传输到192.168.A.1的答案:55555(实际上,正如我们在前面的示例中提到的那样,那里还有更多的检查,但是这次我们也不再赘述);22)他理解应该将其直接发送到192.168.A.1,因为他和他在同一个网络上,这意味着他在路由表中有一个相应的条目,迫使他为整个192.168.A.0 /发送数据包直接24个;23)路由器找到192.168.A.1的MAC地址并发送此数据包;24)地址为192.168.A.1的服务器上的操作系统从BBB1:1111 1 接收到192.168.A.1:55555的数据包,并启动以下步骤以建立TCP连接。以同样的方式在以前的情况,在这种情况下,地址服务器192.168.A.1不知道计算机的地址什么192.168.B.1,他只与通信BBB1。地址为192.168.B.1的计算机也不了解地址为192.168.A.1的服务器。他认为他们从地址AAA1连接到他,其余的对他隐藏了。结论
当在客户端办公室和云环境之间的VPN隧道内部连接时以及在VPN隧道外部连接时,就会发生这种情况。如果您仍然有疑问或需要我们的帮助来解决云问题,请联系24x7。