目录
前言:openvpn不符合博客内容要求,所以标题不对。
VPN直译就是虚拟专用通道,是提供给企业之间或者个人与公司之间安全数据传输的隧道,OpenVPN无疑是Linux下开源VPN的先锋,提供了良好的性能和友好的用户GUI。
(1) 配置epel源
mkdir /tmp/openvpn
cd /tmp/openvpn
wget https://repo.huaweicloud.com/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
yum update
(2) 安装依赖
yum install -y openssl lzo pam easy-rsa
yum源安装openvpn
yum install openvpn
(3) 源码安装openvpn(可选)
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/lzo-2.06-8.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/lzo-devel-2.06-8.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/lzo-minilzo-2.06-8.el7.x86_64.rpm
yum update lzo-2.06-8.el7.x86_64.rpm lzo-minilzo-2.06-8.el7.x86_64.rpm
yum install lzo-devel-2.06-8.el7.x86_64.rpm
yum install -y lz4-devel
wget https://swupdate.openvpn.org/community/releases/openvpn-2.4.6.tar.gz
tar -zxvf openvpn-2.4.6.tar.gz
cd openvpn-2.4.6
./configure
make
make install
默认安装位置:/usr/local/sbin/openvpn
查看easy-rsa路径,以3.0版本为例,
whereis easy-rsa

cd /usr/share/easy-rsa/3
./easyrsa init-pki
./easyrsa build-ca

记住输入的密码(pass phrase),后续签名需要使用。
下面的$EntityName就是给server取个名字,注意前后统一就行,比如都叫server。
cd /usr/share/easy-rsa/3
./easyrsa gen-req $EntityName nopass
签名证书
./easyrsa sign-req server $EntityName
生成Diffie-Hellman
./easyrsa gen-dh
最终目录结构如下:
另外创建一个目录用于存放client证书
mkdir -p /tmp/openvpn/client1
cd /tmp/openvpn/client1
/usr/share/easy-rsa/3/easyrsa init-pki
/usr/share/easy-rsa/3/easyrsa gen-req client1
记录输入的密码,client登录时使用
签名client证书:
cd /usr/share/easy-rsa/3/
./easyrsa import-req /tmp/openvpn/client1/pki/reqs/client1.req client1
./easyrsa sign-req client client1
这里输入的制作CA证书时的密码。
客户端证书pki目录如下:

将server证书放在同一个目录下
mkdir /etc/openvpn
cp /usr/share/easy-rsa/3/pki/ca.crt /etc/openvpn/
cp /usr/share/easy-rsa/3/pki/private/server.key /etc/openvpn/
cp /usr/share/easy-rsa/3/pki/issued/server.crt /etc/openvpn/
cp /usr/share/easy-rsa/3/pki/dh.pem /etc/openvpn/
客户端需要的文件:
mkdir /tmp/client1
cp /usr/share/easy-rsa/3/pki/ca.crt /tmp/client1/
cp /usr/share/easy-rsa/3/pki/issued/client1.crt /tmp/client1/
cp /tmp/openvpn/client1/pki/private/client1.key /tmp/client1/

如果没有默认配置文件可以从源码包拷贝一份
cp /tmp/openvpn/openvpn-2.4.6/sample/sample-config-files/server.conf /etc/openvpn
vim /etc/openvpn/server.conf
如果是yum源安装则配置路径在这
/usr/share/doc/openvpn-2.4.6/sample/sample-config-files/server.conf
server.conf配置文件如下
local 192.168.1.5 #云主机内网ip
port 11094
proto tcp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
#tls-crypt tc.key
topology subnet
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 192.168.1.2"
client-to-client
keepalive 10 120
cipher AES-256-CBC
user nobody
group nobody
persist-key
persist-tun
verb 3
#crl-verify crl.pem
service openvpn@server start
源码安装的可能没有启动脚本,可以从源码里面拷贝一份:
cp /tmp/openvpn/openvpn-2.4.6/distro/systemd/openvpn-server@.service.in /usr/lib/systemd/system/openvpn-server.service
vim /usr/lib/systemd/system/openvpn-server.service
修改启动命令:

systemctl enable openvpn@server
systemctl start openvpn@server
ifconfig 可以看到多了一个tun0的网卡设备,ip是10.8.0.1

