我正在尝试为我的 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
重启虚拟机并确认结果