在当今数字化办公与远程访问日益普及的时代,虚拟私人网络(VPN)已成为企业、开发者和家庭用户保障网络安全的重要工具,无论你是想安全地访问公司内网资源,还是希望在公共Wi-Fi下保护个人隐私,搭建一个属于自己的服务器VPN都是值得掌握的技能,本文将带你从基础环境准备到完整配置流程,一步步完成基于OpenVPN协议的服务器部署,适用于Linux系统(如Ubuntu 20.04或CentOS 7+)。

第一步:准备工作
你需要一台公网IP的云服务器(如阿里云、腾讯云、AWS等),确保其开放了UDP端口1194(默认OpenVPN端口),并安装好SSH客户端进行远程管理,登录服务器后,更新系统软件包:

sudo apt update && sudo apt upgrade -y

第二步:安装OpenVPN与Easy-RSA
OpenVPN是开源、跨平台且安全可靠的VPN解决方案,使用以下命令安装核心组件:

sudo apt install openvpn easy-rsa -y

Easy-RSA用于生成证书和密钥,是建立SSL/TLS加密通信的基础。

第三步:初始化PKI(公钥基础设施)
创建证书颁发机构(CA)和服务器证书,首先复制Easy-RSA模板到本地目录:

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

编辑vars文件,设置国家、组织名称等信息(可选但建议修改),然后执行:

./easyrsa init-pki
./easyrsa build-ca nopass  # 创建CA,不设置密码便于自动化
./easyrsa gen-req server nopass  # 生成服务器证书请求
./easyrsa sign-req server server  # 签署服务器证书
./easyrsa gen-dh  # 生成Diffie-Hellman参数

第四步:配置服务器端
将生成的证书文件复制到OpenVPN配置目录:

cp pki/ca.crt pki/private/server.key pki/dh.pem /etc/openvpn/

创建主配置文件/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

此配置启用隧道模式、自动分配IP、DNS转发,并启用压缩以提升性能。

第五步:启动服务并设置开机自启

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

第六步:生成客户端证书
为每个用户创建单独的客户端证书(例如用户“alice”):

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

将生成的alice.crtalice.keyca.crt打包成.ovpn文件供客户端导入。

第七步:防火墙与NAT配置
若服务器有防火墙(如UFW),开放UDP 1194端口:

sudo ufw allow 1194/udp

启用IP转发:编辑/etc/sysctl.conf,取消注释net.ipv4.ip_forward=1,然后运行:

sysctl -p

最后添加iptables规则使流量转发:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

至此,你的服务器已成功搭建OpenVPN服务,用户只需导入客户端配置文件,即可通过加密通道安全访问目标网络,整个过程不仅提升了安全性,还避免了第三方服务商的隐私风险,是网络工程师必备的核心技能之一。

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

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