运维实战技能Get---OpenV**搭建.

2019-07-08 14:56:10 浏览数 (1)

前言 : 为什么使用openV**?

作为运维人员经常会遇到各种故障,那我们就需要远程解决,为了保障服务器的安全性,此时我们需要连接内网,然后连接到跳板机,openV**是我们常用解决方案!下面我们介绍一下在云服务器搭建openV**方法!

一、环境

代码语言:javascript复制
[root@V** openV**]# lsb_release -a
LSB Version:  :core-4.1-amd64:core-4.1-noarch
Distributor ID:  CentOS
Description:  CentOS Linux release 7.2.1511 (Core) 
Release:  7.2.1511
Codename:  Core

二、安装步骤

1.安装epel源,openV**及依赖

代码语言:javascript复制
yum install epel-release
yum install -y openssl openssl-devel lzo lzo-devel pam pam-devel automake pkgconfig makecache
yum install -y openV**
yum install -y easy-rsa

2.创建openV**目录并复制文件到创建的目录

代码语言:javascript复制
mkdir /etc/openV**/
cp -R  /usr/share/easy-rsa/ /etc/openV**/
cp /usr/share/doc/openV**-2.4.4/sample/sample-config-files/server.conf /etc/openV**/
cp -r /usr/share/doc/easy-rsa-3.0.3/vars.example /etc/openV**/easy-rsa/3.0/vars

3.服务端配置文件如下

代码语言:javascript复制
[root@V**openV**]#grep -Ev "^#|^$|^;" /etc/openV**/server.conf 
port 1194
proto udp
dev tun
ca /etc/openV**/easy-rsa/3.0/pki/ca.crt
cert /etc/openV**/easy-rsa/3.0/pki/issued/wwwserver.crt
key /etc/openV**/easy-rsa/3.0/pki/private/wwwserver.key
dh /etc/openV**/easy-rsa/3.0/pki/dh.pem
server 10.100.8.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.100.0.0 255.255.0.0"
push "route 10.101.0.0 255.255.0.0"
push "route 192.168.0.0 255.255.0.0"
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 223.5.5.5"
push "dhcp-option DNS 114.114.114.114"
keepalive 10 120
tls-auth /etc/openV**/ta.key 0
cipher AES-256-CBC
comp-lzo
max-clients 100
persist-key
persist-tun
status openV**-status.log
log-append  openV**.log
verb 3
mute 20
explicit-exit-notify 1

修改第45、65、76、84-89、97、105、113、117、134、139、171、180、192行如下:

代码语言:javascript复制
[root@V** openV**]# grep -Ev "^#|^$|^;" /etc/openV**/easy-rsa/3.0/vars
if [ -z "$EASYRSA_CALLER" ]; then
  echo "You appear to be sourcing an Easy-RSA 'vars' file." >&2
  echo "This is no longer necessary and is disallowed. See the section called" >&2
  echo "'How to use this file' near the top comments for more details." >&2
  return 1
fi
set_var EASYRSA  "$PWD"
set_var EASYRSA_PKI    "$EASYRSA/pki"
set_var EASYRSA_DN  "cn_only"
set_var EASYRSA_REQ_COUNTRY     "CN"
set_var EASYRSA_REQ_PROVINCE    "BEIJING"
set_var EASYRSA_REQ_CITY        "BEIJING"
set_var EASYRSA_REQ_ORG    "OpenV** CERTIFICATE AUTHORITY"
set_var EASYRSA_REQ_EMAIL       "110@qq.com"
set_var EASYRSA_REQ_OU          "OpenV** EASY CA"
set_var EASYRSA_KEY_SIZE  2048
set_var EASYRSA_ALGO    rsa
set_var EASYRSA_CA_EXPIRE  3650
set_var EASYRSA_CERT_EXPIRE  3650
set_var EASYRSA_NS_SUPPORT  "no"
set_var EASYRSA_NS_COMMENT "OpenV** CERTIFICATE AUTHORITY"
set_var EASYRSA_EXT_DIR  "$EASYRSA/x509-types"
set_var EASYRSA_SSL_CONF  "$EASYRSA/openssl-1.0.cnf"
set_var EASYRSA_DIGEST    "sha256"

