如何使用 openvpn3-autoload 在 BOOT 上自动连接 OpenVPN?

如何使用 openvpn3-autoload 在 BOOT 上自动连接 OpenVPN?

我正在尝试为我的 Ubuntu 20.04 VM 创建 OpenVPN 解决方案。我发现有两个客户端可以连接到 OpenVPN 服务器(在 pfSense 中运行),一个是 network-manager-gnome,另一个是 openvpn3。

对于 network-manager-gnome,我可以导入 .ovpn 文件,但无法使用配置文件连接到 OpenVPN 服务器。然后我尝试使用 openvpn3,它需要命令行才能工作,并且能够连接到 OpenVPN 服务器。我还发现 openvpn3-autoload 可用于通过单个命令连接到 OpenVPN 服务器。

但是,我想制作一个自动解决方案,让桌面在启动时无需任何手动操作即可连接到 OpenVPN 服务器。我想知道是否有解决方案可以完成这项工作。

谢谢。

答案1

找到解决方案。

尽管我已阅读并遵循指南(https://openvpn.net/openvpn-3-linux-and-auth-user-pass/), 我忘记运行了systemctl daemon-reload 如果没有这个命令,systemd 就不知道有新的服务文件

首先,我们需要按照指南创建一个目录,复制 client.ovpn 文件并为 openvpn3-autoload 服务创建 openvpn_profile.autoload 文件

提醒编辑权限

chmod 600 $HOME/.openvpn3/autoload/openvpn_profile.ovpn && chmod 600 $HOME/.openvpn3/autoload/openvpn_profile.autoload

然后复制服务文件

sudo cp /usr/lib/systemd/system/openvpn3-autoload.service /usr/lib/systemd/system/openvpn3-autoload.service

并编辑服务文件以添加用户并更改默认配置目录

sudo vim /usr/lib/systemd/system/openvpn3-autoload.service
[Unit]
Description=OpenVPN 3 Linux configuration auto loader and starter
After=network.target dbus.service

[Service]
Type=oneshot
User=myusername
ExecStart=/usr/sbin/openvpn3-autoload --directory /home/myusername/.openvpn3/autoload
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

重新加载守护进程,启用并启动服务

systemctl daemon-reload
systemctl enable openvpn3-autoload.service
systemctl start openvpn3-autoload.service

重启虚拟机并确认结果

相关内容