在当今高度互联的数字世界中,数据安全和远程访问需求日益增长,无论是企业员工远程办公、家庭用户保护隐私,还是开发者需要安全地访问测试环境,搭建一个私有VPN(虚拟私人网络)服务器都是一个高效且低成本的解决方案,作为网络工程师,我将带你一步步在Linux服务器上搭建一个稳定、安全的OpenVPN服务,让你拥有自己的加密隧道。

第一步:准备服务器环境
你需要一台运行Linux的云服务器(如Ubuntu 20.04或CentOS 7),确保它有公网IP地址,并开放了UDP端口1194(OpenVPN默认端口),建议使用SSH密钥登录而非密码,提升安全性,执行以下命令更新系统并安装必要软件:

sudo apt update && sudo apt upgrade -y
sudo apt install openvpn easy-rsa -y

第二步:配置Easy-RSA证书颁发机构(CA)
OpenVPN依赖SSL/TLS证书进行身份验证,我们用Easy-RSA来生成根证书和客户端证书,首先复制模板到指定目录:

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

编辑vars文件,设置国家、组织等信息(如set_var EASYRSA_COUNTRY "CN"),然后执行:

./easyrsa init-pki
./easyrsa build-ca nopass
./easyrsa gen-req server nopass
./easyrsa sign-req server server
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1

这些命令会生成服务器证书(server.crt)、私钥(server.key)、客户端证书(client1.crt)和私钥(client1.key)。

第三步:配置OpenVPN服务端
创建主配置文件 /etc/openvpn/server.conf如下:

port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server.crt
key /etc/openvpn/easy-rsa/pki/private/server.key
dh /etc/openvpn/easy-rsa/pki/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 /var/log/openvpn-status.log
verb 3

此配置启用TUN模式(三层隧道)、动态IP分配(10.8.0.0/24网段)、DNS重定向,并开启压缩。

第四步:启动服务并配置防火墙
启用IP转发:

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

允许防火墙通过UDP 1194端口(Ubuntu为例):

ufw allow 1194/udp
ufw enable
systemctl enable openvpn@server
systemctl start openvpn@server

第五步:分发客户端配置
client1.ovpn文件(含证书、密钥和服务器配置)打包发送给用户,客户端只需导入即可连接。


搭建OpenVPN不仅提升了网络安全性,还赋予你对流量的完全控制权,相比商业VPN服务,自建方案更灵活、成本更低,且无数据留存风险,需定期更新证书、监控日志、防范DDoS攻击——这才是专业网络工程师的日常,如果你希望支持更多用户或增强性能,可考虑使用WireGuard替代OpenVPN,但OpenVPN仍是入门首选,动手试试吧,你的加密网络通道正在等待被激活!

在服务器上搭建VPN服务器,从零开始的网络加密通道构建指南  第1张

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