前言 我认为了解VPN的基本工作原理并实现一个TLS VPN需要以下前置知识: 虚拟专用网络(VPN)。既然要做一个VPN,那么首先需要了解VPN的基本概念,确认需要实现的VPN类型(IPSec VPN或TLS VPN),并大致了解VPN的组成框架; TUN/TAP与隧道。基于TCP隧道实现TLS VPN,那么隧道的概念与分类(基于UDP/TCP)需要有一定了解;另外VPN还使用到了虚拟网卡TUN,所以还需要了解TUN/TAP的工作原理以及使用; 安全套接字层(SSL)。为了保证数据传输的安全性,我们还需要使用同样用在HTTPS上的SSL,SSL介于应用层和运输层(仅限于TCP协议)之间,通过这个我们可以实现对数据的加密; PKI 和 X.509证书。这部分承接SSL,因为SSL握手认证时需要对服务器(客户端)进行身份认证,需要用到证书。既然涉及到证书还需要了解证书的签发者(CA); 身份认证。VPN的身份认证同样是一个重点部分,当然我们既然使用了SSL,说明已经对服务器进行身份认证,接下来只需要对客户端进行身份认证即可。我们这里简单使用Linux下的账户进行登录验
Axuanz
Updating as per fate.