在VPS上搭建VPN(如OpenVPN、WireGuard等)是一个常见的需求,以下是分步指南和注意事项:
选择VPN协议
常见协议对比:
- OpenVPN:稳定、兼容性强,但配置稍复杂。
- WireGuard:速度快、配置简单,适合现代系统。
- IPSec/L2TP:兼容旧设备,但可能被防火墙拦截。
推荐新手选择 WireGuard 或 OpenVPN。
准备工作
- 一台VPS:推荐Ubuntu/Debian/CentOS系统(需root权限)。
- 域名(可选):绑定到VPS IP,避免依赖变化的IP地址。
- 防火墙设置:确保VPS放行VPN端口(如UDP 51820 for WireGuard, TCP 1194 for OpenVPN)。
快速搭建方法
WireGuard(推荐)
# 生成密钥 wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey # 配置服务端(/etc/wireguard/wg0.conf) echo "[Interface] PrivateKey = <服务器私钥> Address = 10.0.0.1/24 ListenPort = 51820 PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE [Peer] PublicKey = <客户端公钥> AllowedIPs = 10.0.0.2/32" | sudo tee /etc/wireguard/wg0.conf # 启动WireGuard sudo systemctl enable wg-quick@wg0 sudo systemctl start wg-quick@wg0
OpenVPN
使用脚本快速安装(如angristan/openvpn-install):
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh
按提示选择配置(默认选项即可完成)。
客户端配置
- WireGuard:将服务端生成的客户端配置(如
/etc/wireguard/client.conf)导入客户端App。 - OpenVPN:下载生成的
.ovpn文件,用OpenVPN客户端导入。
优化与安全
- 启用防火墙:仅开放必要端口(SSH、VPN端口)。
sudo ufw allow 51820/udp # WireGuard sudo ufw allow 1194/tcp # OpenVPN sudo ufw enable
- 禁用IPv6(可选):若不需要,可在VPS和VPN配置中关闭IPv6。
- 日志监控:定期检查
/var/log/syslog或journalctl -u wg-quick@wg0。
测试连接
- 连接后检查IP:
curl ifconfig.me # 应显示VPS的IP
- 测试速度:使用
speedtest-cli或在线工具。
常见问题
- 连接失败:检查VPS防火墙/安全组规则,确认端口开放。
- 速度慢:更换VPS机房位置或升级带宽。
- DNS泄漏:在VPN配置中强制使用DNS(如
8.8.8)。
注意事项
- 合规性:确保VPN用途符合VPS提供商和当地法律。
- 备份配置:备份
/etc/wireguard/或/etc/openvpn/目录。 - 多用户管理:WireGuard需为每个Peer添加配置段,OpenVPN脚本支持自动添加用户。
如果需要更详细的教程,可参考:WireGuard官方指南或OpenVPN文档。









