随着远程办公、跨地域访问和数据隐私需求的日益增长,搭建一个稳定、安全的虚拟私人网络(VPN)已成为许多企业和个人用户的刚需,作为网络工程师,我将带你一步步在服务器上部署一个功能完备的OpenVPN服务,确保你的数据传输加密、访问可控、性能稳定。

明确目标:我们将在一台运行Linux(如Ubuntu 20.04 LTS)的服务器上安装并配置OpenVPN,实现客户端通过SSL/TLS加密隧道访问内网资源或绕过地理限制,整个过程分为四个阶段:环境准备、软件安装、证书生成与配置、客户端连接测试。

第一步:环境准备
你需要一台公网IP的云服务器(如阿里云、腾讯云或AWS EC2),操作系统推荐Ubuntu Server,登录后执行系统更新:

sudo apt update && sudo apt upgrade -y

关闭防火墙(或配置规则允许UDP 1194端口):

sudo ufw allow 1194/udp
sudo ufw enable

第二步:安装OpenVPN和Easy-RSA
Easy-RSA是用于管理PKI证书的工具,必须先安装:

sudo apt install openvpn easy-rsa -y

接下来初始化证书颁发机构(CA):

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

编辑vars文件,设置国家、组织等信息,然后执行:

./easyrsa init-pki
./easyrsa build-ca

这一步会生成根证书(ca.crt),它是所有后续证书的信任基础。

第三步:生成服务器和客户端证书
为服务器生成密钥对:

./easyrsa gen-req server nopass
./easyrsa sign-req server server

为每个客户端生成证书(例如用户名为client1):

./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1

最后导出DH参数(用于密钥交换):

./easyrsa gen-dh

第四步:配置OpenVPN服务
复制证书到OpenVPN目录,并创建主配置文件:

sudo cp pki/ca.crt pki/issued/server.crt pki/private/server.key dh.pem /etc/openvpn/
sudo nano /etc/openvpn/server.conf

关键配置项包括:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

保存后启动服务:

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

第五步:客户端配置与测试
ca.crtclient1.crtclient1.key打包成.ovpn如下:

client
dev tun
proto udp
remote your-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3

使用OpenVPN客户端导入该文件即可连接,建议测试时开启日志,确认是否成功建立隧道。

至此,你已成功搭建一个企业级OpenVPN服务,它支持多用户、强加密(AES-256)、动态IP分配,且可扩展为站点到站点(Site-to-Site)架构,记住定期更新证书、监控日志、配置自动备份,才能长期保障安全性。

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

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