在现代企业网络和远程办公环境中,通过虚拟私人网络(VPN)安全访问内部资源已成为刚需,对于使用 CentOS 这类 Linux 发行版的系统管理员或开发人员而言,掌握在终端中配置和管理 VPN 是一项必备技能,本文将详细介绍如何在 CentOS 系统中通过命令行工具(如 openvpn、strongswan 或 ipsec)配置并连接至不同类型的 VPN 服务,涵盖环境准备、配置文件编写、权限设置及故障排查等关键步骤。

确保你的 CentOS 系统已更新至最新版本,并安装必要的软件包,以 CentOS 7 或 8 为例,可通过以下命令安装 OpenVPN 客户端:

sudo yum install -y epel-release
sudo yum install -y openvpn

如果使用的是较新的 CentOS Stream,可改用 dnf 包管理器:

sudo dnf install -y openvpn

你需要获取目标 VPN 服务提供商提供的配置文件(通常为 .ovpn 文件),该文件包含服务器地址、认证信息、加密协议等必要参数,将其保存到 /etc/openvpn/client/ 目录下,例如命名为 my-vpn.ovpn

编辑该配置文件,确保其中包含以下关键字段(可根据实际情况调整):

  • remote your-vpn-server.com 1194:指定服务器地址与端口号。
  • auth-user-pass:启用用户名密码认证(需手动输入或使用脚本自动填充)。
  • ca ca.crtcert client.crtkey client.key:证书路径,若使用证书认证则必须提供。
  • proto udp:选择传输协议(UDP 更快,TCP 更稳定)。

若你希望避免每次连接时手动输入账号密码,可以创建一个凭据文件(如 /etc/openvpn/client/credentials.txt格式如下:

username
password

并设置权限以保护敏感信息:

sudo chmod 600 /etc/openvpn/client/credentials.txt

在配置文件中添加一行:

auth-user-pass /etc/openvpn/client/credentials.txt

启动 OpenVPN 客户端服务:

sudo systemctl start openvpn@my-vpn
sudo systemctl enable openvpn@my-vpn

若一切正常,你将看到类似 Initialization Sequence Completed 的日志输出,表示连接成功,可通过 ip addr show 检查是否有新的 TUN/TAP 接口(如 tun0)被创建,并用 ping 命令测试是否能访问内网 IP 地址。

高级场景中,你可能需要配置路由规则或 DNS 解析,若想仅让特定流量走 VPN(即 split tunneling),可在配置文件中加入:

route 192.168.10.0 255.255.255.0

这会将目标子网的流量导向 VPN 隧道,而其他流量仍走本地网卡。

常见问题包括:

  • “TLS Error: TLS key negotiation failed”:检查证书是否过期或配置错误;
  • “Cannot open /dev/net/tun”:确认 TUN 设备驱动已加载(modprobe tun);
  • 连接超时:检查防火墙是否放行 UDP 1194 端口(firewall-cmd --add-port=1194/udp --permanent)。

在 CentOS 终端中配置 VPN 是一项灵活且强大的操作方式,特别适合自动化部署、脚本化管理或无图形界面的服务器环境,掌握上述流程,不仅提升运维效率,也为构建更安全的远程访问架构打下坚实基础。

CentOS 终端配置 VPN 的完整指南,从基础到高级设置详解  第1张

VPN加速器|半仙VPN加速器-免费VPN梯子首选半仙VPN