在现代网络环境中,虚拟专用网络(VPN)已成为远程办公、安全访问内网资源以及保护数据传输的重要工具,对于使用Linux系统的用户而言,CentOS作为企业级服务器操作系统,因其稳定性与安全性广受青睐,本文将详细介绍如何在CentOS系统上部署并配置OpenVPN服务,帮助你构建一个稳定、安全且可扩展的私有网络通道。

确保你的CentOS系统已更新至最新版本,运行以下命令更新系统包:

sudo yum update -y

我们需要安装OpenVPN及相关依赖,OpenVPN本身需要TLS加密支持,因此还需安装EPEL仓库和easy-rsa(用于证书管理),执行如下命令:

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

安装完成后,我们进入证书生成流程,OpenVPN基于PKI(公钥基础设施)进行身份验证,所以必须先生成CA证书和服务器/客户端证书,复制默认配置文件到指定目录:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa

编辑vars文件,设置国家、组织名称等信息,

export KEY_COUNTRY="CN"
export KEY_PROVINCE="Beijing"
export KEY_CITY="Beijing"
export KEY_ORG="MyCompany"
export KEY_EMAIL="admin@example.com"
export KEY_OU="IT Dept"

然后执行初始化和签名操作:

./clean-all
./build-ca
./build-key-server server
./build-key client1
./build-dh

上述步骤完成后,我们将生成的证书文件复制到OpenVPN配置目录,并配置服务器端参数,创建主配置文件:

sudo cp /etc/openvpn/easy-rsa/keys/{ca.crt,server.crt,server.key,dh2048.pem} /etc/openvpn/
sudo cp /usr/share/doc/openvpn-*/sample-config-files/server.conf /etc/openvpn/

编辑/etc/openvpn/server.conf,根据实际需求修改以下关键选项:

  • port 1194:指定监听端口(可改为其他非冲突端口)
  • proto udp:推荐使用UDP协议以提升性能
  • dev tun:使用隧道模式
  • ca ca.crtcert server.crtkey server.key:指定证书路径
  • dh dh2048.pem:指定Diffie-Hellman参数
  • server 10.8.0.0 255.255.255.0:分配客户端IP地址段
  • push "redirect-gateway def1 bypass-dhcp":强制客户端流量通过VPN
  • push "dhcp-option DNS 8.8.8.8":设置DNS服务器

保存后,启动OpenVPN服务并设置开机自启:

sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server

OpenVPN服务器已在后台运行,为实现防火墙穿透,需开放对应端口(如UDP 1194),并在系统中启用IP转发:

echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
sysctl -p

客户端配置:将服务器生成的ca.crtclient1.crtclient1.keyta.key(若使用tls-auth)打包发送给客户端,并创建.ovpn配置文件,内容包括服务器IP、端口、证书路径等,客户端连接时即可建立加密隧道。

通过以上步骤,你已成功在CentOS上搭建了一个功能完整的OpenVPN服务,该方案适用于小型企业或个人用户,具备高安全性、灵活性和易维护性,建议定期更新证书、监控日志并结合Fail2Ban等工具加强防护,确保长期稳定运行。

CentOS系统搭建OpenVPN服务的完整指南,从安装到配置详解  第1张

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