例如:
Router A <-> Site-To-Site VPN <-> Router B <-> Site-to-Site VPN <-> Router C
如果设置静态路由,则:
Router A
不知道Router C LAN Subnet
,但我静态路由告诉我Router B
知道,它将流量发送到Router B
,Router B
并将该流量通过隧道发送到Router C.
Router C
回复说,它不知道Router A LAN Subnet
,但它通过静态路由知道Router B
,它将流量发送到Router B
,Router B
并通过 VPN 隧道发送到Router A
。
这可能吗?
答案1
如果不是这种情况,站点到站点的 VPN 就没什么用了,不是吗?
是的,这是可能的,而且一般都是这样设置的。它们只是两个路由器之间的加密“隧道”,除非有规则对其进行区别对待,否则 VPN 流量一旦到达目标站点就会像其他流量一样被处理,当然也可以被转发到另一个站点(如果流量需要到达那里的话)。
答案2
这不仅是可能的,而且是标准的。对于路由器来说,VPN 与物理连接并无不同,它们构成了所谓的“互联网”,数据包从开始到结束可能会穿越许多这样的路由器。
答案3
有了您举的确切例子……有可能。
问题是引入站点到站点 VPN 会使事情变得复杂,尤其是如果这些站点到站点 VPN 已制定仅允许流量往返某些子网的策略。您可以将它们设置为仅基于路由,而不会干扰限制流量的策略,但很多时候它们确实有这样的策略。
网络很可能不会只有站点到站点 VPN 隧道,路由器 A 的默认 0.0.0.0/0 路由会从隧道出去。如果路由器 B 有到路由器 A 和路由器 C 的路由...并且路由器 C 有到路由器 B 的默认路由...并且隧道上没有限制性策略...那么它应该可以工作。
但是,这种设置很少见。大多数隧道都对隧道的源/目标进行了限制,并且大多数人不会将 VPN 隧道用作默认路由,除非他们在这些位置没有单独的互联网连接。
答案4
首先,我会以不同的方式绘制该图(只能垂直绘制,因为水平太宽):
Host Zebra
|
(Router A LAN)
|
Router A
|
(Site-To-Site VPN)
|
Router B
|
(Site-to-Site VPN)
|
Router C
|
(Router C LAN)
|
Host Alligator
每台机器根据自己所知道的内容做出决策,并且您指出路由器 A 不知道路由器 C LAN,而路由器 C 不知道路由器 A LAN
- 假设 Zebra 将路由器 A 配置为其默认路由。它将通过路由器 A LAN 将发往主机 Alligator 的数据包发送到路由器 A。
- 下一跳就是您可能遇到麻烦的地方。路由器 A 不知道路由器 C LAN,因此它到达 Host Alligator 的最佳猜测是其默认路由。如果该默认路由通过 VPN 到达路由器 B,则每个人都会感到高兴。这种配置通常称为完整隧道,与“分割”或“分割水平”VPN 隧道不同,在“分割”或“分割水平”VPN 隧道中,路由器 A 会有一个到 Internet 的默认路由。
如果路由器 A 的默认路由是路由器 B,那么消息将到达主机 Alligator。但是,在从主机 Alligator 返回主机 Zebra 的途中,您会遇到同样的问题,除非路由器 C 的默认路由也是路由器 B。
解决这个问题的另一种方法是在路由器之间实施路由协议。然后它们会互相讨论它们可以到达的所有网络,你可能根本不需要静态路由。但路由协议有时很难设置和保护,所以这是另一个话题。