自建VPN服务器
选择协议
- OpenVPN:开源、安全,适合大多数场景。
- WireGuard:高性能、配置简单,适合现代设备。
- IPSec/L2TP:兼容性好,但配置复杂。
搭建步骤(以OpenVPN为例)
所需条件:一台云服务器(如AWS、Google Cloud、阿里云等)或本地服务器。
Linux服务器示例(Ubuntu/Debian)
-
安装OpenVPN
sudo apt update && sudo apt install openvpn easy-rsa
-
配置CA和证书
make-cadir ~/openvpn-ca && cd ~/openvpn-ca nano vars # 修改证书信息(如国家、组织名) source vars && ./clean-all ./build-ca # 创建根证书 ./build-key-server server # 服务器证书 ./build-dh # Diffie-Hellman参数 ./build-key client1 # 客户端证书
-
生成配置文件
- 复制示例配置:
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ gunzip /etc/openvpn/server.conf.gz
- 编辑
/etc/openvpn/server.conf:proto udp dev tun ca /root/openvpn-ca/keys/ca.crt cert /root/openvpn-ca/keys/server.crt key /root/openvpn-ca/keys/server.key dh /root/openvpn-ca/keys/dh2048.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 comp-lzo user nobody group nogroup persist-key persist-tun
- 复制示例配置:
-
启动服务
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
-
配置客户端
- 将生成的客户端证书(
client1.crt、client1.key、ca.crt)和配置文件(可从示例修改)分发给用户。 - 客户端配置文件示例(
client.ovpn):client dev tun proto udp remote your-server-ip 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client1.crt key client1.key comp-lzo verb 3
- 将生成的客户端证书(
其他自建方案
-
WireGuard:更轻量,适合移动设备。
# Ubuntu安装 sudo apt install wireguard wg genkey | tee privatekey | wg pubkey > publickey
配置示例(
/etc/wireguard/wg0.conf):[Interface] PrivateKey = <服务器私钥> Address = 10.0.0.1/24 ListenPort = 51820 [Peer] PublicKey = <客户端公钥> AllowedIPs = 10.0.0.2/32
使用第三方VPN服务
如果不想自建,可选择商业VPN服务:
- 注册服务商(如NordVPN、ExpressVPN、Surfshark等)。
- 下载客户端应用,登录后一键连接。
- 部分服务商支持手动配置(如L2TP/IPSec或OpenVPN)。
路由器或设备内置VPN
- 路由器:部分高端路由器(如OpenWRT、ASUS)支持直接配置VPN服务器。
- Windows/ macOS:内置PPTP/L2TP/IPSec支持(不推荐,安全性较低)。
注意事项
- 安全性:自建VPN需定期更新软件,避免使用弱加密算法。
- 防火墙:确保服务器防火墙开放VPN端口(如OpenVPN的1194/UDP)。
- 合规性:某些国家/地区对VPN使用有限制,需遵守当地法律。
常见问题
-
Q:为什么连接后无法上网?
A:检查服务器是否启用IP转发(sysctl net.ipv4.ip_forward=1)和NAT规则。 -
Q:如何提升速度?
A:选择靠近用户的服务器位置,或改用WireGuard协议。
如果需要更详细的教程,可以指定具体场景(如家用、企业级或跨境使用)。









