手把手教你用OpenVPN在Linux服务器上搭建安全可靠的个人VPN服务(知乎实测版)
作为一名资深网络工程师,我经常被朋友或网友问到:“如何在家中搭建一个稳定、安全的个人VPN?”,尤其是在使用公共Wi-Fi时,数据加密和隐私保护尤为重要,我就以知乎上最实用、最易上手的方式,带你一步步在一台Linux服务器(如Ubuntu 20.04)上部署OpenVPN服务,实现从任意地点安全访问内网资源。
准备工作必不可少,你需要一台公网IP的云服务器(如阿里云、腾讯云或AWS),并确保其防火墙开放UDP端口1194(OpenVPN默认端口),建议使用SSH密钥登录而非密码,提升安全性。
第一步是安装OpenVPN及相关工具,通过终端执行以下命令:
sudo apt update sudo apt install openvpn easy-rsa -y
第二步是配置证书颁发机构(CA),使用Easy-RSA生成PKI密钥对:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa sudo ./easyrsa init-pki sudo ./easyrsa build-ca nopass
这里我们跳过密码保护,方便自动化脚本管理,接下来生成服务器证书和密钥:
sudo ./easyrsa gen-req server nopass sudo ./easyrsa sign-req server server
然后生成客户端证书(每个设备都需要单独生成):
sudo ./easyrsa gen-req client1 nopass sudo ./easyrsa sign-req client client1
第三步是配置OpenVPN服务器,复制模板文件并编辑主配置:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/ sudo nano /etc/openvpn/server.conf
关键配置项包括:
port 1194proto udpdev tunca /etc/openvpn/easy-rsa/pki/ca.crtcert /etc/openvpn/easy-rsa/pki/issued/server.crtkey /etc/openvpn/easy-rsa/pki/private/server.keydh /etc/openvpn/easy-rsa/pki/dh.pem(需先生成:sudo ./easyrsa gen-dh)
第四步开启IP转发与防火墙规则,编辑 /etc/sysctl.conf,取消注释 net.ipv4.ip_forward=1,再执行:
sudo sysctl -p sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE sudo ufw allow 1194/udp
启动服务并设置开机自启:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
客户端配置:将生成的 ca.crt、client1.crt、client1.key 下载到本地设备(Windows/macOS/Linux均可),用OpenVPN客户端导入配置文件即可连接。
此方案已在知乎多篇技术帖中验证,稳定性高、延迟低,适合远程办公、家庭NAS访问等场景,注意定期更新证书,避免泄露风险,如果你追求更高级功能(如多用户认证、负载均衡),可进一步集成LDAP或OAuth2,但基础架构已足够应对绝大多数需求,动手试试吧,你的私人网络世界从此开始!

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











