OpenVpnCentos8部署
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部署相关推荐
- Kubernetes 中 设置pod不部署在同一台节点上
在k8s中,节点的调度主要由亲和性和污点来进行控制的. 而在亲和性部分由分为了节点亲和性和节点反亲和性. 节点亲和性是指在pod部署时,尽量(软策略)或者必须满足(硬策略)部署在某些节点上. ...
- 将jar包部署在docker上,将jar包打成镜像,使用docker部署jar包
假设你已经准备好以下东西,即可进行服务部署 一台安装好docker的linux服务器(安装docker见安装docker) 准备好的jar包 接下来开始吧! 将jar包上传至服务器(建好文件夹存放以方 ...
- jar包升级部署到服务器详细流程,将服务部署在linux中
假设你已经准备好以下东西,即可进行服务部署 一台服务器(云服务器或虚拟机皆可) 已安装好的jdk 1.8 + 的环境(可自行百度) 打好的jar包(maven打jar包) 1. 在服务器中新建好你的项 ...
- jar包部署shell脚本编写,在服务器上部署jar包,在Linux服务器上部署服务,设置编码格式,设置内存管理
准备步骤: 1.安装java环境,知道java安装目录 2.将jar包拖放或发送至服务器中(目录自定义) 一.编写shell脚本,将以下代码放在shell脚本中,将shell脚本放在jar包同级目录下 ...
- 在docker上安装部署tomcat项目 超简单,拿来主义
在docker中部署tomcat,非常简单,而且省去了手动安装jdk等步骤,只需要将war包复制在容器tomcat实例中的webapps下面即可.以下将详细讲解流程: 在windows中打好包以后用w ...
- 【CentOS】利用Kubeadm部署Kubernetes (K8s)
[CentOS]利用Kubeadm部署Kubernetes (K8s)[阅读时间:约10分钟] 一.概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 三.具体实验流程 1 系统准 ...
- CentOS Docker安装配置部署Golang web helloworld
目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker部署Golang web helloworld 四.Docker与虚拟机的区别 五. ...
- 【Docker】registry部署docker私有镜像仓库
Docker Hub作为Docker默认官方公共镜像仓库,但是如果我们不想使用怎么办,第一我们可以替换默认镜像仓库为我们国内的一些镜像仓库,第二就是如我们自己搭建一个自己的私有镜像仓库,官方也提供do ...
- 【Kubernetes】如何使用Kubeadm部署K8S集群
一 . 准备机器 本次环境采用华为云ECS弹性云服务器部署(也可以使用VMware) vm01(2V4G): Ubuntu_18.04作为K8S master节点 vm02(1V1G): Ubuntu ...
最新文章
- vue实例没有挂载到html上,vue 源码学习 - 实例挂载
- ARM7还是ARM9?uCOS还是Linux?
- mysql 设计两个主键都不可重复_18个MySQL面试题剖析(答案解析),听说身为程序员的你还没掌握...
- 面向对象的三大特征之一:继承
- MyBatis复习(六):MyBatis二级缓存
- JDK源码(10)-Integer(用处最多,重点讲解)
- 计算机英语讲课笔记(2020-6-23)
- win8好用吗_小编告诉你win8好用吗?你有用过吗
- python特效电子相册_用Python和Conky做个电子相册,美化你的Linux桌面
- 【Python】range和xrange区别
- Vue学习笔记之14-Vue-CLI脚手架
- 公共网关接口CGI(Common GatewayInterface)
- 【专栏必读】王道考研408操作系统+Linux系统编程万字笔记、题目题型总结、注意事项、目录导航和思维导图
- erp软件涉及哪些计算机技术?,ERP软件应该学习哪些内容?
- 用计算机用语说唯美的话,100句唯美说说qq空间句子合集
- 用ping让对方电脑堵塞瘫痪
- MyBatisX插件没有出现蓝色鸟
- 疾病负担研究(GBD)-如何绘制GBD相关性图
- asp微信点餐系统源码,asp扫码点餐代码,支持连接飞鹅云打印机
- 半岛电视台网络遭多次网络攻击
热门文章
- 计算机网络校园局域网课题,毕业论文基于VLAN技术的校园局域网建设word文档_全文免费在线阅读(推荐阅读)...
- NAT地址转换(超详细解说版)
- PHP开发的仿山楂岛留言程序源码
- 关于寝室洗衣机使用情况的调查与分析
- 如何把极坐标化为直角坐标_如何把极坐标化为直角坐标
- 1322A. Unusual Competitions · 括号
- 设计模式(10)[JS版]-JavaScript如何实现组合模式???
- cloudsim资料收集
- Windows10 DPC_WATCHDOG_VIOLATION 蓝屏故障分析
- RAID区别和特点(全)