赞
踩
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的高可用
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。