在本教程中,我们将详细介绍如何在 CentOS 7 上安装和配置 OpenVPN 客户端,与远程 OpenVPN 服务器建立连接,并演示如何断开连接。适用于想通过命令行操作 OpenVPN 的用户。


一、准备工作

  1. 获取 VPN 配置文件 从 VPN 提供商或管理员处获取 .ovpn 文件(如 admin.ovpn)。

  2. 确保服务器访问权限 确认能够通过 IP 和端口访问 OpenVPN 服务器(例如 10.0.0.1:1194)。


二、安装 OpenVPN 客户端

  1. 更新系统包

    sudo yum update -y

  2. 安装 EPEL 源 OpenVPN 需要 EPEL 源支持:

    sudo yum install epel-release -y
    # 离线下载安装
    wget https://dl.fedoraproject.org/pub/epel/7/x86_64/epel-release-7-12.noarch.rpm
    sudo yum install ./epel-release-7-12.noarch.rpm -y
    # 或
    sudo rpm -ivh epel-release-7-12.noarch.rpm
    

  3. 安装 OpenVPN

    sudo yum install openvpn -y

  4. 验证安装 确保安装成功,运行以下命令查看版本:

    openvpn --version


三、配置 OpenVPN 客户端

  1. 上传配置文件.ovpn 文件上传到 CentOS 服务器:

    scp admin.ovpn user@your_centos_ip:/home/user/

  2. 移动配置文件到 OpenVPN 目录

    sudo mv /home/user/admin.ovpn /etc/openvpn/

  3. 设置权限 确保配置文件权限正确:

    sudo chmod 600 /etc/openvpn/admin.ovpn

  4. 检查配置文件 打开配置文件,确保 remote 字段正确填写服务器地址和端口:

    cat /etc/openvpn/admin.ovpn


四、连接 OpenVPN

  1. 启动 OpenVPN 客户端 使用以下命令连接 VPN:

    sudo openvpn --config /etc/openvpn/admin.ovpn --daemon

    以上命令会在后台运行 OpenVPN 客户端。

  2. 查看连接状态 检查日志文件或 tun0 网卡状态:

    ip addr show tun0

    tun0 存在,表示 VPN 已成功连接。

  3. 测试连接 验证 VPN IP:

    curl ifconfig.me

    此命令应返回 VPN 分配的外网 IP。


五、断开 OpenVPN

  1. 查找 OpenVPN 进程 找到正在运行的 OpenVPN 进程:

    ps aux | grep openvpn

    例如:

    root      12345  0.0  0.1  123456  1234 ?        S    12:34   0:00 openvpn --config /etc/openvpn/admin.ovpn --daemon

  2. 终止进程 使用 kill 命令停止:

    sudo kill 12345

    如果失败,使用强制终止:

    sudo kill -9 12345

    复制代码

  3. 确认断开 再次检查 tun0 网卡:

    ip addr show tun0

    若不存在,表示已断开。


六、优化管理(可选)

建议将 OpenVPN 配置为 Systemd 服务,便于管理。

  1. 移动配置文件 将配置文件移动到 Systemd 识别路径:

    sudo mv /etc/openvpn/admin.ovpn /etc/openvpn/client/admin.conf

  2. 启动服务

    sudo systemctl start openvpn-client@admin

  3. 查看状态

    sudo systemctl status openvpn-client@admin

  4. 断开连接

    sudo systemctl stop openvpn-client@admin

  5. 开机自启(可选) 若需自动连接 VPN:

    sudo systemctl enable openvpn-client@admin


七、故障排查

  1. 无法连接 VPN

    • 检查防火墙设置:

      sudo firewall-cmd --permanent --add-service=openvpn
      sudo firewall-cmd --reload

    • 确认服务器地址和端口是否正确。

  2. 网络流量未通过 VPN

    • 确认配置文件中的路由规则(如 pushroute 指令)。

    • 查看路由表:

      ip route

  3. 权限问题 确保 .ovpn 文件和密钥的权限仅允许 root 访问。