通过 NetworkManager 配置自动连接的 VPN


前文:在命令行使用 NetworkManager 配置使用 OpenVPN

NetworkManager 有一个 dispatcher.d 服务,可以用于配置自动连接的 VPN。

新建文件,放在 /etc/NetworkManager/dispatcher.d/vpn-up

#! /bin/bash

REQUIRED_CONNECTION_NAME="eth0"
VPN_CONNECTION_NAME="toronto"


activ_con=$(nmcli con show --active| grep "${REQUIRED_CONNECTION_NAME}")
activ_vpn=$(nmcli con show --active| grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

给这个文件添加可执行权限:

sudo chmod +x /etc/NetworkManager/dispatcher.d/vpn-up

启动服务:

sudo systemctl enable NetworkManager-dispatcher.service

搞定。