【openvpn简介】

简单原理

VPN: Virual Private Network ,虚拟私有网络,或称为虚拟专用网络,常用于在公用网络上建立专用网络,进行加密通讯,VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。

OpenVPN是一个用于创建虚拟专用网络加密通道的软件包,作用是使远程不同网段主机处于一个虚拟且相同的网段中

OpenVPN的技术核心是虚拟网卡,其次是SSL协议实现

虚拟网卡是使用网络底层编程技术实现的一个驱动软件。安装此类程序后主机上会增加一个非真实的网卡,并可以像其它网卡一样进行配置。服务程序可以在应用层打开虚拟网卡,如果应用软件(如网络浏览器)向虚拟网卡发送数据,则服务程序可以读取到该数据。如果服务程序写合适的数据到虚拟网卡,应用软件也可以接收得到。虚拟网卡在很多的操作系统中都有相应的实现,这也是OpenVPN能够跨平台使用的一个重要原因。

在OpenVPN中,如果用户访问一个远程的虚拟地址(属于虚拟网卡配用的地址系列,区别于真实地址),则操作系统会通过路由机制将数据包(TUN模式)或数据帧(TAP模式)发送到虚拟网卡上,服务程序接收该数据并进行相应的处理后,会通过SOCKET从外网上发送出去。这完成了一个单向传输的过程,反之亦然。当远程服务程序通过SOCKET从外网上接收到数据,并进行相应的处理后,又会发送回给虚拟网卡,则该应用软件就可以接收到。
OpenVPN是一个基于OpenSSL库的应用层VPN实现。OpenVPN允许参与建立VPN的单点使用共享密钥,电子证书,或者用户名/密码进行身份验证。

脚本实现一键安装,增加,注销

前提是搭配好yum源的epel,也可自行安装不同版本,但需要科学上网,我没有,所以还是算了

#!/bin/bash
install_openvpn () {
. /etc/os-release
 
if [ $ID = "rocky" -o $ID = "centos" ];then
    echo OS version is rocky or centos
    yum -y install openvpn
	yum -y install easy-rsa
	cp /usr/share/doc/openvpn/sample/sample-config-files/server.conf /etc/openvpn
    cp -r /usr/share/easy-rsa/ /etc/openvpn/server
	cp /usr/share/doc/easy-rsa/vars.example /etc/openvpn/server/easy-rsa/3
    cd /etc/openvpn/server/easy-rsa/3
	./easyrsa init-pki
	./easyrsa build-ca nopass
	./easyrsa gen-req server nopass
	./easyrsa sign server server <<EOF
yes
EOF
    ./easyrsa gen-dh
    cp -a /usr/share/easy-rsa/ /etc/openvpn/client
	cd /etc/openvpn/client/easy-rsa/3
	cp /usr/share/doc/easy-rsa/vars.example /etc/openvpn/client/easy-rsa/3/vars
	./easyrsa init-pki
	
	
elif [ $ID = "ubuntu" ];then
    echo OS version is Ubuntu
    apt update
    apt  -y install openvpn 
    apt -y install easy-rsa
	cp /usr/share/doc/openvpn/sample/sample-config-files/server.conf /etc/openvpn
    cp -r /usr/share/easy-rsa/ /etc/openvpn/server
	cp /usr/share/doc/easy-rsa/vars.example /etc/openvpn/server/easy-rsa/3
    cd /etc/openvpn/server/easy-rsa/3
	./easyrsa init-pki
	./easyrsa build-ca nopass
	./easyrsa gen-req server nopass
	./easyrsa sign server server <<EOF
yes
EOF
    ./easyrsa gen-dh
    cp -a /usr/share/easy-rsa/ /etc/openvpn/client
	cd /etc/openvpn/client/easy-rsa/3
	cp /usr/share/doc/easy-rsa/vars.example /etc/openvpn/client/easy-rsa/3/vars
	./easyrsa init-pki
 
else
    echo "不支持OS"
    exit
fi
}
 
useradd () {
read -p "请输入创建用户姓名的拼音(例如:libai):" NAME
cd /etc/openvpn/client/easy-rsa/3
 
./easyrsa gen-req ${NAME} nopass <<EOF
EOF
 
./easyrsa import-req /data/openvpn/easy-rsa/pki/reqs/${NAME}.req ${NAME}
 
 
./easyrsa sign client ${NAME} <<EOF
yes
EOF
}
 
userdel () {
read -p "请输入删除用户姓名的拼音(例如:libai):" NAME
/etc/openvpn/client/easy-rsa/3
 
./easyrsa revoke ${NAME}  <<EOF
yes
EOF
 
./easyrsa gen-crl
 
systemctl restart openvpn@server.service
 
}
 
 
 
 
echo -en "\E[$[RANDOM%7+31];1m"
cat <<EOF
请选择:
1)安装openvpn
2)创建用户
3)删除用户
4)选择结束 
EOF
echo -en '\E[0m'
 
read -p  "请输入上面数字1-5: " MENU
 
case $MENU in
1)
   echo "正在安装openvpn"
   install_openvpn
   ;;
2)
    echo "正在创建用户"
    useradd
	;;
3)
    echo "正在删除用户"
    userdel
	;;
4)
    echo "选择结束"
	break
    ;;
*)
    echo "INPUT FALSE!"
esac
 

第六周作业

mysql简单用法
mysql的事务操作及日志文件
mysql备份
mysql的DQL简单介绍
mysql简单架构和用户管理
mysql集群简介
mysql的高可用
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值