netstat -unlp可以查看监听的端口,我这里没有使用默认的1194端口
下载安装包 如openvpn-install-2.4.9-I601-Win10.exe
安装后,将ca.crt、client1.crt、client1.key拷贝到openvpn安装目录下的config目录下;
然后将安装目录sample-config/client.ovpn拷贝到config目录下,
client.ovpn内容如下:
client
dev tun
proto tcp
remote 175.6.40.67 11094
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA512
cipher AES-256-CBC
#ignore-unknown-option block-outside-dns #注释该行,解决开启vpn不能外网的问题
#block-outside-dns #注释该行,解决开启vpn不能外网的问题
verb 3
route-nopull #解决开启vpn不能外网的问题
ca ca.crt
cert client1.crt
key client1.key
然后打开./bin/openvpn-gui.exe,输入制作client证书时输入的密码即可连接成功
给其它同事开通vpn权限:从2.3开始生成证书即可
我在app/helpers/sessions_helper.rb中有一个帮助程序文件,其中包含一个方法my_preference,它返回当前登录用户的首选项。我想在集成测试中访问该方法。例如,这样我就可以在测试中使用getuser_path(my_preference)。在其他帖子中,我读到这可以通过在测试文件中包含requiresessions_helper来实现,但我仍然收到错误NameError:undefinedlocalvariableormethod'my_preference'.我做错了什么?require'test_helper'require'sessions_hel
在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主
我的rails3.1.6应用程序中有一个自定义访问器方法,它为一个属性分配一个值,即使该值不存在。my_attr属性是一个序列化的哈希,除非为空白,否则应与给定值合并指定了值,在这种情况下,它将当前值设置为空值。(添加了检查以确保值是它们应该的值,但为简洁起见被删除,因为它们不是我的问题的一部分。)我的setter定义为:defmy_attr=(new_val)cur_val=read_attribute(:my_attr)#storecurrentvalue#makesureweareworkingwithahash,andresetvalueifablankvalueisgiven
1.问题描述使用Python的turtle(海龟绘图)模块提供的函数绘制直线。2.问题分析一幅复杂的图形通常都可以由点、直线、三角形、矩形、平行四边形、圆、椭圆和圆弧等基本图形组成。其中的三角形、矩形、平行四边形又可以由直线组成,而直线又是由两个点确定的。我们使用Python的turtle模块所提供的函数来绘制直线。在使用之前我们先介绍一下turtle模块的相关知识点。turtle模块提供面向对象和面向过程两种形式的海龟绘图基本组件。面向对象的接口类如下:1)TurtleScreen类:定义图形窗口作为绘图海龟的运动场。它的构造器需要一个tkinter.Canvas或ScrolledCanva
Linux操作系统——网络配置与SSH远程安装完VMware与系统后,需要进行网络配置。第一个目标为进行SSH连接,可以从本机到VMware进行文件传送,首先需要进行网络配置。1.下载远程软件首先需要先下载安装一款远程软件:FinalShell或者xhell7FinalShellxhell7FinalShell下载:Windows下载http://www.hostbuf.com/downloads/finalshell_install.exemacOS下载http://www.hostbuf.com/downloads/finalshell_install.pkg2.配置CentOS网络安装好
文章目录一基础定义二创建逻辑卷2-1准备物理设备2-2创建物理卷2-3创建卷组2-4创建逻辑卷2-5创建文件系统并挂载文件三扩展卷组和缩减卷组3-1准备物理设备3-2创建物理卷3-3扩展卷组3-4查看卷组的详细信息以验证3-5缩减卷组四扩展逻辑卷4-1检查卷组是否有可用的空间4-2扩展逻辑卷4-3扩展文件系统五删除逻辑卷5-1备份数据5-2卸载文件系统5-3删除逻辑卷5-4删除卷组5-5删除物理卷六LVM逻辑卷缩容6-1缩容注意事项6-2标准缩容步骤一基础定义LVM,LogicalVolumeManger,逻辑卷管理,Linux磁盘分区管理的一种机制,建立在硬盘和分区上的一个逻辑层,提高磁盘分
目录H2数据库入门以及实际开发时的使用1.H2数据库的初识1.1H2数据库介绍1.2为什么要使用嵌入式数据库?1.3嵌入式数据库对比1.3.1性能对比1.4技术选型思考2.H2数据库实战2.1H2数据库下载搭建以及部署2.1.1H2数据库的下载2.1.2数据库启动2.1.2.1windows系统可以在bin目录下执行h2.bat2.1.2.2同理可以通过cmd直接使用命令进行启动:2.1.2.3启动后控制台页面:2.1.3spring整合H2数据库2.1.3.1引入依赖文件2.1.4数据库通过file模式实际保存数据的位置2.2H2数据库操作2.2.1Mysql兼容模式2.2.2Mysql模式
如何在Ruby中获取linux系统(这必须适用于Fedora、Ubuntu等)的软件/硬件信息? 最佳答案 Chef背后的优秀人才,拥有一颗名为Ohai的优秀gemhttps://github.com/opscode/ohai以散列形式返回系统信息,例如操作系统、内核、规范、fqdn、磁盘、空间、内存、用户、接口(interface)、sshkey等。它非常完整,非常好。它还会安装命令行二进制文件(也称为ohai)。 关于ruby-如何在Ruby中获取linux系统信息,我们在Stack
我在LinuxMint17.2上。我最近使用apt-getpurgeruby删除了ruby。然后我安装了rbenv然后rbenvinstall2.3.0所以现在,~/.rbenv/versions/2.3.0/bin/ruby存在。但是现在,我无法执行geminstallrubocop。我明白了:$geminstallrubocoprbenv:gem:commandnotfoundThe`gem'commandexistsintheseRubyversions:2.3.0但是我可以~/.rbenv/versions/2.3.0/bin/geminstallrubocop。但是,
我是Ruby和RoR的新手。我有一个带有Ubuntu镜像的干净Linode实例,我想从源代码编译Ruby而不是使用apt-get。我已经在谷歌上搜索了执行此操作的说明,但经过一些尝试后,当我尝试运行一些教程示例时,我不断收到有关缺少zlib和其他一些包的错误。任何人都可以给我详细的说明(或链接),教我如何在从源代码编译Ruby之前安装必要的必备包吗?我的目的是编译Ruby的最新稳定版本,然后安装Rubygems和Rails。提前感谢您的帮助!!! 最佳答案 Thisblogpost涵盖从源代码编译ruby所需的包和安装过程;它引