openVPN服务端搭建
# 搭建步骤
云服务器(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)。
完成上述步骤后,即可完成配置
更多推荐
所有评论(0)