在现代企业网络架构中,虚拟私有网络(VPN)已成为保障远程办公安全、实现跨地域资源访问的关键技术,作为 Linux 系统管理员或网络工程师,掌握如何高效配置和管理 VPN 连接至关重要,nmcli(NetworkManager Command Line Interface)正是这样一个强大工具,它不仅支持常见的以太网、Wi-Fi 配置,还提供了对多种类型 VPN 的完整支持,包括 OpenVPN、IPsec、WireGuard 等,本文将围绕 nmcli vpn 相关命令进行详细讲解,帮助你快速上手并熟练运用这一核心技能。
我们来看 nmcli 与 VPN 的基本关系,NetworkManager 是 Linux 中广泛使用的网络管理守护进程,而 nmcli 是其命令行接口,允许用户以脚本化方式控制网络配置,通过 nmcli connection 子命令,你可以添加、删除、修改和激活任何类型的连接,包括使用 type vpn 指定的虚拟专用网络连接。
要查看当前系统中已配置的所有 VPN 连接,可以运行:
nmcli connection show --type vpn
这会列出所有保存的 VPN 连接名称及其状态(如未激活、已激活等),若想进一步了解某个特定连接的详细信息,IP 地址分配、认证方式、服务器地址等,可使用:
nmcli connection show "MyVPNServer"
"MyVPNServer" 是你为该连接设定的名称。
创建一个新的 VPN 连接时,需指定类型,对于 OpenVPN:
nmcli connection add type vpn con-name "MyOpenVPN" ifname tun0 vpn-type openvpn \
vpn.data "remote=your-vpn-server.com:1194" \
vpn.secrets "password=your-password"
注意:密码明文写入配置文件存在安全隐患,建议使用 --ask 参数交互式输入敏感信息,或结合 nmcli connection modify 设置 secret-flags 选项来加密存储。
对于更复杂的场景,比如使用 IKEv2/IPsec 协议,你需要提供证书路径、预共享密钥(PSK)、用户名和身份标识等参数,此时推荐先用图形界面(如 GNOME Network Manager)配置好连接,再导出配置到文本文件,然后通过 nmcli connection import 加载,这样可以避免手动拼写错误。
一旦连接配置完成,即可使用以下命令激活:
nmcli connection up "MyVPNServer"
如果遇到连接失败的问题,可通过查看日志获取线索:
journalctl -u NetworkManager | grep -i vpn
或者直接检查 nmcli 输出中的错误提示,如“Failed to establish connection”、“Authentication failed”等。
值得一提的是,nmcli vpn 还支持动态更新连接参数,例如修改服务器地址、更换用户名密码等,无需重新创建连接,这对于需要频繁切换不同站点或环境的运维人员非常实用。
nmcli vpn 是 Linux 环境下管理远程连接的强大工具,尤其适合自动化部署、CI/CD 流程以及无 GUI 的服务器环境,掌握其语法和最佳实践,不仅能提升效率,还能增强网络安全性和可控性,无论是初学者还是资深工程师,都应将其纳入日常技能树中。

半仙加速器-海外加速器|VPN加速器|vpn翻墙加速器|VPN梯子|VPN外网加速