如何在启动时以及在 Gnome 桌面上恢复后自动使用以太网连接到 VPN?(systemd 脚本)

如何在启动时以及在 Gnome 桌面上恢复后自动使用以太网连接到 VPN?(systemd 脚本)

我正在运行 Gnome,我注意到在启动和恢复后自动连接到我的 VPN 时出现了一些令人讨厌的问题。它根本不起作用,我更改了密码权限和可用性,但无济于事。奇怪的是,如果我为所有用户启用所有连接和密码,它会在启动后立即连接,但当我登录时,我无法解析任何域或访问网页,不得不重新启动连接。混合和匹配权限导致我无法在从 S3 暂停恢复后自动重新连接。我创建了这个简单的 systemd 脚本,其中包含特定的网络配置,它解决了我的问题。在创建 systemd 服务之前,请确保您已选中以下我将指出的配置选项。

答案1

我们必须首先配置 VPN 和以太网连接的权限,以避免使用完全允许的选项导致启动错误。相反,我们将通过取消选中这两个Make available to other users连接的复选框,使所有用户都无法使用 VPN 连接和有线以太网连接。但是,当我们保存 VPN 的密码时,选择Store this password for all users以便我们可以在从挂起状态恢复后在锁定屏幕上立即连接。然后打开nmcli-connection-editor并选择您的有线以太网连接,转到选项卡General,选中复选框Automatically connect to VPN并选择您的 VPN 连接。现在我们进入下一个阶段,创建 systemd 服务以在启动登录和恢复时自动连接。

首先找到你的以太网连接的 uuid,nmcli con它的标签应该类似Wired connection 1

/etc/systemd/system/vpn-autostart.service保存包含以下内容的文件:

[Unit]
Description=Autostart VPN on boot and resume from suspend over ethernet
After=suspend.target

[Service]
User=root
Type=oneshot
ExecStart=nmcli con up uuid <youruuidhere>
StandardOutput=syslog

[Install]
WantedBy=suspend.target
WantedBy=default.target

创建并保存文件后,运行以下命令:

systemctl daemon-reload
systemctl enable vpn-autostart.service
systemctl start vpn-autostart.service

现在只需重新启动计算机,使用 Gnome 上的以太网,您的 OpenVPN 自动连接问题就迎刃而解了!

相关内容