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目录是新建的)


5、拷贝配置文件 cp /usr/share/doc/open
-2.4.4/sample/sample-config-files/server.conf /etc/open

6、备份配置文件cp /etc/open
/server.conf /etc/open/server.conf.back


7、编辑配置文件 vim /etc/open
/server.conf

注:这里使用的是udp协议(tcp协议在网络较弱时容易断线)

二、配置证书

1、递归创建/easy-rsa/2.0/目录 mkdir -p /etc/open/easy-rsa/2.0/

2、保留原文件属性复制文件 cp -a /usr/local/open
/easy-rsa-release-2.x/easy-rsa/2.0/ /etc/open/easy-rsa/2.0(这里以后就是各种证书和密钥的根据地了)

3、编辑vars文件 vi /etc/open
/easy-rsa/2.0/vars

4、制作证书
1)备份证书配置文件 cp /etc/open/easy-rsa/2.0/openssl-1.0.0.cnf /etc/open/easy-rsa/2.0/openssl.cnf

2)切换目录让配置文件生效(根据截图提示按步骤操作)
当执行完 ./build-ca后按回车键,一直到结束。

3)创建服务端证书
执行命令./build-key-server server 按回车键进行,在提示输入密码的地方,设置一个密码如feiyu,在An optional company name处输入xingyoucai.com,最后输入两次“y”回车。


4)创建客户端证书
执行命令生成迪菲•赫尔曼交换密钥./build-dh 创建秘钥文件,等待命令执行完。

5)查看目录中创建好的证书文件 ls /etc/open/easy-rsa/keys/

6)创建客户端证书文件(在/etc/open
/easy-rsa/2.0/下执行)
执行命令./build-key client1创建客户端证书文件,按回车进行,提示输入密码的地方,输入之前设置的证书密码feiyu,An optional company name处输入先前设置的公司名字(xingyoucai.com)。【一定要和先前输入的一样,其他参数如果前面设置了,也要保持一致噢】 #另外注意:有多少个客户端就需要./build-key client 多少次,当然client名字需不同。


7)查看证书 ls /etc/open**/easy-rsa/keys/

三、设置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


注:保存防火墙规则service iptables save(防止重启规则丢失)

8、开启路由转发 vi /etc/sysctl.conf

验证: sysctl -p

四、启动open***

1、创建日志存放目录 mkdir /var/log/open/
2、设置启动文件 systemctl -f enable open
@server.service

3、启动open的命令 systemctl start open@server.service

注:根据查看状态信息解决报错 systemctl status open@server.service
解决完报错重启open
systemctl start open@server.service

以上报错问题已解决,解决办法为注释以下这两行重启就好了。
#tls-auth ta.key 1 #explicit-exit-notify 1
4、打开iptables防火墙的1194端口 iptables -A INPUT -p udp --destination-port 1194 -j ACCEPT

5、查看open
服务运行(centos7需要安装net-tools) netstat –antulp

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文件夹下。

3、编辑config文件夹下的配置文件client.o
,修改remote my-server-1 1194 这行配置,指定open**服务器的ip地址,默认为你服务器的外IP然后修改协议。需要注意的是:在服务器端的配置需要和客户端的配置参数一致




4、客户端连接,右击软件生成的运行图标,点击连接。

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

