OpenVpnCentos8部署

Centos7和Centos8本质无太大区别,就一个vars文件路径问题
Centos7复制命令为
cp /usr/share/doc/easy-rsa-3.0.8/vars.example //
Centos8复制命令为
cp /usr/share/doc/easy-rsa/vars.example

#!/bin/bash
# **********************************************************
# * Author : liujinxin
# * Email : liuJinXin0726@outlook.com
# * Create time : 2021-05-10 22:12
# * Filename : openvpnCentos8.sh
# * Description :
# **********************************************************
PATH=/app/cmatrix/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
. /etc/init.d/functions
function_openvpn.ready(){echo "需要安装openvpn和easy包,请稍等"
yum install -y openvpn  easy-rsa >& /dev/null  && action "安装完成"
mkdir /var/log/openvpn
chown openvpn.openvpn /var/log/openvpn
echo net.ipv4.ip_forward = 1 >> /etc/sysctl.conf
sysctl -p >>  /dev/null
echo 'iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE' >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
/etc/rc.d/rc.local
}
function_openvpn.server(){cp  /usr/share/doc/openvpn/sample/sample-config-files/server.conf /etc/openvpn/
cp -r /usr/share/easy-rsa/ /etc/openvpn/easy-rsa-server
cp  /usr/share/doc/easy-rsa/vars.example /etc/openvpn/easy-rsa-server/3/varscd /etc/openvpn/easy-rsa-server/3/
./easyrsa >& /dev/nullcd /etc/openvpn/easy-rsa-server/3/
./easyrsa init-pki  >& /dev/nullcd /etc/openvpn/easy-rsa-server/3
./easyrsa build-ca nopass <<END  ENDcd /etc/openvpn/easy-rsa-server/3
./easyrsa gen-req server nopass  <<ENDENDcd /etc/openvpn/easy-rsa-server/3
./easyrsa sign server server  <<END
yesEND
./easyrsa gen-dh
mkdir /etc/openvpn/certs
cp  /etc/openvpn/easy-rsa-server/3/pki/ca.crt /etc/openvpn/certs/
cp   /etc/openvpn/easy-rsa-server/3/pki/issued/server.crt  /etc/openvpn/certs/
cp   /etc/openvpn/easy-rsa-server/3/pki/private/server.key  /etc/openvpn/certs/
cp  /etc/openvpn/easy-rsa-server/3/pki/dh.pem /etc/openvpn/certs/
cat > /etc/openvpn/server.conf <<END
port 1194
proto tcp
dev tun
ca /etc/openvpn/certs/ca.crt
cert /etc/openvpn/certs/server.crt
key /etc/openvpn/certs/server.key
dh /etc/openvpn/certs/dh.pem
server 10.8.0.0 255.255.255.0
push "route 10.0.0.0 255.255.255.0"
keepalive 10 120
cipher AES-256-CBC
compress lz4-v2
push "compress lz4-v2"
max-clients 2048
user openvpn
group openvpn
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
verb 3
mute 20
ENDcat >  /lib/systemd/system/openvpn@.service  <<END
[Unit]
Description=OpenVPN Robust And Highly Flexible Tunneling Application On %I
After=network.target
[Service]
Type=notify
PrivateTmp=true
ExecStart=/usr/sbin/openvpn --cd /etc/openvpn/ --config %i.conf
[Install]
WantedBy=multi-user.target
END}
function_openvpn.client(){read -p "请您输入公网地址(范例:100.100.100.100)" IP
read -p "请输入第一次批量创建的用户名" NAMEcp -r /usr/share/easy-rsa/ /etc/openvpn/easy-rsa-client
cp  /usr/share/doc/easy-rsa/vars.example /etc/openvpn/easy-rsa-client/3/varscd /etc/openvpn//easy-rsa-client/3/
./easyrsa init-pkicd /etc/openvpn/easy-rsa-client/3
./easyrsa gen-req $NAME  nopass <<ENDENDcd /etc/openvpn/easy-rsa-server/3
./easyrsa import-req /etc/openvpn/easy-rsa-client/3/pki/reqs/$NAME.req $NAME
cd /etc/openvpn/easy-rsa-server/3
./easyrsa sign client $NAME  <<END
yesENDmkdir /etc/openvpn/client/$NAME/
cp  /etc/openvpn/easy-rsa-client/3/pki/private/$NAME.key  /etc/openvpn/client/$NAME/
cp  /etc/openvpn/easy-rsa-server/3/pki/issued/$NAME.crt   /etc/openvpn/client/$NAME/
cp /etc/openvpn/easy-rsa-server/3/pki/ca.crt     /etc/openvpn/client/$NAME/
cp /etc/openvpn/certs/ca.crt   /etc/openvpn/client/$NAME/[[ $IP =~  (([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])  ]] &&
cat > /etc/openvpn/client/$NAME/client.ovpn << END
client
dev tun
proto tcp
remote $IP 1194
resolv-retry infinite
nobind
#persist-key
#persist-tun
ca ca.crt
cert $NAME.crt
key $NAME.key
remote-cert-tls server
#tls-auth ta.key 1
cipher AES-256-CBC
verb 3
compress lz4-v2
ENDcd /etc/openvpn/client/$NAME/
tar cf &NAME.tar  ./
echo "用户文件已打包完成/etc/openvpn/client/$NAME/下"}
function_openvpn.remove(){read -p "请您输入公网地址(范例:100.100.100.100)" NEWIP
read -p "请输入第一次批量创建的用户名" remove
rm -rf /etc/openvpn/client/$remove
find /etc/openvpn/ -name "$remove.*" -delete
cp -r /usr/share/easy-rsa/ /etc/openvpn/easy-rsa-client
cp  /usr/share/doc/easy-rsa/vars.example /etc/openvpn//easy-rsaclient/3/varscd /etc/openvpn//easy-rsa-client/3/
./easyrsa init-pkicd /etc/openvpn/easy-rsa-client/3
./easyrsa gen-req $remove  nopass <<ENDENDcd /etc/openvpn/easy-rsa-server/3
./easyrsa import-req /etc/openvpn/easy-rsa-client/3/pki/reqs/remove.req $remove
cd /etc/openvpn/easy-rsa-server/3
./easyrsa sign client remove  <<END
yesENDmkdir /etc/openvpn/client/$remove/
cp  /etc/openvpn/easy-rsa-client/3/pki/private/$remove.key  /etc/openvpn/client/$remove/
cp  /etc/openvpn/easy-rsa-server/3/pki/issued/$remove.crt   /etc/openvpn/client/$remove/
cp /etc/openvpn/easy-rsa-server/3/pki/ca.crt     /etc/openvpn/client/$remove/
cp /etc/openvpn/certs/ca.crt   /etc/openvpn/client/$remove/[[ $NEWIP =~  (([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])  ]] &&
cat > /etc/openvpn/client/$remove/client.ovpn << END
client
dev tun
proto tcp
remote $NEWIP 1194
resolv-retry infinite
nobind
#persist-key
#persist-tun
ca ca.crt
cert $NAME.crt
key $NAME.key
remote-cert-tls server
#tls-auth ta.key 1
cipher AES-256-CBC
verb 3
compress lz4-v2
END
}PS3="请输入需要配置openvpn的菜单(1-5):"
select NEMU in  初始化安装  配置新用户证书   吊销指定用户证书  重新颁发用户证书   重启服务    退出 ;do
case $REPLY in
1)function_openvpn.readyfunction_openvpn.serverfunction_openvpn.clientaction "Openvpn已经安装完成";;
2) function_openvpn.client;;
3)cd /etc/openvpn/easy-rsa-server/3read -p "请输入吊销人员的用户名" DEL./easyrsa revoke DEL;;
4)function_openvpn.remove;;
5)systemctl daemon-reloadsystemctl enable --now openvpn@server >& /dev/null;;6)exit 1;;
*) echo "Please enter the correct parameters (0-6) "
esac done 

