连接排障

一文读懂站点到站点VPN的工作过程与实现原理


一文读懂站点到站点VPN的工作过程与实现原理

很多企业跨区域办公时,经常遇到两个不同办公网点的内网设备无法互相访问、传内部业务数据要走公网裸奔的问题,站点到站点VPN是解决这类跨站点内网互通需求的主流方案,很多运维人员配置时经常卡在隧道不通、内网网段互访失败的环节,本文从实际运维排查的视角拆解站点到站点VPN的完整工作过程、底层实现逻辑,以及逐项校验的排查思路,帮你理清每一步的运行规则和常见问题点。

站点到站点VPN的前置配置校验项

在正式启动VPN隧道协商之前,首先要确认两端站点的出口网络基础状态,这是后续所有协商流程能跑通的前提。首先要检查两端VPN网关的公网接口是否能正常互相ping通,没有中间运营商的端口或协议拦截,快云加速很多新手配置完隧道发现完全没反应,第一步就漏了测两端公网地址的连通性。

接下来要核对两端提前规划的感兴趣流配置,也就是哪些内网网段需要走VPN隧道加密传输,两端的感兴趣流必须是镜像匹配的,比如站点A的感兴趣流是192.168.1.0/24去访问站点B的192.168.2.0/24,站点B的感兴趣流就必须是192.168.2.0/24去访问192.168.1.0/24,单边配置漏写网段的话,后续触发协商的流量根本不会被网关识别。

IKE第一阶段协商的完整工作过程

当站点A的内网用户发起访问站点B内网地址的流量时,站点A的VPN网关识别到该流量匹配感兴趣流,就会触发IKE第一阶段协商,首先向站点B的VPN网关发送IKE协商请求包。这个阶段的核心目标是在两端网关之间搭建一条安全的控制通道,用来后续协商加密密钥和隧道参数。

运维排查站点到站点VPN工作过程

运维人员校验两端VPN网关公网连通性,完成隧道协商前的前置检查

协商过程中两端会依次校验预设的IKE策略参数,包括加密算法、认证算法、密钥交换组、预共享密钥或者证书信息,所有参数必须完全匹配,任意一项不一致都会导致第一阶段协商直接中断,协商日志里会直接报参数不匹配的报错。校验全部通过后,梯子软件两端会生成第一阶段的SA安全联盟,控制通道正式建立完成。

IKE第二阶段协商与隧道正式激活流程

第一阶段通道建立完成后,两端就会启动IKE第二阶段协商,这个阶段的核心目标是生成用来加密业务数据的IPsec SA,确定感兴趣流对应的加密传输规则。两端会再次校验第二阶段的加密算法、封装模式、感兴趣流匹配规则,任意一项不匹配都会导致第二阶段协商失败,已经建立的第一阶段SA也会因为没有后续业务SA慢慢老化删除。

第二阶段协商全部通过后,两端就会生成双向的IPsec SA,站点到站点VPN的隧道正式激活。此时站点A发往站点B指定内网网段的流量,会被网关按照协商好的加密规则封装加密,外层打上两端VPN网关的公网地址头,通过公网传输到对端网关,对端网关解密之后剥离外层公网头,把原始的内网流量转发到对应的内网终端。

日常运行中的故障定位排查逻辑

如果隧道建立完成后出现部分业务不通的情况,首先要检查两端网关的内网路由配置,确认两端的内网回程流量都指向了本地的VPN网关,很多场景下站点B的内网网段回程路由指向了其他三层设备,流量根本没送到VPN网关做解密,自然无法正常返回。

接下来要排查中间公网路径上的NAT设备是否对VPN流量做了修改,如果任意一端的VPN网关后面还有额外的NAT设备,要确认已经开启了NAT穿越功能,同时在NAT规则里排除掉感兴趣流对应的内网网段,不要让需要走VPN隧道的业务流量被二次NAT,否则加密后的数据包会被中间设备篡改校验失败,直接丢弃。

很多运维的常见误区是以为站点到站点VPN建立之后所有流量都会走隧道,实际上只有匹配提前配置的感兴趣流的流量才会被加密传输,其余访问公网的流量还是会按照本地默认路由直接走本地出口上网,不会进入VPN隧道,也不会被加密,不存在所有上网流量都走对端站点出口的情况。

最后要注意站点到站点VPN的覆盖边界只限于两端提前配置的指定内网网段,不要把它和远程访问VPN的功能混淆,它本身是为两个固定站点的内网互通设计的,不支持移动终端随意接入隧道,快云加速也不能保证传输过程绝对不会被中间节点感知,只是原始的业务数据内容会被加密,不会被直接窃取。

连接排障编辑组
连接排障编辑组
内容编辑

按设备、网络、客户端和服务端逐层检查,让故障定位更有条理。

查看更多文章
配置入门

从一个连接问题开始

按设备、场景与故障现象查找资料,逐步理解 VPN 与网络加速的使用方法。