Centos7上openVP-密钥登陆相关推荐

  1. Centos7上openVP的另一种使用方式,实现访问控制!

    首先跟大家说一下这次和第一篇open的主要区别在于第一篇属于访问整个内网,而今天这篇只是针对于指定用户的指定网段,相对来说这篇的访问方式更加的安全.而且这两篇最大的区别主要是配置文件,所以安装过程等, ...

  2. Linux的远程桌面管理,密钥登陆,SSH协议,四层防御系统实验详解

    Linux的远程桌面管理,密钥登陆,SSH协议,四层防御系统 一.引子 别看上面写了这么多内容,其实都是串起来的,就是看下通过SSH(Secure Shell)协议远程连接到底要经过些什么流程,有什么 ...

  3. Centos6 密钥登陆,解决所选的用户密钥未在远程主机上注册

    文章目录 错误提示 方法一.使用Xshell生成密钥 1.关闭 selinux 2.创建密钥 3.选择密钥类型.密钥长度 4.生产公钥对 5.修改密钥名称 6.保存为文件 7.保存公钥到指定位置 8. ...

  4. 服务器修改密钥登陆就登陆不上,securecrt用密钥安全登陆服务器

    通过Linux服务器端生成密钥对来提供认证1,执行命令生成 生成公私钥ssh-keygen -t rsa -b 4096 确认生成文件的所在目录(默认为~/.ssh)及密码(可以为空,建议输入密码) ...

  5. centos 7.9密码改密钥登陆

    1.前期使用密钥登陆,被其他人暴力破解 可以使用该命令,进行查看是否有登陆信息 tail -f /var/log/secure 2.先在服务上创建密钥 ssh-keygen -t rsa ##-t r ...

  6. 阿里云centos mysql_阿里云ECS服务器CentOS7上安装MySql服务-阿里云开发者社区

    阿里云ECS服务器CentOS7上安装MySql服务 ---------------------------------------------- 使用root登录 1.确保服务器系统处于最新状态 [ ...

  7. 在CentOS7上安装配置Corosync高可用集群过程全记录

    在CentOS7上安装配置Corosync高可用集群过程全记录 一.环境.拓朴及其他准备工作: 1-1:准备网络YUM源环境: All Nodes OS CentOS 7.3 x86_64: # wg ...

  8. myftpadmin+proftpd+mysql架设ftp服务器_[教程]在CentOS7上配置 FTP服务器 Proftpd 支持 MySQL 虚拟用户加密认证以及磁盘限额(Quota)...

    有一些很古老的教程,一般都是走编译安装路线的,本文是教你不需要编译,而且随时都可以跟随 CentOS 升级 Proftpd 到最新版本,以避免可能的漏洞攻击.利用 Proftpd 现成的配置以及设置好 ...

  9. MAC SSH密钥登陆

    MAC SSH密钥登陆: 一般mac如果想通过ssh密钥登陆,常规的做法,自己生成密钥对,这样做的好处就是,自己只保留私钥即可,公钥 可以放置任意服务器, 如果接受别人给的私钥,只能存一个,如果有多个 ...

最新文章

  1. centos7 网卡配置vlan_【linux】Centos7单网卡多VLAN配置
  2. 3年编程经验无名校背景,全栈小哥是如何拿下Twitter Offer的?
  3. NSString取子串
  4. confluence 常见问题处理
  5. linux重启网络服务_vm上linux虚拟机NAT模式配置
  6. C语言 字符串大小写转换
  7. 如何建立“开箱即用”的数据安全防护系统 | 专家对话
  8. 简洁jQuery滑动门插件
  9. maven项目在eclipse中debug
  10. 《精通 ASP.NET MVC 5》----1.5 本书的结构
  11. 连续年份高精度人口密度分布数据
  12. web一键返回顶端html代码,CSS-返回顶部代码_html/css_WEB-ITnose
  13. 【STM32】电容触摸按键
  14. 人脸关键点检测——dlib
  15. Java实现OPC通信
  16. 计算机老师素质能力提升计划要求,教师2021个人素质提升计划范文
  17. sendcloud php 群发,PHP精华内容之SendCloud发送邮件
  18. 不知道如何入门编程?最全在线教程网站汇总来了,还不赶快收藏
  19. 性能 Android APP 帧数FPS的方法
  20. P3426 [POI2005]SZA-Template(kmp+dp)

热门文章

  1. G1调优很难?记住这些经验技巧~
  2. 为什么 MySQL 的自增主键不单调也不连续
  3. 面试官:你说你精通 Docker,那你来详细说说 Dockerfile 吧
  4. 面试必备:一个秒杀系统的设计思考
  5. 一副耳机的钱,竟让我体验了「元宇宙」办公
  6. 封闭、缺少代码审查,硕士刚毕业的“老”工程师揭露机器学习残酷现状!
  7. 知乎热议:985 计算机视觉研究生找不到工作怎么办?
  8. 性能媲美BERT,但参数量仅为1/300,这是谷歌最新的NLP模型
  9. 985 CV 找不到工作? 4 点诚恳建议
  10. Keras vs PyTorch,哪一个更适合做深度学习?