凌峰创科服务平台

CentOS7如何连接VPN服务器?

下面我将分别详细介绍这两种最常见 VPN 的连接方法。

CentOS7如何连接VPN服务器?-图1
(图片来源网络,侵删)

使用 NetworkManager 连接 L2TP/IPsec VPN (推荐)

这是最简单、最推荐的方法,尤其适合桌面用户,它利用了系统自带的 NetworkManager 图形界面和命令行工具。

前提条件

  1. VPN 服务器信息

    • 服务器地址 (域名或IP)
    • 预共享密钥
    • L2TP 密钥 (也叫 IPsec PSK)
    • 用户名密码
  2. 安装必要软件包NetworkManager-l2tpxl2tpd 包提供了 L2TP 支持,strongswan 包提供了 IPsec 支持,CentOS 7 默认可能没有安装。

    # 使用 yum 安装
    sudo yum install -y NetworkManager-l2tp xl2tpd strongswan

连接步骤

步骤 1:启动并启用相关服务

CentOS7如何连接VPN服务器?-图2
(图片来源网络,侵删)
# 启用并启动 NetworkManager 服务(通常已运行)
sudo systemctl enable --now NetworkManager
# 启用并启动 strongswan 服务
sudo systemctl enable --now strongswan

步骤 2:打开网络连接设置

  • 图形界面 (GUI): 点击右上角的网络图标 -> "编辑连接..." -> 点击左下角的 "+" 号 -> 选择 "VPN" -> "Layer 2 Tunneling Protocol (L2TP)" -> 点击 "创建"。

  • 命令行 (CLI): 使用 nm-connection-editor 命令会弹出和 GUI 相同的窗口。

    nm-connection-editor

步骤 3:填写 VPN 连接信息

CentOS7如何连接VPN服务器?-图3
(图片来源网络,侵删)
  1. 常规 选项卡:

    • 连接名称:给这个连接起个名字,"MyL2TPVPN"。
    • 已启用的:勾选。
  2. VPN 选项卡:

    • 网关:输入您的 VPN 服务器地址。
    • 用户名:输入您的 VPN 账户用户名。
    • 密码:输入您的 VPN 账户密码。
    • 使用此密码的密钥:输入您的 L2TP 密钥 (也叫 IPsec PSK)。
    • 允许使用密码认证:确保此项已勾选。
    • 高级:点击此按钮。
  3. L2TP 高级设置 窗口:

    • IPsec 设置 选项卡:
      • 使用 IKEv2:可以不勾选,默认使用 IKEv1。
      • 允许使用预共享密钥:确保已勾选。
      • IPsec 密钥:再次输入您的 IPsec PSK (通常和 L2TP 密钥是同一个)。
      • 强制加密:建议勾选,增强安全性。
    • L2TP 设置 选项卡:
      • 使用本地证书:不需要。
      • 发送所有流量通过此连接:根据需要勾选,勾选后,所有网络流量(包括访问国内网站)都会通过 VPN。
    • 点击 "确定" 保存高级设置。
  4. 安全 选项卡:

    • 类型:选择 "预共享密钥 (PSK)"。
    • 密钥:再次输入您的 IPsec PSK
  5. 所有设置填写完毕后,点击 "保存"。

步骤 4:连接 VPN

  • 图形界面: 再次点击右上角的网络图标 -> 在 VPN 列表中找到您刚刚创建的 "MyL2TPVPN" -> 点击 "连接",系统会提示输入密码,输入后即可连接。

  • 命令行

    # 连接
    sudo nmcli con up "MyL2TPVPN"
    # 断开连接
    sudo nmcli con down "MyL2TPVPN"

步骤 5:验证连接

打开浏览器访问 https://www.whatismyip.com,如果显示的 IP 地址是 VPN 服务器的 IP,则说明连接成功。


使用 OpenVPN 客户端连接 OpenVPN

如果您的服务器使用的是 OpenVPN 协议,则需要安装 OpenVPN 客户端。

