站点到站点 VPN 隧道配置

网络工程 虚拟专用网 隧道 格雷
2021-07-26 19:37:46

我记得在 uni 中,我们始终在边界路由器上实施 VPN 隧道,然后使用 GRE 隧道在两个远程子网之间进行连接。

我总是被告知 VPN 隧道需要知道路由器的外部接口(公共 IP)才能实现。

我想知道是否有办法在站点到站点的两个子网之间实现 VPN 隧道。例如,如果我们有一个包含 3 个子网的远程网络,而我想访问子网 2 上的服务器。

通常我会做我学到的东西,两个网络之间的 VPN 隧道和子网的 GRE 隧道。但这是对的吗?或者有更好的方法来做到这一点?

2个回答

隧道实际上只是将数据包封装在其他数据包中。外层数据包仍然需要能够正常路由到隧道源地址(不同于隧道地址本身。外层数据包内部携带的数据包将隧道视为单个链路,但外层数据包可能需要路由多跳,尤其是在公共互联网上路由时(这需要外部数据包的公共地址)隧道源必须能够发送正常路由到另一个隧道源的流量。

如果您在私有网络中有一个隧道源,那么您就不能在公共 Internet 上使用它,因为您无法通过公共 Internet 路由具有私有地址的数据包。这就是为什么隧道源地址通常是站点的公共 WAN 地址。如果您的两个隧道端点都在同一个专用网络中,那么您可以将隧道端点放在任何设备上,只要隧道源可以正常地相互访问。

在隧道上,您可以使用路由协议让隧道另一端的路由器了解站点上的任何网络,因此隧道每一侧有多少网络并不重要。隧道实际上就像用电缆连接两个站点一样,因为它建立了一条链路。

有不同的隧道类型,有些不能承载广播/多播流量,因此某些路由协议或多播路由可能无法在该隧道类型上工作。您可以在该类型的隧道内使用 GRE 隧道来解决此问题,或者使用支持您需要支持的功能的不同隧道类型。另一种可能性是在站点之间使用静态路由,但这不会扩展,并且它不像路由协议那样是动态的。

如果两个站点中的每个站点的私有寻址使用相同的私有寻址范围,您也可能会遇到问题。您可能需要使用 NAT 来克服这个问题。

为什么需要GRE隧道?您已经通过 VPN (IPSec) 形成隧道,因此您无需在其上形成 GRE 隧道。没有理由在您的情况下使用 GRE。如果您只需要访问远程服务器,请形成一个 VPN 隧道,然后允许访问远程子网中的服务器 2. GRE 是一种将数据重新打包到新标头中的方法。这样做的原因各不相同,例如您可能希望通过 IPSec 发送多播,或者有时您可能希望通过 IPSec VPN 或服务提供商 MPLS 进行动态路由的 GRE 隧道......但通常,人们不需要 GRE 和 IPSec VPN总之,VPN 本身就足够了。