4.创建证书

代码语言:javascript复制
cd /etc/openV**/easy-rsa/3.0
./easyrsa init-pki
./easyrsa build-ca

设置ca密码(输入两次):yourpassword

当执行到输入密码后会让你输入Common Name,你需要输入OpenV** CERTIFICATE AUTHORITY,如下:

Common Name (eg: your user, host, or server name) [Easy-RSA CA]:OpenV** CERTIFICATE AUTHORITY

创建CA、密码:yourpassword

./easyrsa gen-dh

代码语言:javascript复制
openV** --genkey --secret ta.key
cp -r ta.key /etc/openV**/

创建服务端证书,生成请求,使用gen-req来生成req

./easyrsa gen-req wwwserver

设置server密码(输入两次):yourpassword

输入两次密码之后,最后的Common Name可以直接回车即可。

签发证书,签约服务端证书

./easyrsa sign-req server wwwserver

执行此步会有个Confirm request选项,输入yes即可,如下:

Confirm request details: yes

输入yes签发证书,输入ca密码:yourpassword

生成windows客户端用户:

./easyrsa build-client-full www001

#注意:生成客户端用户的时候会提示设置密码

#可以直按回车密码为空、也可以设置输入密码(如设置密码,客户端连接时需输入密码)

生成客户端证书,并设置密码(客户端连接时用)

5.修改内核转发

代码语言:javascript复制
vim /etc/sysctl.conf

末尾加入

代码语言:javascript复制
net.ipv4.ip_forward = 1

保存后执行:sysctl -p

6.修改防火墙转发规则

防火墙列表

代码语言:javascript复制
systemctl start firewalld.service
firewall-cmd --state
firewall-cmd --zone=public --list-all
firewall-cmd --add-service=openV** --permanent
firewall-cmd --add-port=1194/ucp --permanent
firewall-cmd --add-port=22/tcp --permanent
firewall-cmd --add-source=10.8.0.0 --permanent
firewall-cmd --query-source=10.8.0.0 --permanent
firewall-cmd --add-masquerade --permanent
firewall-cmd --query-masquerade --permanent
firewall-cmd --reload

7.启动openV**

代码语言:javascript复制
systemctl start openV**@server

启动时输入服务端证书密码:yourpassword

第一次启动的时候可能会提示,重新执行systemctl start openV**@server输入密码即可

启动openV**

systemctl start openV**@server

启动时输入服务端证书密码:yourpassword

第一次启动的时候可能会提示,重新执行systemctl start openV**@server输入密码即可

启动V**,输入密码才能启动

网络信息,至此openV**服务器安装完成

8.由于是云服务器,我们还需要在安全组规则中放开1194端口,否则连接不成功,我为了简便把所有ip都能访问1194,生产中可以修改端口。

9.客户端需要的证书:www001.crt、www001.key、ca.crt、ta.key

存放到一个文件夹,然后将里边的文件夹拷贝到本地电脑

代码语言:javascript复制
mkdir -p /etc/openV**/client
cp -r /etc/openV**/easy-rsa/3.0/pki/issued/www001.crt /etc/openV**/client/
cp -r /etc/openV**/easy-rsa/3.0/pki/private/www001.key /etc/openV**/client/
cp -r /etc/openV**/easy-rsa/3.0/pki/ca.crt /etc/openV**/client/
cp -r /etc/openV**/ta.key /etc/openV**/client/

10.下载客户端软件,客户端配置文件www001.oV**(ip换为openV**服务器外网ip)

代码语言:javascript复制
client
dev tun
proto udp
resolv-retry infinite
nobind
remote remote ip 1194 
comp-lzo
ca ca.crt
cert www001.crt
key www001.key
tls-auth ta.key 1
keepalive 10 120
persist-key
persist-tun
verb 3
status www001-status.log
log-append www001.log

安装OpenV** 客户端后,清空config文件夹,将www001.crt、www001.key、ca.crt、ta.key、www001.oV**放入config中即可!

0 人点赞