我有一台 Linux 服务器,需要通过不太可靠的连接连接到 VPN。有时,连接会断开,并且服务器将失去所有访问权限,直到网络管理器重新启动为止。连接将出现启动,但 ping 任何非本地地址都会失败。 (systemctl restart NetworkManager.service
几乎总是最简单且正确的修复)。
OpenVPN 客户端支持--ping-restart
,但我找不到 NetworkManager 的任何等效功能,也找不到在 systemd 中处理此问题的方法。
我可以想出一种方法,使用 bash 脚本和 cron 作业或 systemd 计时器将其组合在一起(即定期 ping 已知的 IP 地址,如果失败则重新启动 networkmanager.service)。但这似乎有点脆弱,我想必须有一种更干净的方法来监视 systemd 下的网络连接。