在云服务器上搭建VPN(虚拟专用网络)可以用于安全远程访问、跨境网络访问或数据加密传输,以下是常见方法和注意事项:
常见VPN协议及选择
-
OpenVPN
- 特点:开源、跨平台,支持TCP/UDP,安全性高(SSL/TLS加密)。
- 适用场景:个人或企业远程访问,适合对安全性要求高的场景。
-
WireGuard
- 特点:轻量级、高性能,配置简单(基于现代加密协议)。
- 适用场景:需要低延迟、高吞吐量的场景(如游戏或视频传输)。
-
IPSec/L2TP
- 特点:兼容性强(多数设备原生支持),但配置复杂。
- 适用场景:老设备或需要系统内置支持的场景。
-
SSTP(仅Windows)
- 特点:微软开发,默认使用443端口(绕过防火墙)。
- 适用场景:Windows用户专属。
搭建步骤(以OpenVPN为例)
准备工作
- 云服务器:推荐Linux系统(如Ubuntu/CentOS)。
- 权限:确保有
root或sudo权限。 - 防火墙:开放VPN协议端口(如OpenVPN默认
1194/udp)。
安装与配置
# 生成证书和密钥(服务端+客户端)
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
source vars
./clean-all
./build-ca # 生成CA证书
./build-key-server server # 服务端密钥
./build-key client1 # 客户端密钥
./build-dh # Diffie-Hellman参数
openvpn --genkey --secret ta.key # TLS认证密钥
# 复制文件到OpenVPN目录
sudo cp ~/openvpn-ca/keys/{server.crt,server.key,ca.crt,dh2048.pem,ta.key} /etc/openvpn/
# 创建服务端配置文件
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/
sudo nano /etc/openvpn/server.conf
关键配置项:
proto udp port 1194 dev tun ca ca.crt cert server.crt key server.key dh dh2048.pem server 10.8.0.0 255.255.255.0 push "redirect-gateway def1 bypass-dhcp" # 客户端流量全走VPN push "dhcp-option DNS 8.8.8.8" # 推送DNS keepalive 10 120 tls-auth ta.key 0 cipher AES-256-CBC user nobody group nogroup persist-key persist-tun
启动与验证
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server # 检查日志和端口 sudo tail -f /var/log/syslog sudo netstat -uap | grep openvpn
生成客户端配置
# 创建客户端.ovpn文件 cat > client1.ovpn <<EOF client dev tun proto udp remote your_server_ip 1194 # 替换为云服务器公网IP resolv-retry infinite nobind persist-key persist-tun remote-cert-tls server cipher AES-256-CBC verb 3 <ca> $(cat ~/openvpn-ca/keys/ca.crt) </ca> <cert> $(cat ~/openvpn-ca/keys/client1.crt) </cert> <key> $(cat ~/openvpn-ca/keys/client1.key) </key> <tls-auth> $(cat ~/openvpn-ca/keys/ta.key) </tls-auth> key-direction 1 EOF
将client1.ovpn下载到本地,用OpenVPN客户端导入即可连接。
注意事项
-
安全性
- 限制VPN端口访问:通过防火墙(如
ufw)仅允许可信IP。 - 定期更新证书和密钥。
- 启用双因素认证(如Google Authenticator插件)。
- 限制VPN端口访问:通过防火墙(如
-
性能优化
- 选择靠近用户的云服务器地域降低延迟。
- 对于WireGuard,内核级实现性能更优。
-
合规性
- 某些国家/云服务商限制VPN使用,需提前确认政策。
- 避免用于违法内容访问。
-
备用方案
- 如主要端口被封锁,可改用
443/tcp伪装成HTTPS流量。
- 如主要端口被封锁,可改用
常见问题
- 连接失败:检查服务端日志、防火墙规则和客户端配置。
- 速度慢:尝试更换协议(如WireGuard)或服务器节点。
- DNS泄露:在客户端配置中强制使用VPN提供的DNS。
如果需要更简单的方案,可考虑现成工具如Algo VPN(自动部署WireGuard)。









