CentOS 搭建 VPN 服务完整指南

目录

前言

CentOS 是一个广泛使用的 Linux 发行版,以其稳定性和安全性而闻名。在CentOS上搭建VPN服务是一个非常实用的技能,可以帮助用户实现安全的远程访问、隐私保护和突破网络限制等功能。本文将详细介绍如何在CentOS系统上安装和配置OpenVPN服务,并提供客户端的配置指南,帮助读者轻松地在CentOS上建立自己的VPN服务。

准备工作

在开始搭建VPN服务之前,需要确保您的CentOS系统满足以下要求:

  • 一台可以访问公网的 CentOS 服务器
  • 一个可用的公网 IP 地址
  • 足够的磁盘空间和内存资源

另外,请确保您拥有 root 权限或具有足够的权限来安装和配置软件。

安装 OpenVPN

安装 OpenVPN 服务端

  1. 更新系统软件包:

    yum update -y

  2. 安装 OpenVPN:

    yum install -y openvpn easy-rsa

  3. 创建 OpenVPN 配置目录:

    mkdir -p /etc/openvpn/server

配置 OpenVPN 服务端

  1. 生成 OpenVPN 服务端证书和密钥:

    cd /etc/openvpn/server cp -r /usr/share/easy-rsa/ . cd easy-rsa ./easyrsa init-pki ./easyrsa build-ca nopass ./easyrsa generate-req server nopass ./easyrsa sign-req server server openvpn –genkey –secret ta.key

  2. 配置 OpenVPN 服务端:

    cd /etc/openvpn/server cp /usr/share/doc/openvpn/sample/sample-config-files/server.conf .

    编辑 server.conf 文件,根据实际情况修改以下参数:

    • dh 指向 pki/dh.pem 文件
    • ca 指向 pki/ca.crt 文件
    • cert 指向 pki/issued/server.crt 文件
    • key 指向 pki/private/server.key 文件
    • tls-auth 指向 ta.key 文件
  3. 启动 OpenVPN 服务:

    systemctl start openvpn@server systemctl enable openvpn@server

生成客户端证书

  1. 生成客户端证书和密钥:

    cd /etc/openvpn/server/easy-rsa ./easyrsa build-client-full client1 nopass

  2. 复制客户端证书和密钥:

    cd /etc/openvpn/server mkdir -p /etc/openvpn/client cp pki/ca.crt /etc/openvpn/client/ cp pki/issued/client1.crt /etc/openvpn/client/ cp pki/private/client1.key /etc/openvpn/client/ cp ta.key /etc/openvpn/client/

配置客户端

Windows 客户端配置

  1. 下载并安装 OpenVPN 客户端软件:

    • 访问 https://openvpn.net/community-downloads/ 下载适合您系统的 OpenVPN 客户端软件
    • 安装客户端软件
  2. 配置客户端:

    • /etc/openvpn/client 目录下的 ca.crtclient1.crtclient1.keyta.key 文件复制到客户端的 config 目录下
    • 在 OpenVPN 客户端软件中导入这些文件
    • 在客户端软件中添加一个新的 VPN 连接,并填写服务器地址和其他必要信息

Mac/Linux 客户端配置

  1. 安装 OpenVPN 客户端:

    • 对于 Mac 用户,可以使用 Homebrew 安装 OpenVPN 客户端软件:

      brew install openvpn

    • 对于 Linux 用户,可以使用系统包管理器安装 OpenVPN 客户端软件,例如在 Ubuntu 上使用:

      apt-get install openvpn

  2. 配置客户端:

    • /etc/openvpn/client 目录下的 ca.crtclient1.crtclient1.keyta.key 文件复制到客户端的 ~/.config/openvpn/ 目录下

    • 在终端中使用以下命令连接 VPN 服务器:

      openvpn –config ~/.config/openvpn/client.ovpn

    • 根据提示输入必要的信息即可完成连接

防火墙设置

为了确保 OpenVPN 服务能够正常工作,需要在防火墙中开放相应的端口:

  1. 开放 OpenVPN 服务端使用的端口(默认为 1194/UDP):

    firewall-cmd –permanent –add-port=1194/udp firewall-cmd –reload

  2. 如果您的服务器还需要访问其他服务,也需要相应地开放防火墙端口。

测试连接

  1. 在客户端成功连接 VPN 服务后,可以使用以下命令检查 VPN 连接状态:

    openvpn –status

  2. 您也可以访问一些网站来测试 VPN 的工作情况,例如 https://www.whatismyipaddress.com/ 查看 IP 地址是否已经变更。

FAQ

Q: 为什么我无法连接 OpenVPN 服务器? A: 请检查以下几个方面:

  • 确保 OpenVPN 服务器已经正确启动并监听正确的端口
  • 检查防火墙是否已经正确开放 OpenVPN 端口
  • 确保客户端证书和密钥文件的正确性
  • 检查客户端配置文件中的服务器地址是否正确

Q: 如何管理 OpenVPN 客户端? A: 您可以使用 openvpn --management 命令来管理客户端连接。这个命令可以让您查看当前连接的客户端、断开某个客户端等。具体使用方法可以参考 OpenVPN 的文档。

Q: 如何定期更新 OpenVPN 客户端证书? A: 为了保证 VPN 连接的安全性,建议您定期更新客户端证书。您可以使用 easyrsa 命令重新生成客户端证书,然后将新的证书文件发送给客户端使用。

Q: 如何增加 OpenVPN 服务的可靠性和高可用性? A: 您可以考虑以下几点来提高 OpenVPN 服务的可靠性:

  • 使用负载均衡或集群技术来部署多个 OpenVPN 服务器实例
  • 配置 OpenVPN 服务器的高可用性,例如使用 VRRP 协议
  • 定期备份 OpenVPN 服务器的配置文件和证书
  • 监控 OpenVPN 服务的运行状态,并设置自动报警和恢复机制
正文完