4. VPN外网网关发送VPN数据包到Internet当中,由于VPN数据包的目的地址是VPN网关的外部地址,所以该数据包将被Internet中的路由正确地发送到VPN网关外网接口。
5. VPN网关外网接口会检查所有接收到的数据包,如果发现该数据包是来自于公网中的VPN网关,则可判定该数据包为VPN数据包,然后会解封装该数据包。解封装时先剥离VPN数据包包头,然后把VPN数据包还原成原数据包。
6. 解封装之后的原始数据包会被VPN网关发送到内网终端B,由于原数据包中的目的地址是内网终端B的IP地址,因此内网中的终端B能够正确地收到该访问数据包。对于终端B来讲,它所收到的数据包就跟从终端A直接发送过来的数据包一样。
7. 从终端B返回终端A的数据包处理过程和上述过程一样,这样两个网络内的终端就可以相互通讯了。
通过上述说明可以发现,在VPN网关对数据包进行处理时,有两个参数对于VPN通讯十分重要: 原始数据包的目标地址(VPN目标地址)和远程VPN网关地址。根据VPN目标地址,VPN网关能够判断对哪些数据包进行VPN处理,对于不需要处理的数据包通常情况下可直接转发到上级路由;远程VPN网关地址则指定了处理后的VPN数据包发送的目标地址,即VPN隧道的另一端VPN网关地址。由于网络通讯是双向的,在进行VPN通讯时,隧道两端的VPN网关都必须知道VPN目标地址和与此对应的远端VPN网关地址。 基于IPSec协议的Linux VPN网关平台(6):http://www.751com.cn/jisuanji/lunwen_13723.html