准备工作
# 关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
# 关闭selinux
[root@localhost ~]# sed -i 's/enforcing/disabled/' /etc/selinux/config
[root@localhost ~]# setenforce 0
————————————————
一、证书制作
1.下载并解压easy-rsa软件包
[root@localhost ~]# yum -y install wget unzip net-tools
[root@localhost ~]# wget -P /root http://down.i4t.com/easy-rsa.zip
[root@localhost ~]# cd /root
[root@localhost ~]# ls
anaconda-ks.cfg easy-rsa.zip
[root@localhost ~]# unzip -d ./ easy-rsa.zip
[root@localhost ~]# ls
anaconda-ks.cfg easy-rsa-old-master easy-rsa.zip
2.制作CA证书之前,需要编辑vars文件,修改相关选项
[root@localhost ~]# cd /root/easy-rsa-old-master/easy-rsa/2.0/
[root@localhost ~]# vi vars
修改后:

3.使环境变量生效
[root@localhost 2.0]# source vars
[root@localhost 2.0]# ./clean-all
4.生成根证书和秘钥(ca.crt,ca.key)
[root@localhost 2.0]# cd /root/easy-rsa-old-master/easy-rsa/2.0/
[root@localhost 2.0]# ./build-ca
[root@localhost 2.0]# ls keys/
5.生成服务证书和秘钥(server.crt,server.key)
[root@localhost 2.0]# ./build-key-server server
6.生成客户端证书和秘钥(client.crt,client.key)
[root@localhost 2.0]# ./build-key client
7.生成秘钥交换文件(dh2048.pem)
[root@localhost 2.0]# ./build-dh
二、配置服务端
1.安装
[root@localhost 2.0]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# curl -o epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache
[root@localhost yum.repos.d]# yum -y install openvpn

2.配置
[root@localhost yum.repos.d]# cd /etc/openvpn/
[root@localhost openvpn]# mkdir keys

[root@localhost openvpn]# cd /root/easy-rsa-old-master/easy-rsa/2.0/keys/
[root@localhost keys]# cp {ca.crt,server.crt,server.key,dh2048.pem} /etc/openvpn/keys/
[root@localhost keys]# cd /etc/openvpn/
[root@localhost openvpn]# cp /usr/share/doc/openvpn-2.4.12/sample/sample-config-files/server.conf ./
[root@localhost openvpn]# vi server.conf

server.conf修改后:


(说明:push后面的内网网段,有多少写多少个)
3.启用路由转发功能
[root@localhost openvpn]# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
[root@localhost openvpn]# sysctl -p

4.建立ta.key文件(拒绝服务攻击证书)
[root@localhost openvpn]# cd /etc/openvpn/keys
[root@localhost keys]# openvpn --genkey --secret ta.key

5.启动服务
[root@localhost keys]# cd /etc/openvpn/
[root@localhost openvpn]# openvpn --daemon --config server.conf
[root@localhost openvpn]# netstat -lntup | grep 1194

三、配置客户端
1.客户端配置
[root@localhost openvpn]# cp /usr/share/doc/openvpn-2.4.12/sample/sample-config-files/client.conf /root/
[root@localhost openvpn]# cd /root
[root@localhost ~]# mkdir client
[root@localhost ~]# mv client.conf client
[root@localhost ~]# cd client/
[root@localhost client]# vi client.conf

client.conf修改后:

(说明:remote 公网地址 1194)
2.客户端证书文件
[root@localhost client]# cp /root/easy-rsa-old-master/easy-rsa/2.0/keys/{client.key,client.crt,ca.crt} /root/client/
[root@localhost client]# cp /etc/openvpn/keys/ta.key /root/client/

[root@localhost client]# mv client.conf client.ovpn

[root@localhost client]# cd ..
[root@localhost ~]# tar -zcvf client.tar.gz client
四、Windows客户端测试
1.右击管理员安装
2.下载client文件夹下文件到本地config

3.openvpn配置--高级--config和log目录设置

配置iptables的nat功能:
[root@localhost client]# iptables -t nat -A POSTROUTING -s 10.0.1.0/24 -j MASQUERADE
查看:
[root@localhost client]# iptables -t nat -L
五、需要把内网主机,映射到公网,这一步需要路由器或者防火墙有映射功能。
六、如果vpn设置账号密码登录需要进行以下操作
1.修改配置文件server.conf。(添加下列配置)
script‐security 3 #加入script‐security消除以下警告 不是很了解,不加拨号失败
(允许OPenvpn使用用户自动以脚本)
client‐cert‐not‐required #取消客户端的证书认证 如果双重验证注释掉此行,客户
端配置文件证书路径保留。
username‐as‐common‐name
auth‐user‐pass‐verify /etc/openvpn/checkpsw.sh via‐env #开启用户密码脚本
新增内容:
script-security 3
username-as-common-name
auth-user-pass-verify /usr/local/openvpn/server/checkpsw.sh via-env
找到server.conf
[root@localhost client]# find / -name server.conf
/usr/share/doc/NetworkManager/examples/server.conf
/usr/share/doc/openvpn-2.4.12/sample/sample-config-files/server.conf
/usr/local/openvpn/server/server.conf
[root@localhost client]# cd /usr/local/openvpn/server
2.添加验证脚本,密码文件
[root@localhost server]# vi checkpsw.sh
[root@localhost server]# chmod +x checkpsw.sh
脚本内容:
#!/bin/sh
###########################################################
# checkpsw.sh (C) 2004 Mathias Sundman <mathias@openvpn.se>
#
# This script will authenticate OpenVPN users against
# a plain text file. The passfile should simply contain
# one row per user with the username first followed by
# one or more space(s) or tab(s) and then the password.
PASSFILE="/etc/openvpn/psw-file"
LOG_FILE="/etc/openvpn/openvpn-password.log"
TIME_STAMP=`date "+%Y-%m-%d %T"`
###########################################################
if [ ! -r "${PASSFILE}" ]; then
echo "${TIME_STAMP}: Could not open password file \"${PASSFILE}\" for reading." >> ${LOG_FILE}
exit 1
fi
CORRECT_PASSWORD=`awk '!/^;/&&!/^#/&&$1=="'${username}'"{print $2;exit}' ${PASSFILE}`
if [ "${CORRECT_PASSWORD}" = "" ]; then
echo "${TIME_STAMP}: User does not exist: username=\"${username}\", password=\"${password}\"." >> ${LOG_FILE}
exit 1
fi
if [ "${password}" = "${CORRECT_PASSWORD}" ]; then
echo "${TIME_STAMP}: Successful authentication: username=\"${username}\"." >> ${LOG_FILE}
exit 0
fi
echo "${TIME_STAMP}: Incorrect password: username=\"${username}\", password=\"${password}\"." >> ${LOG_FILE}
exit 1
3.密码验证文件:
[root@localhost server]# vi psw-file
[root@localhost server]# chmod 777 psw-file
密码内容:
#A
#阿里云
aliyun aly123456
4.设置客户端client.ovpn
再添加这一行,添加这行,就会提示输入用户名和密码
auth-nocache
auth-user-pass
完整内容:
client
dev tun
proto udp
resolv-retry infinite
nobind
#remote 192.168.2.69 1194
remote 公网地址 1194
comp-lzo
ca ca.crt
cert client.crt
key client.key
cipher AES-256-CBC
tls-auth ta.key 1
keepalive 10 120
persist-key
persist-tun
verb 3
status client-status.log
log-append client.log
auth-nocache
auth-user-pass
我在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所需的包和安装过程;它引