• 当前位置: 首 页 > 教育百科 > 学历/技能 > 正文

    开放VPN (OpenVPN)搭建

    :2024年09月08日
    技术小牛的空间

    OpenVPN是一款基于 OpenSSL 库的应用层虚拟专用网络实现,适合远程办公、网络安全、跨地域连接、云计算和虚拟机、家庭网络、游戏和娱乐、企业混合网络、网络桥接和安全浏览。

    前言

    OpenVPN是什么?

    答:OpenVPN 是一个基于 OpenSSL 库的应用层 VPN 实现。和传统 VPN 相比,它的优点是简单易用,相比传统的VPN更加安全。

    VPN又是什么?

    答:vpn又叫虚拟专用网络,利用可用公用网络上架设一个虚拟专用网络进行加密通信,其中 VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问实现对网关中各个网络设备进行加密通信。

    OpenVPN搭建使用场景?(当然这是原话)

    1. 远程办公:公司员工可以使用OpenVPN连接到公司的网络,从而访问公司的资源和应用程序,实现远程办公。

    2. 网络安全:OpenVPN可以加密数据传输,保护用户的隐私和安全,在公共Wi-Fi网络或不安全的网络环境中使用。

    3. 跨地域连接:OpenVPN可以连接不同地域的网络,实现跨地域的数据传输和资源共享。

    4. 云计算和虚拟机:OpenVPN可以连接到云计算平台或虚拟机,实现安全的数据传输和访问。

    5. 家庭网络:OpenVPN可以连接家庭网络中的多个设备,实现家庭网络的安全和共享。

    6. 游戏和娱乐:OpenVPN可以连接游戏服务器,实现游戏的安全和快速连接。

    7. 企业ybrid网络:OpenVPN可以连接企业的混合网络,实现不同网络之间的安全和数据共享。

    8. 网络桥接:OpenVPN可以桥接不同网络之间的连接,实现网络之间的安全和数据共享。

    9. 安全浏览:OpenVPN可以连接到安全的浏览代理服务器,实现安全的浏览和访问。

    10. 科研和教育:OpenVPN可以连接到科研和教育机构的网络,实现安全的数据传输和资源共享。

    准备工作                                      

    需求:搭建一个虚拟网络去实现公司对内部网络访问办公。

    这里我准备一台阿里云服务器配置不高宽带也不是特别高主要是价格便宜优惠一年才100元。

    1. 阿里云服务器centos7系统:安装openvpn

    2. 个人笔记本windows系统:安装openvpn GUL

    安装openvpn                                  

    1.用ssh登录阿里云:

    2.先更新:

    yum -y update

    3.安装依赖:

    yum install -y  lrzsz gcc-c++ openssl openssl-devel net-tools lzo lzo-devel pam pam-devel vim wget

    ###

    4.下载openvpn:

    本来是想下载版本高一点(2.6.12)的想到大家网络环境不是很好。

    wget https://swupdate.openvpn.org/community/releases/openvpn-2.5.6.tar.gz

    如果出现无法下载情况我就直接从网盘下载:

    链接:https://pan.baidu.com/s/1MTWD34ftBz6U9kg9k4Crlw?pwd=54by

    提取码:54by

    ##有几种版本

    下载好openvpn-2.5.6.tar.gz我们上传到服务器上:

    ##使用root用户权限上传不然普通用户权限可能导致权限不够无法上传文件

    ##在windows上使用powershell

    scp C:\Users\Administrator\Downloads\openvpn-2.6.8.tar.gz root@阿里云ip:/root

    ###C:\Users\Administrator\Downloads\openvpn-2.6.8.tar.gz为文件的绝对路径

    可以看到上传完成:

    5.解压

    tar -zxvf openvpn-2.5.6.tar.gz

    6.安装编译

    cd openvpn-2.5.6/

    ./configure --prefix=/data/openvpn/

    #编译

    make

    make install

    ##配置环境

    echo -e "PATH=\$PATH:/data/openvpn/sbin" >/etc/profile.d/openvpn256.sh

    #加载环境变量

    source /etc/profile

    ##检测是否安装完成

    openvpn --version

    创建CA机构与服务器证书                                                    

    1.下载EasyRSA

    wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.8/EasyRSA-3.0.8.tgz

    2.解压

    tar -zxvf EasyRSA-3.0.8.tgz

    3.签发证书的默认变量文件

    cd EasyRSA-3.0.8/

    egrep -v "^$|^#" vars.example >vars

    ##配置环境文件

    echo -e "set_var EASYRSA_CA_EXPIRE 36500\nset_var EASYRSA_CERT_EXPIRE 3650" > vars

    4.创建CA机构与服务器证书

    #生成pki目录

    bash easyrsa init-pki

    5.创建CA文件

    ./easyrsa build-ca nopass

    ##随便创建一个名称即可

    demo

    ##CA证书创建成功

    ##ca证书文件

    “/root/EasyRSA-3.0.8/pki/ca.crt

    ##CA密钥文件

    ”/root/EasyRSA-3.0.8/pki/private/ca.key

    6.创建服务端证书

    ##openvpn_server

    ./easyrsa gen-req openvpn_server nopass

    ##为了方便我去名 server_vpn

    Keypair and certificate request completed. Your files are:

    #服务端请求文件

    ”/root/EasyRSA-3.0.8/pki/reqs/openvpn_server.req“

    #服务端私钥文件

    ”/root/EasyRSA-3.0.8/pki/private/openvpn_server.key“

    7.签发服务端证书

    ./easyrsa sign server openvpn_server

    #输入yes

    #服务端证书文件

    "/root/EasyRSA-3.0.8/pki/issued/openvpn_server.crt"

    8.创建交互秘钥

    ./easyrsa gen-dh

    #交换秘钥文件

    "/root/EasyRSA-3.0.8/pki/dh.pem"

    #启用安全增强配置

    openvpn --genkey tls-auth ta.key

    #安全增强文件

    "/root/EasyRSA-3.0.8/ta.key"

    OpenVPN服务端配置                                                        

    1.创建日志文件

    mkdir logs

    2.创建用户

    ##创建用户组

    groupadd openvpn

    ##创建用户名并加入组和用户目录

    useradd -M -s /sbin/nologin -g openvpn openvpn

    3.创建服务端配置文件config

    vim server.conf

    ##按键盘i进入插入模式

    #添加内容

    #端口

    port 1194

    #协议

    proto tcp

    dev tun

    #ca证书文件

    ca  /root/EasyRSA-3.0.8/pki/ca.crt

    #服务端证书文件

    cert /root/EasyRSA-3.0.8/pki/issued/openvpn_server.crt

    #服务端私钥文件

    key /root/EasyRSA-3.0.8/pki/private/openvpn_server.key

    #交换秘钥文件

    dh /root/EasyRSA-3.0.8/pki/dh.pem

    #安全增强文件,0是服务端,1是客户端

    tls-auth /root/EasyRSA-3.0.8/ta.key 0

    #分配客户端IP的网段,不能和服务器一个网段,不能冲突

    server 10.8.0.0 255.255.255.0

    #运行通讯的内网路由,可以多条

    push "route 192.168.0.0 255.255.255.0"

    #会话检测,每十秒测试一下,超过120秒没回应就认为对方down

    keepalive 10 120

    #加密算法

    cipher AES-256-CBC

    #压缩算法

    compress lz4-v2

    #推送客户端使用lz4-v2算法

    push "compress lz4-v2"

    #最大客户端数

    max-clients 100

    #运行openvpn的用户和用户组

    user openvpn

    group openvpn

    #状态日志

    status  /logs/openvpn-status.log

    log-append /logs/openvpn.log

    #日志级别

    verb 3

    mute 20

    ##添加完成按”esc“案件在输入” :wq “保持推出即可

    启动项OpenVPN                                                              

    1.创建开机启动文件

    vim /etc/systemd/system/openvpn.service

    ##添加如下内容

    [Unit]

    Description=OpenVPN Server

    After=network.target

    After=syslog.target

    [Install]

    WantedBy=multi-user.target

    [Service]

    ExecStart=/data/openvpn/sbin/openvpn --config /root/openvpn-2.5.6/server.conf

    #加载系统服务

    systemctl daemon-reload

    #开机启动

    systemctl enable openvpn.service

    #启动服务

    systemctl start openvpn.service

    #查看服务运行状态

    systemctl status openvpn.service

    启动成功:

    客户端文件配置                                    

    1.客户端证书

    ##创建一个新目录用于生成客户端证书

    cd ~

    mkdir openvpn_client

    ##复制EasyRSA-3.0.8文件到

    cp -r EasyRSA-3.0.8/ openvpn_client/

    ##进入openvpn_client/

    cd /root/openvpn_client/EasyRSA-3.0.8

    ./easyrsa init-pki

    ##输入”yes“即可

    ./easyrsa gen-req client_demo nopass

    ##下一步直接回车

    ###客服端请求文件

    "/root/openvpn_client/EasyRSA-3.0.8/pki/reqs/client_demo.req"

    ##客服端私钥证书

    /root/openvpn_client/EasyRSA-3.0.8/pki/private/client_demo.key"

    ##回到服务端目录

    cd /root/EasyRSA-3.0.8

    ##将客户端复制到CA工作目录

    ./easyrsa import-req /root/openvpn_client/EasyRSA-3.0.8/pki/reqs/client_demo.req client_demo

    #签发证书

    ./easyrsa sign client client_demo

    #输入yes

    2.准备客户端配置文件

    ##回到openvpn目录

    cd /root/openvpn-2.5.6

    ##创建文件

    mkdir -p client/client_demo

    ##复制

    cp /root/openvpn_client/EasyRSA-3.0.8/pki/private/client_demo.key /root/openvpn-2.5.6/client/client_demo

    cp /root/EasyRSA-3.0.8/pki/issued/client_demo.crt /root/openvpn-2.5.6/client/client_demo

    cp /root/openvpn_client/EasyRSA-3.0.8/ta.key /root/openvpn-2.5.6/client/client_demo

    cp /root/EasyRSA-3.0.8/pki/issued/openvpn_server.crt /root/openvpn-2.5.6/client/client_demo

    cp /root/openvpn_client/EasyRSA-3.0.8/pki/ca.crt /root/openvpn-2.5.6/client/client_demo

    vim /root/openvpn-2.5.6/client/client_demo/client.ovpn

    client

    dev tun

    proto tcp

    remote 阿里云IP 1194

    resolv-retry infinite

    nobind

    ca ca.crt

    cert client_demo.crt

    key client_demo.key

    remote-cert-tls server

    tls-auth ta.key 1

    cipher AES-256-CBC

    verb 3

    compress lz4-v2

    3.打包下载客户端文件

    tar -zcvf client_demo.tar.gz /root/openvpn-2.5.6/client

    ##下载

    scp root@你服务器ip:/root/openvpn-2.5.6/client/client_demo.tar.gz D:/

    ##防火墙

    firewall-cmd --add-port=1194/tcp --add-port=1194/udp --permanent

    firewall-cmd --reload

    ##还有阿里云自带防火墙

    测试                                        

    1.window安装好是这个样子

    2.下载客户端文件解压

    3.导入打上面文件放入”C:\Program Files\OpenVPN\config“

    4.导入

    如果你在使用过程中,遇到问题,可以在评论区留言,我会帮你解决

    带来实用才是教程,不断改进才是进步

    “本文教程仅作参考和学习”

    [编辑:宋聪乔 &发表于江苏]
    [我要纠错]

    来源:本文内容搜集或转自各大网络平台,并已注明来源、出处,如果转载侵犯您的版权或非授权发布,请联系小编,我们会及时审核处理。
    声明:江苏教育黄页对文中观点保持中立,对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,不对文章观点负责,仅作分享之用,文章版权及插图属于原作者。

    关键词: 前言 OpenVPN 是什么 OpenVPN 一个
    有价值
    0
    无价值
    0
    猜您喜欢
    最热文章

    暂不支持手机端,请登录电脑端访问

    正在加载验证码......

    请先完成验证