目录

IPsec 给计算机网络世界带给的困惑

在计算机网络的世界里,一个概念的核心就是 Route(路由),其定义了:某个指定的 Packet 要从哪个 Interface 出去的规则。许多网络应用软件都是基于这个事实来设计的。例如:iproute、iptables、各类路由软件等。

但是,IPSec 的实现默认会根据 Kernel 里的规则直接就进行了封装和转发,这就导致了:你没有办法通过增加一条路由规则来告诉计算机哪些地址要通过 IPsec 隧道。

要解决这个问题,有一个计算机网络世界里面常见的手段:增加一层封装,即:虚拟出来一个设备,使其既能执行 IPSec 的规则,又能符合路由的游戏规则。

  • IPsec 只管建立 SA 和进行封装转发。
  • 虚拟设备只管数据包怎么处理和路由。

这就是 IPSec Virtual Tunnel Interface(VTI,虚拟隧道