随着远程办公和跨地域访问需求的增长,虚拟专用网络(VPN)已成为企业和个人用户保障数据传输安全的重要工具,对于拥有VPS(虚拟私有服务器)在CentOS系统上部署一个稳定、高效且安全的VPN服务,是一个极具性价比的选择,本文将详细介绍如何在CentOS 7/8或更高版本的VPS上,使用OpenVPN这一开源方案搭建一套完整的VPN服务,帮助你实现安全远程访问内网资源。

确保你的VPS已安装并运行CentOS系统,并具备公网IP地址,建议使用root权限操作,或者使用sudo命令提升权限,第一步是更新系统软件包:

yum update -y

接着安装EPEL源(如果尚未启用),这有助于后续安装更多依赖组件:

yum install epel-release -y

我们安装OpenVPN及相关工具:

yum install openvpn easy-rsa -y

OpenVPN提供强大的加密机制(如AES-256),而Easy-RSA则用于生成证书和密钥,这是建立安全连接的基础,配置证书颁发机构(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@mycompany.com"
export KEY_CN=server
export KEY_NAME=server
export KEY_OU=OpenVPN

执行以下命令生成CA证书和服务器密钥:

./clean-all
./build-ca
./build-key-server server
./build-key client1  # 为客户端创建证书
./build-dh

这些步骤完成后,复制相关文件到OpenVPN配置目录:

cp keys/{ca.crt,server.crt,server.key,ca.crt,dh2048.pem} /etc/openvpn/

现在配置OpenVPN服务主文件 /etc/openvpn/server.conf,关键参数包括:

  • port 1194:指定监听端口(可自定义)
  • proto udp:推荐UDP协议以提高性能
  • dev tun:创建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服务器

保存后,启用IP转发功能以支持路由:

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

配置防火墙(firewalld)开放UDP 1194端口:

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

最后启动OpenVPN服务并设置开机自启:

systemctl enable openvpn@server
systemctl start openvpn@server

客户端配置可通过导出client1.crtclient1.keyca.crt生成.ovpn配置文件,再导入到Windows、Mac或移动设备的OpenVPN客户端中即可连接。

通过以上步骤,你便成功在CentOS VPS上部署了一个安全、可扩展的OpenVPN服务,它不仅适用于远程办公,还能作为企业内网的安全接入通道,注意定期更新证书、监控日志、限制访问权限,才能真正构建一个健壮的网络安全体系。

在CentOS VPS上搭建安全可靠的VPN服务,从零开始的完整指南  第1张

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