如何从 shell 脚本/命令行配置新的 NetworkManager 连接?

Fil*_*ese 8 networking linux networkmanager linux-mint

我整天试图找到一种方法来配置可由 NetworkManager 使用终端/shell 脚本管理的新连接,但我没有成功。

原因是我有很多 openvpn 配置文件,我想有一个好的和快速的方式来导入它们,也因为 NetworkManager openvpn 插件不解析嵌入到配置文件中的证书,所以唯一的方法来配置一个新的VPN 连接是在我运行脚本以从配置文件中提取证书后通过 GUI 手动完成的,这是一个相当漫长而乏味的过程。

我发现在 RedHat 上, nmcli 实用程序能够以这种方式配置新连接:

nmcli con add [...]
Run Code Online (Sandbox Code Playgroud)

但是,这在(标准)Linux Mint 17.1 上是不可能的。

我尝试手动添加新连接,在 /etc/NetworkManager/system-connections

[connection]
id=VPNConnection
id=3389cf54-949e-4c69-a746-864f0f8720b8
type=vpn

[vpn]
service-type=org.freedesktop.NetworkManager.openvpn
fragment-size=1300
connection-type=password-tls
password-flags=1
auth=MD5
tunnel-mtu=1500
cipher=AES-256-CBC
comp-lzo=yes
cert-pass-flags=0
remote=[vpn provider]
port=[vpn port]
mssfix=yes
username=[username]
remote-cert-tls=server
cert=[user cert]
ca=[ca cert]
key=[user priv. key]

[ipv6]
method=ignore

[ipv4]
method=auto
Run Code Online (Sandbox Code Playgroud)

但是这个新配置没有出现在 NetworkManager 中。

另外,我没有任何 ~/.gconf/system 目录,无论是在我的个人主页下还是在 /root 下。

NetworkManager 可以从哪里读取配置文件?

小智 8

检查你的 /etc/NetworkManager/NetworkManager.conf

[main]应该有一个plugins指令,如果你已经启用了keyfile插件(即plugins=keyfile,ifupdown或类似),它应该监控/etc/NetworkManager/system-connections/文件更改目录。

此外, aman NetworkManager.conf告诉您“它将忽略除 root 之外的任何用户或组可读或可写的文件”。

不知道这是否能解决您的问题,但值得一试!

根据这个,应该使用NetworkManager V7 +工作

干杯! / 丹尼尔