在当今数字化时代,虚拟私人网络(VPN)已成为许多用户保护隐私、绕过地理限制和提升网络性能的重要工具,对于有一定技术基础的用户来说,在自己的VPS(虚拟专用服务器)上架设一个私有VPN服务不仅成本低廉,而且灵活可控,本文将详细介绍如何在Linux系统(以Ubuntu为例)的VPS上部署OpenVPN服务,让你拥有专属、加密且稳定的远程访问通道。

你需要准备一台VPS服务器,推荐使用DigitalOcean、Linode或阿里云等主流服务商提供的Linux系统(如Ubuntu 20.04/22.04),确保你的VPS已开通SSH访问权限,并通过PuTTY或Terminal连接到服务器。

第一步是更新系统并安装必要的软件包:

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

第二步,配置证书颁发机构(CA)和服务器密钥,OpenVPN依赖于PKI(公钥基础设施),因此我们需要生成CA证书和服务器证书:

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

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

source vars
./clean-all
./build-ca    # 生成CA证书
./build-key-server server    # 生成服务器证书
./build-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
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

第四步,启用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
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -d 10.8.0.0/24 -j ACCEPT

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

systemctl enable openvpn@server
systemctl start openvpn@server

为客户端生成证书和配置文件,在Easy-RSA目录下运行:

./build-key client1

将生成的证书、密钥和CA证书打包成.ovpn文件,即可导入到Windows、macOS、Android或iOS设备上使用。

这样,你就在自己的VPS上成功架设了一个安全、私有的OpenVPN服务,相比公共免费VPN,它更稳定、更私密,还能根据需要定制策略,记住定期更新证书、监控日志、优化性能,才能真正实现“随用随连”的高效网络体验。

手把手教你搭建VPS上的VPN服务,安全、稳定、高效访问全球网络  第1张

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