# 搭建步骤

云服务器(Ubuntu 20.04.1 LTS)搭建服务端 公网IP:47.*.215.*
测试客户端:
部门内部成员的windows10 或者windows11 及mac电脑 还有现场linux环境
最后目标是实现所有客户端之间能够互联,并且已经成功应用

## 安装OpenVPN服务端

RedHat系

yum install -y openvpn


Debian系

apt install openvpn

## 安装Easy RSA套件(用于生成服务端和客户端所需的证书和密钥)

  • 下载Easy RSA源码包;

  • Easy RSA下载官网:https://github.com/OpenVPN/easy-rsa/releases 

    [root@localhost ~]wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.1.2/EasyRSA-3.1.2.tgz

  • 下载完后解压,在/etc/openvpn目录下创建目录easy-rsa,将刚才解压缩的所有文件复制到这个目录下
[root@localhost ~]#tar -zxvf EasyRSA-3.1.2.tgz
[root@localhost ~]#mkdir /etc/openvpn/easy-rsa
[root@localhost ~]#cp -r EasyRSA-3.1.2/* /etc/openvpn/easy-rsa

## 在服务端生成私钥和证书

  • 进入Easy RSA的安装目录,并配置参数
[root@localhost ~]# cd /etc/openvpn/easy-rsa/
[root@localhost easy-rsa]# cp vars.example vars
[root@localhost easy-rsa]# vim vars

  • 清理原有证书和私钥并初始化
[root@localhost easy-rsa]# ./easyrsa clean-all

  •  生成CA根证书
[root@localhost easy-rsa]# ./easyrsa build-ca

CA根证书生成位置:

/etc/openvpn/easy-rsa/pki/ca.crt

  • 为OpenVPN服务端生成server证书和私钥

备注:这里使用nopass参数设置不需要密码,那么在启动OpenVPN服务的时候就不提示输入密码。

[root@localhost easy-rsa]# ./easyrsa build-server-full server nopass

 服务端证书路径:/etc/openvpn/easy-rsa/pki/issued/server.crt
服务端私钥路径:/etc/openvpn/easy-rsa/pki/private/server.key

  • 生成Diffie-Hellman算法需要的密钥文件
[root@localhost easy-rsa]# ./easyrsa gen-dh

等待一段时间即可生成成功

  •  生成tls-auth Key用于防止DDOS和TLS攻击
[root@localhost easy-rsa]# openvpn --genkey --secret ta.key

ta.key路径:`/etc/openvpn/easy-rsa/ta.key

# OpenVPN服务端配置

  • 修改OpenVPN服务端配置文件
    vim /etc/openvpn/server/server.conf

    目录下如果没有服务端配置文件的话,可以先从其他地方下载 

  • 拷贝私钥、公钥和证书等文件到server.conf同级目录下

备注:需要拷贝的文件包括ca.crt、ca.key、server.crt、server.key、dh.pem、ta.key。
[root@localhost server]# cp /etc/openvpn/easy-rsa/pki/ca.crt 
[root@localhost server]# cp /etc/openvpn/easy-rsa/pki/private/ca.key 
[root@localhost server]# cp /etc/openvpn/easy-rsa/pki/issued/server.crt 
[root@localhost server]# cp /etc/openvpn/easy-rsa/pki/private/server.key 
[root@localhost server]# cp /etc/openvpn/easy-rsa/pki/dh.pem 
[root@localhost server]# cp /etc/openvpn/easy-rsa/ta.key 

 

## 启动服务端服务

[root@uos server]#openvpn --config server.conf

## OpenVPN Server服务自动开启

  •  创建systemd服务文件用于管理OpenVPN Server服务自动开启
cp   /usr/lib/systemd/system/openvpn-server@.service /etc/systemd/system/openvpn-server@server.service

  • -设置OpenVPN Server服务开机自启并立即启动
systemctl enable --now openvpn-server@server.service
  • -使用命令查看启动状态
systemctl status openvpn-server@server.service

## 在云服务器上配置安全组

之前启动客户端怎么也没法连上服务器,折腾半天最后发现是服务器上的端口没有放行,这条非常重要!!!

## 在服务端下配置CCD功能,指定客户端固定IP

配置步骤

  • 首先,在服务端开启CCD功能,在 OpenVPN 服务器的配置文件中,添加以下行:
#修改配置
vim /etc/openvpn/server/server.conf 
#打开这个配置, ccd文件夹,相对路径,和配置server.conf同一路径
#client-config-dir ccd

#绝对路径 /etc/openvpn/ccd
client-config-dir /etc/openvpn/ccd


其中,ccd 是一个文件夹路径,用于存放客户端 CCD 配置文件,我这里CCD文件夹创建的路径在`/etc/openvpn/`下。

  • 在 ccd 文件夹中,为 client-24 客户端创建一个名为 client-24 的文件,文件内容为
ifconfig-push 10.8.1.6 255.255.255.0

其中,这里的文件名一定要和客户端的文件名字一样

这将为 client-24 客户端分配一个固定的 IP 地址(例如 10.8.1.6)。


完成上述步骤后,即可完成配置

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