Windows OpenVPN的安装之服务器自动启动连接

简介

OpenVPN 不管是服务器还是客户端,都是安装相同的软件。仅仅是配置时,采用哪个配置文件的问题。它带了两个配置文件的例子,一个是 client.ovpn,一个是 server.ovpn。直接拿过来修改就好了。具体如何配置,请看本博客之前的文章。

这里描述的是 Windows 上面安装 OpenVPN。

正常安装完成后,它有个 GUI,会在任务栏产生一个图标。鼠标右键点图标,会有菜单。选择菜单里面的【连接】,OpenVPN 开始执行连接操作。

对于服务器来说,同样需要点这个【连接】菜单,才算启动了服务器。然后客户端才可以连接过来。也就是说,需要操作者登录 Windows 桌面,去点那个菜单。

如何自动启动

那么,如何自动启动这个连接,不需要操作者去点菜单?网上查到的资料很简单,说是把配置文件放到 config-auto 文件夹底下。

我这样做了,没有任何效果。

首先,我做好了一个配置文件,放到 config 目录底下,然后鼠标去点【连接】菜单,连接建立正常,没有任何问题。

然后,我把这个配置,放到 config-auto 目录下,重新启动电脑,然后测试发现,连接并没有建立。

网上查了一堆资料,各种说法都有,但都不对。其实这里有个概念的问题,网上大多没说清楚,只说操作。然后按照这些操作做,还是不行。

概念

OpenVPN 安装以后,在 Windows 的服务器里面,有一个服务,名为:OpenVPNService。这个去 Windows 的服务里面查看,应该能看到。这个服务应该是设置为自动启动的。

然后,这个服务,它是从 config-auto 里面查配置文件的。并且,配置文件的名字不重要,任何名字都行,只要它是 xxx.ovpn 这样的后缀名。

我遇到的问题

因为一开始并不明白这个概念,检查了 Windows 系统,有这个 OpenVPNService 服务,并且这个服务确实已经运行了,而且又在 config-auto 目录下放了配置文件,还是不行。并且,这个配置文件是放在 config 目录下,点菜单建立连接,能够正常工作的配置文件。所以我只能乱猜,以为是需要这个配置文件的文件名需要让 Service 知道,需要配置,又不知道去哪里配置。

问题的解决

后面发现,在 OpenVPN 的安装目录底下有一个 log 目录。这个目录底下有 xxx.log 文件。这个 xxx 就是配置文件的名字。如果曾经有个多个不同名字的配置文件,这里就有多个 xxx.log 文件。

打开对应的 log 文件发现一个错误提示:

DEPRECATED OPTION: --cipher set to 'AES-256-CBC' but missing in --data-ciphers (AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305)

拿这个错误提示去问 ChatGPT,它说应该是:

配置文件里面有一行:cipher AES-256-CBC,应该改为:

data-ciphers AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305:AES-256-CBC
data-ciphers-fallback AES-256-CBC

看起来合理。用上述两行去替换掉原来的那一行,重启服务。结果,仍然不行。再看 log,发现问题似乎和那个 fallback 有关。

去掉第二行(有 fallback 那一行),重启服务,好了!

总结:

  1. 概念:OpenVPN 安装了一个服务叫做 OpenVPNService,可以在 Windows 系统的服务里面看到;这个服务需要的配置文件放在 config-auto 目录下;配置文件的名称可以是任意文件名,后缀是 .ovpn 就说明它是 OpenVPN 的配置文件。

  2. 如果上述两个条件(1. 服务自动运行;2. 配置文件在正确目录下),仍然不行,应该去看 log 目录底下的 log 文件,看看问题在哪里。

  3. 关于那个 cipher 的问题:这一行是OpenVPN 安装后附带的例子配置文件带来的。但它是不正确的。不知道为何在 GUI 模式下点菜单启动时没问题。

相关推荐
爱吃青椒不爱吃西红柿‍️11 分钟前
华为ASP与CSP是什么?
服务器·前端·数据库
运维&陈同学1 小时前
【zookeeper01】消息队列与微服务之zookeeper工作原理
运维·分布式·微服务·zookeeper·云原生·架构·消息队列
是阿建吖!1 小时前
【Linux】进程状态
linux·运维
hzyyyyyyyu1 小时前
内网安全隧道搭建-ngrok-frp-nps-sapp
服务器·网络·安全
明明跟你说过2 小时前
Linux中的【tcpdump】:深入介绍与实战使用
linux·运维·测试工具·tcpdump
Mr_Xuhhh3 小时前
重生之我在学环境变量
linux·运维·服务器·前端·chrome·算法
中云DDoS CC防护蔡蔡4 小时前
微信小程序被攻击怎么选择高防产品
服务器·网络安全·微信小程序·小程序·ddos
HPC_fac130520678165 小时前
以科学计算为切入点:剖析英伟达服务器过热难题
服务器·人工智能·深度学习·机器学习·计算机视觉·数据挖掘·gpu算力
yaoxin5211236 小时前
第二十七章 TCP 客户端 服务器通信 - 连接管理
服务器·网络·tcp/ip