在当今数字化时代,越来越多的用户希望通过虚拟私人网络(VPN)来保护隐私、绕过地理限制或实现远程办公,对于有一定技术基础的用户来说,在VPS(虚拟专用服务器)上自建一个私有VPN是一个性价比高且可控性强的选择,本文将详细讲解如何在Linux VPS上部署OpenVPN服务,从环境准备到客户端配置,一步步带你完成整个过程。
你需要一台运行Linux系统的VPS,推荐使用Ubuntu 20.04或CentOS 7以上版本,确保你已经拥有root权限,并通过SSH登录到服务器,我们以Ubuntu为例,安装OpenVPN及相关工具:
sudo apt update sudo apt install openvpn easy-rsa -y
配置证书颁发机构(CA),Easy-RSA是用于生成SSL/TLS证书的工具包,我们将用它来创建服务器和客户端证书:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa cp vars.example vars
编辑vars文件,修改以下参数以适应你的环境:
KEY_COUNTRY="CN"KEY_PROVINCE="Beijing"KEY_CITY="Beijing"KEY_ORG="MyCompany"KEY_EMAIL="admin@mycompany.com"
然后执行初始化和签发CA证书:
./clean-all ./build-ca ./build-key-server server ./build-key client1 ./build-dh
这会生成服务器证书、客户端证书以及Diffie-Hellman参数,是建立加密连接的关键。
下一步,复制证书到OpenVPN配置目录,并创建主配置文件:
sudo cp /etc/openvpn/easy-rsa/keys/{ca.crt,server.crt,server.key,dh2048.pem} /etc/openvpn/
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/
编辑/etc/openvpn/server.conf,关键配置包括:
port 1194(默认UDP端口)proto udpdev tunca ca.crtcert server.crtkey server.keydh dh2048.pemserver 10.8.0.0 255.255.255.0(分配给客户端的IP段)push "redirect-gateway def1 bypass-dhcp"(强制客户端流量走VPN)
保存后启动服务并设置开机自启:
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
同时开启IP转发功能(允许VPS转发数据包):
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf sysctl -p
在防火墙中开放UDP 1194端口(若使用UFW):
sudo ufw allow 1194/udp
客户端配置方面,你可以下载ca.crt、client1.crt、client1.key这三个文件,配合.ovpn配置文件(可参考官方模板),在Windows、Mac、Android或iOS设备上轻松连接。
至此,你的VPS上已成功部署了一个安全可靠的个人VPN服务,相比商业服务商,这种方式不仅成本低,还能根据需求灵活定制,例如添加多用户认证、限速策略或日志审计,建议定期更新证书和系统补丁,保持服务安全稳定。
通过以上步骤,你不仅能掌握VPS上搭建VPN的核心技能,还为后续构建更复杂的网络架构打下坚实基础。

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