OpenVpnCentos8部署相关推荐

  1. Kubernetes 中 设置pod不部署在同一台节点上

    在k8s中,节点的调度主要由亲和性和污点来进行控制的.   而在亲和性部分由分为了节点亲和性和节点反亲和性.   节点亲和性是指在pod部署时,尽量(软策略)或者必须满足(硬策略)部署在某些节点上. ...

  2. 将jar包部署在docker上,将jar包打成镜像,使用docker部署jar包

    假设你已经准备好以下东西,即可进行服务部署 一台安装好docker的linux服务器(安装docker见安装docker) 准备好的jar包 接下来开始吧! 将jar包上传至服务器(建好文件夹存放以方 ...

  3. jar包升级部署到服务器详细流程,将服务部署在linux中

    假设你已经准备好以下东西,即可进行服务部署 一台服务器(云服务器或虚拟机皆可) 已安装好的jdk 1.8 + 的环境(可自行百度) 打好的jar包(maven打jar包) 1. 在服务器中新建好你的项 ...

  4. jar包部署shell脚本编写,在服务器上部署jar包,在Linux服务器上部署服务,设置编码格式,设置内存管理

    准备步骤: 1.安装java环境,知道java安装目录 2.将jar包拖放或发送至服务器中(目录自定义) 一.编写shell脚本,将以下代码放在shell脚本中,将shell脚本放在jar包同级目录下 ...

  5. 在docker上安装部署tomcat项目 超简单,拿来主义

    在docker中部署tomcat,非常简单,而且省去了手动安装jdk等步骤,只需要将war包复制在容器tomcat实例中的webapps下面即可.以下将详细讲解流程: 在windows中打好包以后用w ...

  6. 【CentOS】利用Kubeadm部署Kubernetes (K8s)

    [CentOS]利用Kubeadm部署Kubernetes (K8s)[阅读时间:约10分钟] 一.概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 三.具体实验流程 1 系统准 ...

  7. CentOS Docker安装配置部署Golang web helloworld

    目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker部署Golang web helloworld 四.Docker与虚拟机的区别 五. ...

  8. 【Docker】registry部署docker私有镜像仓库

    Docker Hub作为Docker默认官方公共镜像仓库,但是如果我们不想使用怎么办,第一我们可以替换默认镜像仓库为我们国内的一些镜像仓库,第二就是如我们自己搭建一个自己的私有镜像仓库,官方也提供do ...

  9. 【Kubernetes】如何使用Kubeadm部署K8S集群

    一 . 准备机器 本次环境采用华为云ECS弹性云服务器部署(也可以使用VMware) vm01(2V4G): Ubuntu_18.04作为K8S master节点 vm02(1V1G): Ubuntu ...

最新文章

  1. vue实例没有挂载到html上,vue 源码学习 - 实例挂载
  2. ARM7还是ARM9?uCOS还是Linux?
  3. mysql 设计两个主键都不可重复_18个MySQL面试题剖析(答案解析),听说身为程序员的你还没掌握...
  4. 面向对象的三大特征之一:继承
  5. MyBatis复习(六):MyBatis二级缓存
  6. JDK源码(10)-Integer(用处最多,重点讲解)
  7. 计算机英语讲课笔记(2020-6-23)
  8. win8好用吗_小编告诉你win8好用吗?你有用过吗
  9. python特效电子相册_用Python和Conky做个电子相册,美化你的Linux桌面
  10. 【Python】range和xrange区别
  11. Vue学习笔记之14-Vue-CLI脚手架
  12. 公共网关接口CGI(Common GatewayInterface)
  13. 【专栏必读】王道考研408操作系统+Linux系统编程万字笔记、题目题型总结、注意事项、目录导航和思维导图
  14. erp软件涉及哪些计算机技术?,ERP软件应该学习哪些内容?
  15. 用计算机用语说唯美的话,100句唯美说说qq空间句子合集
  16. 用ping让对方电脑堵塞瘫痪
  17. MyBatisX插件没有出现蓝色鸟
  18. 疾病负担研究(GBD)-如何绘制GBD相关性图
  19. asp微信点餐系统源码,asp扫码点餐代码,支持连接飞鹅云打印机
  20. 半岛电视台网络遭多次网络攻击

热门文章

  1. 计算机网络校园局域网课题,毕业论文基于VLAN技术的校园局域网建设word文档_全文免费在线阅读(推荐阅读)...
  2. NAT地址转换(超详细解说版)
  3. PHP开发的仿山楂岛留言程序源码
  4. 关于寝室洗衣机使用情况的调查与分析
  5. 如何把极坐标化为直角坐标_如何把极坐标化为直角坐标
  6. 1322A. Unusual Competitions · 括号
  7. 设计模式(10)[JS版]-JavaScript如何实现组合模式???
  8. cloudsim资料收集
  9. Windows10 DPC_WATCHDOG_VIOLATION 蓝屏故障分析
  10. RAID区别和特点(全)