# CentOS7 安装 OpenVPN
本文先会简单介绍一波 VPN, 然后稍微详细地 BB 一下基于 VM 在 CentOS7 中安装 OpenVPN 的过程
# 简单 BB VPN
首先本人才疏学浅, 接触这玩意也没多久, 很多认识也不对, 还望斧正.
为什么会有 VPN? 很多人知道它的原因是要翻墙, 因为它有能力将世界范围内的两台甚至更多的设备拉在一起, 就像大家在同一个局域网下排排坐, 同时, 它又能提供较好的保密通信功能, 完美契合翻墙的需求.
VPN 要能正常工作, 基于我现在的认识, 最起码先要有物理上的通路, 然后在一个指定的网络范围内, 至少一方能够发现接通另一方, 或者双方都能够互相发现接通. 一个常见的例子, 就像我们买了一台 Vultr 的主机, 它有公网 IP, 只要我们本地的机子能够连通这个 IP, 理论上我们就能建立 VPN 网络.
有关于 VPN 的分类: 按照连接类型, 应该可以分成 "站点对站点连接" 和 "远程连接", 前者可以将两个网段的设备连在一起, 公司搭建异地内网就可以用这个; 后者就像 B/S 或者 C/S 模式, 多台设备连一个服务器, 设备之间可以选择看见或看不见, 出差员工连接公司内网可以用这种. 如果按照协议划分的话, 就会有什么 PPTP VPN (微软专利, 安全性很弱, 基本淘汰了, 但是 Win 系统自带), 还有啥 L2TP VPN (这个貌似是 PPTP 的升级版本?), 还有很多其他的类型.
比如说两台设备之间创建了 VPN, 检查一下设备的网络适配器就可以发现多了一些东西, 而两台设备之间创建的这种虚拟网路就被称为 "隧道" (翻墙的同志应该很耳熟).
# 条件假设
首先我创建了两台虚拟设备: Server, Client. 全部使用桥接网络模式. 之前 BB 过, 机子之间能建立 VPN 需要能够单向或双向发现设备, 所以我们的 VPN 就建立在一个局域网中的设备之间. (是嘛)