Centos7上openVP-密钥登陆

Open**的简介与搭建

一、简介

Open 是一个基于 OpenSSL 库的应用层 实现。和传统 ** 相比,它的优点是简单易用

什么是Open
直译就是虚拟专用通道,是提供给企业之间或者个人与公司之间安全数据传输的隧道,Open无疑是Linux下开源的先锋,提供了良好的性能和友好的用户GUI。该软件最早由James Yonan编写
Open允许参与建立的单点使用预设的私钥,第三方证书,或者用户名/密码来进行身份验证。它大量使用了OpenSSL加密库,以及SSLv3/TLSv1协议
Open能在Linux、xBSD、Mac OS X与Windows2000/XP上运行。它并不是一个基于Web的软件,也不与IPsec及其他**软件包兼容。

【以下深蓝色字体部分来自维基百科:http://zh.wikipedia.org/wiki/Open
Open
允许参与建立的单点使用共享金钥,电子证书,或者用户名/密码来进行身份验证。它大量使用了OpenSSL加密库中的SSLv3/TLSv1协议函式库。目前Open能在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X与Windows 2000/XP/Vista上运行,并包含了许多安全性的功能。它并不是一个基于Web的软件,也不与IPsec及其他软件包兼容。
Open**使用OpenSSL库加密数据与控制信息:它使用了OpenSSL的加密以及验证功能,意味着,它能够使用任何OpenSSL支持的算法。它提供了可选的数据包HMAC功能以提高连接的安全性。此外,OpenSSL的硬件加速也能提高它的性能。

Open提供了多种身份验证方式,用以确认参与连接双方的身份,包括:预享私钥,第三方证书以及用户名/密码组合。预享密钥最为简单,但同时它只能用于建立点对点的;基于PKI的第三方证书提供了最完善的功能,但是需要额外的精力去维护一个PKI证书体系。Open2.0后引入了用户名/口令组合的身份验证方式,它可以省略客户端证书,但是仍有一份服务器证书需要被用作加密。
Open
所有的通信都基于一个单一的IP端口,默认且推荐使用UDP协议通讯,同时TCP也被支持。Open连接能通过大多数的代理服务器,并且能够在NAT的环境中很好地工作。服务端具有向客户端“推送”某些网络配置信息的功能,这些信息包括:IP地址、路由设置等。Open提供了两种虚拟网络接口:通用Tun/Tap驱动,通过它们,可以建立三层IP隧道,或者虚拟二层以太网,后者可以传送任何类型的二层以太网络数据。传送的数据可通过LZO算法压缩。IANA(Internet Assigned Numbers Authority)指定给Open的官方端口为1194。Open2.0以后版本每个进程可以同时管理数个并发的隧道。

Open使用通用网络协议(TCP与UDP)的特点使它成为IPsec等协议的理想替代,尤其是在ISP(Internet service provider)过滤某些特定协议的情况下。在选择协议时候,需要注意2个加密隧道之间的网络状况,如有高延迟或者丢包较多的情况下,请选择TCP协议作为底层协议,UDP协议由于存在无连接和重传机制,导致要隧道上层的协议进行重传,效率非常低下。

Open**搭建

环境:centos7 3.10x86x64(core)
1、一台客户端windows7x64 IP:123.123.123.10 tun网段:10.0.100.0/24
2、网关、open 服务器(切记开启虚拟化) Centos73.10.0-514.el7.x8664
公网IP:123.123.123.123 内网IP:192.168.100.251(网关)
3、两台不同网段内网服务器(这里用wingdows7和windows XP模拟)
FTP服务器IP:192.168.150.10 Samba服务器IP:192.168.157.10*

一、安装软件包

1、更新源 yum upgrade
2、装epel库 yum -y install epel-release
3、安装依赖包 yum -y install open openssh-server lzo openssl openssl-devel NetworkManager-open open-auth-ldap
4、手动下载easy-rsa 想要生成各种证书和密钥,我们还要用到easy-rsa(只有服务器端需要easy-rsa,客户端无需安装)。坑爹的是,Open
2.3.x并没有自带这个东西,我们还需要去GitHub下载easy-rsa。更坑爹的是,GitHub上的easy-rsa已经升级到了3.0版本,该版本几乎重写了之前所有的程序代码,连使用方法都全变了,然Open的官方文档并没有作相应更新,其中介绍的仍然是easy-rsa 2.0的操作方法。为了避免不必要的麻烦,我们推荐下载2.0版本的easy-rsa,你也可以直接点击这里下载。
1)在这里我们将下载的easy-rsa-release-2.x.zip上传并解压放在/usr/local/open
/目录中(这里open目录是新建的)
Centos7上openVP-密钥登陆
Centos7上openVP-密钥登陆
5、拷贝配置文件 cp /usr/share/doc/open
-2.4.4/sample/sample-config-files/server.conf /etc/open
Centos7上openVP-密钥登陆
6、备份配置文件cp /etc/open
/server.conf /etc/open/server.conf.back
Centos7上openVP-密钥登陆
Centos7上openVP-密钥登陆
7、编辑配置文件 vim /etc/open
/server.conf
Centos7上openVP-密钥登陆
注:这里使用的是udp协议(tcp协议在网络较弱时容易断线)

