OpenVpn部署使用easy-rsa-3.0

OpenVpn简介:

OpenVPN是一个用于创建虚拟专用网络(Virtual Private Network加密通道的免费开源软件。使用OpenVPN可以方便地在家庭、办公场所、住宿酒店等不同网络访问场所之间搭建类似于局域网的专用网络通道。

支持系统:

Solaris、Linux 2.2+(Linux 2.2+表示Linux 2.2及以上版本,下同)、OpenBSD 3.0+、FreeBSD、NetBSD、Mac OS X、Android和Windows 2000+的操作系统

特性:

OpenVPN允许参与创建VPN的单点使用公开密钥、电子证书、或者用户名/密码来进行身份验证。它大量使用了OpenSSL加密库中的SSLv3/TLSv1协议函数库

1、加密
OpenVPN使用OpenSSL库加密数据与控制信息:它使用了OpenSSL的加密以及验证功能,意味着,它能够使用任何OpenSSL支持的算法。它提供了可选的数据包HMAC功能以提高连接的安全性。此外,OpenSSL的硬件加速也能提高它的性能。
2、验证
OpenVPN提供了多种身份验证方式,用以确认参与连接双方的身份,包括:预享私钥,第三方证书以及用户名/密码组合。预享密钥最为简单,但同时它只能用于创建点对点的VPN;基于PKI的第三方证书提供了最完善的功能,但是需要额外的精力去维护一个PKI证书体系。OpenVPN2.0后引入了用户名/口令组合的身份验证方式,它可以省略客户端证书,但是仍有一份服务器证书需要被用作加密。
3、网络
OpenVPN所有的通信都基于一个单一的IP端口,默认且推荐使用UDP协议通讯,同时TCP也被支持。OpenVPN连接能通过大多数的代理服务器,并且能够在NAT的环境中很好地工作。服务端具有向客户端“推送”某些网络配置信息的功能,这些信息包括:IP地址、路由设置等。OpenVPN提供了两种虚拟网络接口:通用Tun/Tap驱动,通过它们,可以创建三层IP隧道,或者虚拟二层以太网,后者可以传送任何类型的二层以太网络数据。传送数据可通过LZO算法压缩。IANA指定给OpenVPN的官方端口为1194。OpenVPN 2.0以后版本每个进程可以同时管理数个并发的隧道。
OpenVPN使用通用网络协议(TCP与UDP)的特点使它成为IPsec等协议的理想替代,尤其是在ISP(Internet service provider)过滤某些特定VPN协议的情况下。
4、安全
OpenVPN与生俱来便具备了许多安全特性:它在用户空间运行,无须对内核及网络协议栈作修改;初始完毕后以chroot方式运行,放弃root权限;使用mlockall以防止敏感数据交换到磁盘;OpenVPN通过PKCS#11支持硬件加密标识,如智能卡。

环境说明:

[root@check1 ~]# ip a | grep "scope global" | awk -F'[ /]+' '{print $3}' | head -1
172.16.227.43
[root@check1 ~]# curl ifconfig.me
47.97.104.63

[root@check1 ~]# cat /etc/redhat-release 
CentOS release 6.9 (Final)
[root@check1 ~]# uname -a
Linux check1 2.6.32-696.16.1.el6.x86_64 #1 SMP Wed Nov 15 16:51:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

1、一台Centos机器

2、有外网IP

3、可以连接外网(如果可以上网则使用yum安装,否则自行下载RPM包安装)

安装:

[root@check1 ~]# yum -y install openvpn easy-rsa
离线安装RPM包:
pkcs11-helper-1.11-3.el6.x86_64.rpm
openvpn-2.4.6-1.el6.x86_64.rpm
easy-rsa-3.0.3-1.el6.noarch.rpm

  

配置:

[root@check1 ~]# cp -r /usr/share/easy-rsa/ /etc/openvpn/
[root@check1 ~]# cd /etc/openvpn/easy-rsa/
[root@check1 easy-rsa]# ls
3 3.0 3.0.3
[root@check1 easy-rsa]# \rm 3 3.0
[root@check1 easy-rsa]# cd 3.0.3/
[root@check1 3.0.3]# find / -type f -name "vars.example" | xargs -i cp {} . && mv vars.example vars
[root@check1 3.0.3]# ls
easyrsa openssl-1.0.cnf vars x509-types

猜你喜欢

转载自www.cnblogs.com/LuckWJL/p/9776433.html
今日推荐