前提条件

  1. VPN 服务器信息

    • 服务器地址 (域名或IP)
    • 用户名密码
  2. OpenVPN 配置文件: 您需要从您的 VPN 服务商处获取一个 .ovpn 配置文件,这个文件通常包含服务器地址、端口、加密协议等信息。

  3. 安装 EPEL 源和 OpenVPN 客户端

    # 安装 EPEL 源
    sudo yum install -y epel-release
    # 安装 OpenVPN 客户端
    sudo yum install -y openvpn

连接步骤

步骤 1:准备配置文件和证书

  1. 将您获取到的 .ovpn 配置文件上传到 CentOS 7 服务器的 /etc/openvpn/client/ 目录下,如果该目录不存在,请创建它。

    sudo mkdir -p /etc/openvpn/client
    # 假设文件名为 myconfig.ovpn
    sudo cp ~/Downloads/myconfig.ovpn /etc/openvpn/client/
  2. 处理证书文件.ovpn 文件中通常会引用 .crt (证书) 和 .key (私钥) 文件,有两种处理方式:

    • 方式 A (推荐):将 .crt.key 文件也上传到 /etc/openvpn/client/ 目录,然后修改 .ovpn 文件中的路径,使其指向正确的位置(ca /etc/openvpn/client/ca.crt)。
    • 方式 B:将 .crt.key 的内容直接追加到 .ovpn 文件的末尾,这是最简单的方式,避免路径问题。

    以方式 B 为例

    # 假设证书文件是 ca.crt
    sudo cat /path/to/ca.crt >> /etc/openvpn/client/myconfig.ovpn
    # 假设私钥文件是 user.key
    sudo cat /path/to/user.key >> /etc/openvpn/client/myconfig.ovpn

步骤 2:修改配置文件以启用用户名/密码认证

默认情况下,.ovpn 文件可能使用的是静态密钥认证,为了使用用户名和密码,需要做如下修改:

  1. 打开 .ovpn 文件:

    sudo vi /etc/openvpn/client/myconfig.ovpn
  2. 找到 auth-user-pass 这一行,如果它被注释了(#auth-user-pass),请取消注释。

  3. 如果这行后面没有跟文件名,它就会在连接时提示你输入用户名和密码,如果你想让它直接读取一个密码文件,可以创建一个文件:

    echo "your_username" > /etc/openvpn/client/login.txt
    echo "your_password" >> /etc/openvpn/client/login.txt

    然后在 .ovpn 文件中修改为 auth-user-pass /etc/openvpn/client/login.txt

步骤 3:启动 OpenVPN 连接

使用 systemd 来管理 OpenVPN 进程。

# 启动 OpenVPN 连接,使用配置文件名(不需要 .ovpn 后缀)
sudo systemctl start openvpn-client@myconfig
# 设置为开机自启
sudo systemctl enable openvpn-client@myconfig

步骤 4:验证连接

# 查看 OpenVPN 服务状态
sudo systemctl status openvpn-client@myconfig
# 查看日志,排查问题
sudo journalctl -u openvpn-client@myconfig -f
# 验证 IP 地址
curl ipinfo.io

如果看到 active (running) IP 地址已改变,则连接成功。


故障排除

  • 连接超时/无法连接

    • 检查防火墙 (firewalld) 是否阻止了端口(L2TP默认UDP 500, 4500, 1701;OpenVPN默认TCP 1194或UDP 1194)。
      # 永久开放 L2TP 所需端口
      sudo firewall-cmd --permanent --add-service=ipsec
      sudo firewall-cmd --permanent --add-service=l2tp
      sudo firewall-cmd --reload
    • 检查 VPN 服务器地址和端口是否正确。
    • 检查本地网络是否能访问到 VPN 服务器。
  • 认证失败

    • 99% 的问题在于密钥或密码错误,请仔细核对 IPsec PSKL2TP 密钥用户名密码,特别注意空格和大小写。
    • /var/log/secure/var/log/messages 中查看详细的认证日志。
  • 连接后无法上网

    • 检查 VPN 服务器是否配置了正确的 DNS 服务器,有些 .ovpn 文件会包含 push 指令,自动设置 DNS。
    • 检查是否勾选了 "发送所有流量通过此连接" (L2TP) 或 redirect-gateway (OpenVPN)。

希望这份详细的指南能帮助您成功连接到 VPN 服务器!

分享:
扫描分享到社交APP
上一篇
下一篇