二、配置证书

1、递归创建/easy-rsa/2.0/目录 mkdir -p /etc/open/easy-rsa/2.0/
Centos7上openVP-密钥登陆
2、保留原文件属性复制文件 cp -a /usr/local/open
/easy-rsa-release-2.x/easy-rsa/2.0/ /etc/open/easy-rsa/2.0(这里以后就是各种证书和密钥的根据地了)
Centos7上openVP-密钥登陆
3、编辑vars文件 vi /etc/open
/easy-rsa/2.0/vars
Centos7上openVP-密钥登陆
4、制作证书
1)备份证书配置文件 cp /etc/open/easy-rsa/2.0/openssl-1.0.0.cnf /etc/open/easy-rsa/2.0/openssl.cnf
Centos7上openVP-密钥登陆
2)切换目录让配置文件生效(根据截图提示按步骤操作)
当执行完 ./build-ca后按回车键,一直到结束。
Centos7上openVP-密钥登陆
3)创建服务端证书
执行命令./build-key-server server 按回车键进行,在提示输入密码的地方,设置一个密码如feiyu,在An optional company name处输入xingyoucai.com,最后输入两次“y”回车。
Centos7上openVP-密钥登陆
Centos7上openVP-密钥登陆
4)创建客户端证书
执行命令生成迪菲•赫尔曼交换密钥./build-dh 创建秘钥文件,等待命令执行完。
Centos7上openVP-密钥登陆
5)查看目录中创建好的证书文件 ls /etc/open/easy-rsa/keys/
Centos7上openVP-密钥登陆
6)创建客户端证书文件(在/etc/open
/easy-rsa/2.0/下执行)
执行命令./build-key client1创建客户端证书文件,按回车进行,提示输入密码的地方,输入之前设置的证书密码feiyu,An optional company name处输入先前设置的公司名字(xingyoucai.com)。【一定要和先前输入的一样,其他参数如果前面设置了,也要保持一致噢】 #另外注意:有多少个客户端就需要./build-key client 多少次,当然client名字需不同。
Centos7上openVP-密钥登陆
Centos7上openVP-密钥登陆
7)查看证书 ls /etc/open**/easy-rsa/keys/
Centos7上openVP-密钥登陆

三、设置iptables、路由转发

1、安装iptables yum -y install iptables-services
2、设置iptables开机自启 systemctl enable iptables
3、关闭Centos7默认的 firewall防火墙 systemctl stop firewalld
4、关闭Centos7默认的 firewall防火墙开机自启 systemctl disable firewalld
5、启动iptables systemctl start iptables
6、清空iptables默认规则 iptables –F iptables –X iptables -Z
7、设置iptables NAT转发规则 iptables -t nat -A POSTROUTING -s 10.0.100.0/24 -j MASQUERADE
Centos7上openVP-密钥登陆
Centos7上openVP-密钥登陆
注:保存防火墙规则service iptables save(防止重启规则丢失)
Centos7上openVP-密钥登陆
8、开启路由转发 vi /etc/sysctl.conf
Centos7上openVP-密钥登陆
验证: sysctl -p
Centos7上openVP-密钥登陆

四、启动open***

1、创建日志存放目录 mkdir /var/log/open/
2、设置启动文件 systemctl -f enable open
@server.service
Centos7上openVP-密钥登陆
3、启动open的命令 systemctl start open@server.service
Centos7上openVP-密钥登陆
注:根据查看状态信息解决报错 systemctl status open@server.service
解决完报错重启open
systemctl start open@server.service
Centos7上openVP-密钥登陆
以上报错问题已解决,解决办法为注释以下这两行重启就好了。
#tls-auth ta.key 1 #explicit-exit-notify 1
4、打开iptables防火墙的1194端口 iptables -A INPUT -p udp --destination-port 1194 -j ACCEPT
Centos7上openVP-密钥登陆
5、查看open
服务运行(centos7需要安装net-tools) netstat –antulp
Centos7上openVP-密钥登陆
6、open客户端(电脑、手机)连接使用telnet命令连接**1194端口

六、配置客户端实现连接

1、把服务器上的三个客户端证书文件,下载到本地电脑配置客户端。
/etc/open
/easy-rsa/keys/ca.crt
/etc/open/easy-rsa/keys/client.crt
/etc/open
/easy-rsa/keys/client.key
2、安装好open客户端软件后,把证书文件,存放到open安装目录的config文件夹下。 从sample-config文件夹下,拷贝客户端的配置文件client.o到config文件夹下。
Centos7上openVP-密钥登陆
3、编辑config文件夹下的配置文件client.o
,修改remote my-server-1 1194 这行配置,指定open**服务器的ip地址,默认为你服务器的外IP然后修改协议。需要注意的是:在服务器端的配置需要和客户端的配置参数一致
Centos7上openVP-密钥登陆
Centos7上openVP-密钥登陆
Centos7上openVP-密钥登陆
Centos7上openVP-密钥登陆
Centos7上openVP-密钥登陆

4、客户端连接,右击软件生成的运行图标,点击连接。
Centos7上openVP-密钥登陆
Centos7上openVP-密钥登陆

转载于:https://blog.51cto.com/13043516/2091972

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值