虚拟专用网络 (VPN) 是跨专用网络或公用网络(例如 Internet)的点对点连接。VPN 客户端使用基于 TCP/IP 的特殊协议(称为“隧道协议”)在两台计算机之间建立可用于发送数据的安全通道。从两台参与计算机的角度来看,在它们之间有一条专用的点对点链路,尽管实际上数据与任何其他数据包一样都是通过 Internet 进行路由。在典型的 VPN 部署中,客户端通过 Internet 启动与远程访问服务器的虚拟点对点连接。远程访问服务器应答呼叫,对呼叫方进行身份验证,并在 VPN 客户端与组织的专用网络之间传输数据。
为了模拟点对点链路,使用标头来封装数据。标头提供路由信息,使数据可以通过共享网络或公用网络到达其终结点。为了模拟专用链路,对所发送的数据进行加密,以保证机密性。有关此版本的 Windows 支持的隧道协议的详细信息,请参阅
有关安装要求,请参阅将 RRAS 作为 VPN 服务器安装的要求。
VPN 连接
有两种类型的 VPN 连接:
远程访问 VPN
远程访问 VPN 连接使在家中或路上工作的用户可以使用公用网络(例如 Internet)提供的基础结构来访问专用网络上的服务器。从用户的角度来看,VPN 是客户端计算机与组织的服务器之间的点对点连接。共享网络或公用网络的基础结构是不相关的,因为 VPN 是以逻辑形式出现,仿佛数据通过专用链路发送一样。
站点间 VPN
站点间 VPN 连接(有时称为路由器间 VPN 连接)使组织可以在各个独立办公室之间或与其他组织之间通过公用网络建立路由的连接,同时帮助保证通信的安全。通过 Internet 连接网络时(如下图中所示),启用了 VPN 的路由器将通过 VPN 连接将数据包转发到其他启用 VPN 的路由器。对于路由器,VPN 连接在逻辑上显示为专用的数据链路层链路。
站点间 VPN 连接连接两个专用网络。VPN 服务器提供与 VPN 服务器连接到的网络的路由连接。呼叫路由器向应答路由器进行自我身份验证,为了进行相互身份验证,应答路由器也向呼叫路由器进行自我身份验证。在站点间 VPN 连接中,从任一路由器通过 VPN 连接发送的数据包通常不是源自路由器。
跨 Internet 连接两个远程站点的 VPN
VPN 连接的属性
- 封装。专用数据被封装,其标头包含的路由信息使数据可以在网络之间传输。有关封装的示例,请参阅
VPN 隧道协议 (https://go.microsoft.com/fwlink/?linkid=140602)(可能为英文网页)。 - 身份验证。VPN 连接的身份验证采用三种不同的形式:
- 使用点对点协议 (PPP) 身份验证的用户级身份验证。为了建立 VPN 连接,VPN 服务器使用 PPP 用户级身份验证方法对正在尝试连接的 VPN 客户端进行身份验证,并验证 VPN 客户端是否拥有相应的授权。如果使用相互身份验证,VPN 客户端也将对 VPN 服务器进行身份验证,以应对伪装成 VPN 服务器的计算机。
- 使用 Internet 密钥交换 (IKE) 的计算机级身份验证。为了建立 Internet 协议安全 (IPsec) 安全关联 (SA),VPN 客户端和 VPN 服务器使用 IKE 协议交换计算机证书或预共享密钥。在任何一种情况下,VPN 客户端和 VPN 服务器均将在计算机级别进行相互身份验证。计算机证书身份验证是功能更加强大的身份验证方法,因此强烈建议使用。计算机级身份验证仅供第二层隧道协议 (L2TP)/IPsec 或 IKE 版本 2 连接使用。
- 数据源身份验证和数据完整性。为了验证通过 VPN 连接发送的数据是否源自连接的另一端并且在传输中未被修改,数据中包含基于加密密钥(只有发送方和接收方知道)的加密校验和。数据源身份验证和数据完整性可用于 L2TP/IPsec 和 IKE 版本 2 连接。
- 使用点对点协议 (PPP) 身份验证的用户级身份验证。为了建立 VPN 连接,VPN 服务器使用 PPP 用户级身份验证方法对正在尝试连接的 VPN 客户端进行身份验证,并验证 VPN 客户端是否拥有相应的授权。如果使用相互身份验证,VPN 客户端也将对 VPN 服务器进行身份验证,以应对伪装成 VPN 服务器的计算机。
- 数据加密。为了保证数据在共享传输网络或公用传输网络上传输时的机密性,由发送方对数据进行加密,由接收方对数据进行解密。加密和解密过程依赖于使用通用加密密钥的发送方和接收方。
没有通用加密密钥的用户即使截获了在传输网络中通过 VPN 连接发送的数据包,也无法理解数据。加密密钥的长度是重要的安全参数。可以使用计算方法确定加密密钥。但是,随着加密密钥的增大,此类方法需要更强的计算能力和更多的计算时间。因此,使用尽可能大的密钥大小来保证数据机密性是非常重要的。