在当今数字化时代,网络安全和隐私保护已成为每个互联网用户的核心关注点,无论是远程办公、访问境外资源,还是保护个人数据免受中间人攻击,使用虚拟私人网络(VPN)都是一种高效且实用的解决方案,对于有一定技术基础的用户来说,在自己的VPS(虚拟专用服务器)上搭建一个自建VPN服务,不仅能提升隐私控制力,还能避免第三方服务商的数据滥用风险,本文将详细介绍如何在Linux VPS上部署一个稳定、安全且高性能的OpenVPN服务。

第一步:准备环境
你需要一台运行Linux系统的VPS(推荐Ubuntu 20.04或更高版本),并确保你拥有root权限,登录到VPS后,首先更新系统包列表并安装必要的工具:

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

第二步:配置Easy-RSA证书颁发机构(CA)
OpenVPN依赖SSL/TLS加密通信,因此需要创建一个本地CA来签发证书,我们将使用easy-rsa工具:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
cp vars.example vars

编辑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-dh

这些命令会生成服务器证书、私钥、Diffie-Hellman参数,用于加密密钥交换。

第三步:配置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"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
tls-auth /etc/openvpn/easy-rsa/pki/ta.key 0
cipher AES-256-CBC
auth SHA256
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3

第四步:启用IP转发与防火墙规则
确保内核允许IP转发:

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

配置iptables(或ufw)放行UDP 1194端口,并启用NAT转发:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -A INPUT -p udp --dport 1194 -j ACCEPT

第五步:启动服务并测试
启动OpenVPN服务:

systemctl enable openvpn@server
systemctl start openvpn@server

为客户端生成配置文件(使用easyrsa gen-req client1 nopass并签名),打包证书、密钥和CA文件,即可在手机、电脑等设备上使用OpenVPN客户端连接。

通过以上步骤,你就可以在自己的VPS上搭建一个功能完整、安全可控的自建VPN服务,这不仅提升了网络自由度,还增强了对自身数据的掌控能力,记住定期更新证书和补丁,保持服务安全稳定。

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

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