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)。


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

  • 10
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我可以为您提供一些关于 CentOS 7 上搭建 OpenVPN 的简单步骤: 1. 安装 OpenVPN 使用以下命令安装 OpenVPN: ``` yum install -y openvpn ``` 2. 配置 OpenVPN 创建一个新目录以存储配置文件: ``` mkdir /etc/openvpn/easy-rsa/ ``` 将 OpenVPN 的默认配置文件复制到新目录中: ``` cp -r /usr/share/easy-rsa/ /etc/openvpn/ ``` 进入 Easy-RSA 目录: ``` cd /etc/openvpn/easy-rsa/ ``` 编辑 vars 文件: ``` vi vars ``` 修改以下变量: ``` export KEY_COUNTRY="CN" export KEY_PROVINCE="BJ" export KEY_CITY="Beijing" export KEY_ORG="My Organization" export KEY_EMAIL="vpn@example.com" ``` 保存并关闭 vars 文件。 执行以下命令以设置 Easy-RSA: ``` source ./vars ./clean-all ./build-ca ./build-dh ./build-key-server server ``` 3. 配置 OpenVPN 服务器 创建一个 server.conf 文件: ``` vi /etc/openvpn/server.conf ``` 将以下内容添加到文件中: ``` port 1194 proto udp dev tun ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/server.crt key /etc/openvpn/easy-rsa/keys/server.key dh /etc/openvpn/easy-rsa/keys/dh2048.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" keepalive 10 120 comp-lzo user nobody group nobody persist-key persist-tun status openvpn-status.log verb 3 ``` 保存并关闭 server.conf 文件。 4. 启动 OpenVPN 服务器 使用以下命令启动 OpenVPN 服务器: ``` systemctl start openvpn@server ``` 确保 OpenVPN 服务器随系统启动自动启动: ``` systemctl enable openvpn@server ``` 至此,您已经成功地在 CentOS 7 上搭建OpenVPN 服务器。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值