安装openvpn客户端并设置开机自启动

2024-02-14 11:10

本文主要是介绍安装openvpn客户端并设置开机自启动,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Linux服务器安装 OpenVPN 客户端

sudo apt-get install openvpn

在服务端生成客户端配置文件

前提条件,公司已经成功安装openvpn服务器,并且提前在公司服务端/etc/openvpn/目录下存放该脚本client.sh,用于生成客户端的配置文件

#!/bin/bash
#生产客户端的证书和密钥,客户端名称可以自己配置
client_name=$1
cd /etc/openvpn/easy-rsa;
./easyrsa build-client-full ${client_name} nopass;

#创建文件夹,将所有文件复制到该路径下
cd /etc/openvpn/;
mkdir ${client_name};
cd ${client_name};
cp /etc/openvpn/easy-rsa/pki/ca.crt .
cp /etc/openvpn/client/client.conf .;
#做字符串拼接,将client_name和对应的密钥和证书的后缀名作拼接
a=".crt"
crt="${client_name}${a}"
cp /etc/openvpn/easy-rsa/pki/issued/${crt} .;
b=".key"
key="${client_name}${b}"
cp /etc/openvpn/easy-rsa/pki/private/${key} .

cp /etc/openvpn/easy-rsa/ta.key .
#将开机自启动脚本也复制到该路径下
cp /etc/openvpn/client/client-autoconfig.sh .

#将密钥和证书作软链接
orgin_crtname="client.crt"
ln -s ${crt} ${orgin_crtname};
orgin_keyname="client.key"
ln -s ${key} ${orgin_keyname};

#将所有文件打包到clients目录下
cd ..
dir=${client_name}
c=".tar.gz"
dir="${dir}${c}"
tar -zcvf ./clients/${dir} ${client_name}

#删除原先的文件夹
rm -rf ${client_name}
 

运行方式

./client.sh client_name

运行成功如图,生成的压缩包在clients目录下。

在服务端生成对应的linux客户端配置文件,并通过命令上传至对应的客户端
将生成的客户端证书(client.crt)、私钥(client.key),服务端根证书(ca.crt)、ta.key打包发送到客户端的如下目录

/etc/openvpn/client

如:现场环境客户端配置文件目录

linux临时启动客户端服务命令

openvpn --config client.conf

在Linux环境下设置openVPN开机自启动脚本

1.打开终端并使用root权限登录到系统

2.创建一个systemd服务来在Linux系统启动时自动启动OpenVPN客户端

vim /etc/systemd/system/openvpn-client.service

3.将以下内容复制并粘贴到文件中:

[Unit]
Description=OpenVPN client service
After=network.target[Service]
Type=simple
ExecStart=/usr/sbin/openvpn --cd /etc/openvpn/client --config /etc/openvpn/client/client.conf
Restart=always[Install]
WantedBy=multi-user.target

4.保存关闭后,重新启动systemd服务

sudo systemctl start openvpn-client.service
sudo systemctl enable openvpn-client.service
sudo systemctl daemon-reload

5.使用ifconfig查看是否新增加一个虚拟地址

现在,当系统启动时,OpenVPN客户端将自动启动并连接到服务器。

在Windows配置openVPN客户端

openvpn客户端下载

window客户端需要注意:脚本生成的文件需要把原来的client.crt和client.key删除,然后将新生成的客户端名字如liufang2所对应的文件修改client.crt和client.key详情如下图


修改完成之后,把上面所有的配置文件拷贝到C:\Program Files\OpenVPN\config 目录或者C:\Users\liuf13\OpenVPN\config目录下

注意:在windows系统下client.conf的需要改成client.ovpn


打开openVPN客户端连接,可以看到当前状态连接成功

Windows openvpn开机自动启动设置

  • 首先找到桌面的OPENVPN图标

  • 右键点击图标的属性,在目标路径的最后面添加 –connect client.ovpn,如下图

  • 按Windows+R打开cmd输入shell:startup
  • 把桌面的OPENVPN图标复制到打开的文件夹里面

这样开机不用任何操作就可以启动openvpn客户端了

这篇关于安装openvpn客户端并设置开机自启动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/708336

相关文章

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

PostgreSQL 默认隔离级别的设置

《PostgreSQL默认隔离级别的设置》PostgreSQL的默认事务隔离级别是读已提交,这是其事务处理系统的基础行为模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一 默认隔离级别概述1.1 默认设置1.2 各版本一致性二 读已提交的特性2.1 行为特征2.2

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

mtu设置多少网速最快? 路由器MTU设置最佳网速的技巧

《mtu设置多少网速最快?路由器MTU设置最佳网速的技巧》mtu设置多少网速最快?想要通过设置路由器mtu获得最佳网速,该怎么设置呢?下面我们就来看看路由器MTU设置最佳网速的技巧... 答:1500 MTU值指的是在网络传输中数据包的最大值,合理的设置MTU 值可以让网络更快!mtu设置可以优化不同的网

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

MySQL 设置AUTO_INCREMENT 无效的问题解决

《MySQL设置AUTO_INCREMENT无效的问题解决》本文主要介绍了MySQL设置AUTO_INCREMENT无效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录快速设置mysql的auto_increment参数一、修改 AUTO_INCREMENT 的值。

MYSQL查询结果实现发送给客户端

《MYSQL查询结果实现发送给客户端》:本文主要介绍MYSQL查询结果实现发送给客户端方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql取数据和发数据的流程(边读边发)Sending to clientSending DataLRU(Least Rec