虚拟专用网(英语:Virtual Private
Network,简称VPN),是一种常用于连接中、大型企业或团体与团体间的私人网络的通讯方法。虚拟私人网络的讯息透过公用的网络架构(例如:互联网)来传送内联网的网络讯息。它利用已加密的通道协议(Tunneling
Protocol)来达到保密、发送端认证、消息准确性等私人消息安全效果。这种技术可以用不安全的网络(例如:互联网)来发送可靠、安全的消息。需要注意的是,加密消息与否是可以控制的。没有加密的虚拟专用网消息依然有被窃取的危险。
常用的虚拟专用网(VPN)协议有:
L2F
L2F,或第二层转发协议(Layer
2 Forwarding
Protocol),是由思科系统公司开发的,创建在互联网上的虚拟专用网络连接的隧道协议。L2F协议本身并不提供加密或保密;它依赖于协议被传输以提供保密。L2F是专为隧道点对点协议(PPP)通信。
L2FTP
第二层隧道协议(英语:Layer
Two Tunneling
Protocol,缩写为L2TP)是一种虚拟隧道协议,通常用于虚拟专用网。L2TP协议自身不提供加密与可靠性验证的功能,可以和安全协议搭配使用,从而实现数据的加密传输。经常与L2TP协议搭配的加密协议是IPsec,当这两个协议搭配使用时,通常合称L2TP/IPsec。
L2TP支持包括IP、ATM、帧中继、X.25在内的多种网络。在IP网络中,L2TP协议使用注册端口
UDP
1701。因此,在某种意义上,尽管L2TP协议的确是一个数据链路层协议,但在IP网络中,它又的确是一个会话层协议。
点对点隧道协议
点对点隧道协议(英语:Point
to Point Tunneling
Protocol,缩写为PPTP)是实现虚拟专用网(VPN)的方式之一。PPTP使用传输控制协议(TCP)创建控制通道来发送控制命令,以及利用通用路由封装(GRE)通道来封装点对点协议(PPP)数据包以发送数据。这个协议最早由微软等厂商主导开发,但因为它的加密方式容易被破解,微软已经不再建议使用这个协议。
PPTP的协议规范本身并未描述加密或身份验证的部份,它依靠点对点协议(PPP)来实现这些安全性功能。因为PPTP协议内置在微软视窗系统家族的各个产品中,在微软点对点协议(PPP)协议堆栈中,提供了各种标准的身份验证与加密机制来支持PPTP
[1]。 在微软视窗系统中,它可以搭配PAP、CHAP、MS-CHAP
v1/v2或EAP-TLS来进行身份验证。通常也可以搭配微软点对点加密(MPPE)或IPSec的加密机制来提高安全性。
IPsec
互联网安全协定(英语:Internet
Protocol Security,缩写为
IPsec),是透过对IP协议(互联网协议)的分组进行加密和认证来保护IP协议的网络传输协议族(一些相互关联的协议的集合)。
IPsec由两大部分组成:建立安全分组流的密钥交换协议;保护分组流的协议。前者为互联网金钥交换(IKE)协议。后者包括加密分组流的封装安全载荷协议(ESP协议)或认证头协议(AH协议)协议,用于保证数据的机密性、来源可靠性(认证)、无连接的完整性并提供抗重播服务。
SSL
VPN
SSL VPN是解决远程用户访问敏感公司数据最简单最安全的解决技术。与复杂的IPSec
VPN相比,SSL通过简单易用的方法实现信息远程连通。任何安装浏览器的机器都可以使用SSL VPN, 这是因为SSL 内嵌在浏览器中,它不需要象传统IPSec
VPN一样必须为每一台客户机安装客户端软件。
openvpn
在OpenVpn中,如果用户访问一个远程的虚拟地址,则操作系统会通过路由机制将数据包(TUN模式)或数据帧(TAP模式)发送到虚拟网卡上,服务程序接收该数据并进行相应的处理后,通过SOCKET从外网上发送出去,远程服务程序通过SOCKET从外网上接收数据,并进行相应的处理后,发送给虚拟网卡,则应用软件可以接收到,完成了一个单向传输的过程,反之亦然。