随着远程办公、跨地域访问和隐私保护意识的提升,越来越多用户希望通过虚拟私人网络(VPN)来加密通信、绕过地理限制或实现安全远程接入,对于技术爱好者或小型团队而言,在VPS(虚拟专用服务器)上自建一个稳定、安全且可定制的VPN服务,是一种既经济又灵活的选择,本文将详细介绍如何在Linux VPS上搭建一个基于OpenVPN的服务,帮助你快速拥有属于自己的私有网络通道。
确保你已经拥有一台运行Linux(推荐Ubuntu 20.04/22.04 LTS或CentOS Stream)的VPS,并具备root权限,登录后,我们先更新系统包列表并安装必要的工具:
sudo apt update && sudo apt upgrade -y sudo apt install -y openvpn easy-rsa
使用Easy-RSA生成证书和密钥,这是OpenVPN认证的核心环节,复制默认配置文件到指定目录:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑vars文件,设置你的组织信息(如国家、省份、组织名等),然后执行初始化和CA证书生成:
./clean-all ./build-ca
随后生成服务器证书和密钥:
./build-key-server server
为客户端生成证书(每个设备一个),例如为“client1”生成:
./build-key client1
同时生成TLS密钥交换的DH参数(用于增强加密强度):
./build-dh
准备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 /var/log/openvpn-status.log
verb 3
这个配置启用了UDP协议(性能更优)、分配私有IP段给客户端,并推送DNS服务器和路由规则,使所有流量都通过VPN隧道传输。
配置完成后,启用IP转发功能(允许VPS充当网关):
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf sysctl -p
接着配置iptables规则,允许流量转发并建立NAT:
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
为了防止重启失效,可以保存规则(Ubuntu可用iptables-persistent包)。
最后启动OpenVPN服务:
systemctl enable openvpn@server systemctl start openvpn@server
你可以将生成的客户端证书(包括ca.crt, client1.crt, client1.key)打包成.ovpn文件,导入到Windows、macOS、Android或iOS的OpenVPN客户端中即可连接。
在VPS上搭建OpenVPN不仅成本低、控制力强,还能根据需求定制策略(如多用户、分组权限、日志审计),虽然初期配置略复杂,但一旦成功部署,你就能获得一个安全、可靠的个人私网环境——无论是访问内网资源,还是隐藏真实IP,都能轻松应对,记住定期更新证书、监控日志,并结合防火墙策略保障安全性,你的数字生活将更加自由与安心。

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


