随着远程办公、跨地域访问和隐私保护需求的日益增长,越来越多的用户希望通过虚拟私人网络(VPN)来加密通信流量并实现安全访问,对于拥有VPS(虚拟专用服务器)主机的用户而言,自建一个稳定、安全且可定制的VPN服务,是一种兼具成本效益与控制权的解决方案,本文将详细介绍如何在Linux系统的VPS主机上部署OpenVPN或WireGuard这两种主流协议的VPN服务,涵盖环境准备、配置步骤、客户端设置及常见问题排查。
第一步:准备工作
确保你的VPS已安装Linux发行版(如Ubuntu 20.04/22.04或CentOS Stream),并具备公网IP地址,登录VPS后,建议先更新系统软件包:
sudo apt update && sudo apt upgrade -y
为安全起见,建议修改SSH端口并启用防火墙(如UFW):
sudo ufw allow 2222/tcp # 替换默认SSH端口 sudo ufw enable
第二步:选择并安装VPN协议
我们推荐两种方案:
- OpenVPN:成熟稳定,支持多种认证方式,适合初学者。
- WireGuard:轻量高效,现代加密算法,性能更优,适合对速度有要求的场景。
以OpenVPN为例,安装命令如下:
sudo apt install openvpn easy-rsa -y
接着初始化证书颁发机构(CA):
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-dh sudo openvpn --genkey --secret ta.key
第三步:配置服务器端
创建 /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"
keepalive 10 120
tls-auth /etc/openvpn/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
第四步:启动服务与客户端配置
启动OpenVPN服务:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
生成客户端配置文件(如 client.ovpn),包含CA证书、客户端密钥、TLS密钥等信息,并通过安全渠道分发给用户。
第五步:优化与安全加固
- 启用IP转发:
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf - 配置NAT规则:
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE - 使用Fail2Ban防止暴力破解
- 定期轮换证书和密钥
通过上述步骤,你可以在VPS主机上成功部署一个功能完整的VPN服务,无论是用于家庭网络扩展、企业远程接入还是个人隐私保护,自建VPN都能提供更高的灵活性和安全性,虽然初期配置略显复杂,但掌握后维护成本低,且能根据实际需求进行深度定制,建议新手从OpenVPN入手,熟悉后再尝试WireGuard以获得极致性能体验,网络安全无小事,务必定期检查日志、更新软件版本并遵守当地法律法规。

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


