市面上的VPN服务要么付费要么限速、免费的有安全隐患。用VPS自建一个WireGuard VPN,十分钟搞定,手机和电脑都能连,加密流量全走自己的服务器——速度取决于VPS的带宽,不限设备数、不限流量。
WireGuard和OpenVPN/IPSec的区别
WireGuard是近几年最受认可的新一代VPN协议。和传统方案对比:
| 协议 | 代码行数 | 配置复杂度 | 速度 |
|---|---|---|---|
| WireGuard | 约4000行 | 极简,一个配置文件 | 最快(内核态运行) |
| OpenVPN | 约7万行 | 中等,需要管理证书 | 较快(用户态) |
| IPSec/L2TP | 约40万行 | 复杂,密钥管理麻烦 | 较慢 |
WireGuard代码极少意味着安全审计容易、bug少。它跑在Linux内核里,性能损耗极小——测试数据基本接近VPS带宽上限。而且配置极简:服务端和客户端各一个配置文件,几行搞定。
第一步:VPS服务端安装
# Ubuntu/Debian一键安装
apt update && apt install wireguard -y
# 生成服务器私钥和公钥
cd /etc/wireguard
wg genkey | tee server_private.key | wg pubkey > server_public.key
# 创建配置文件
nano /etc/wireguard/wg0.conf服务端配置文件 wg0.conf:
[Interface]
Address = 10.0.0.1/24 # VPN内网IP
ListenPort = 51820 # WireGuard端口
PrivateKey = 服务端私钥内容
# 开启IP转发(让客户端通过VPS上网)
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
# 客户端配置(每个客户端一段)
[Peer]
PublicKey = 客户端公钥
AllowedIPs = 10.0.0.2/32 # 分配给这个客户端的VPN内网IP启动并设为开机自启:
systemctl enable wg-quick@wg0 --now
wg show # 查看WireGuard状态同时开启内核的IP转发:echo “net.ipv4.ip_forward=1” >> /etc/sysctl.conf && sysctl -p。
雨云入门VPS跑WireGuard性能足够——WireGuard开销极小。但注意:如果VPS在国内机房,跨境流量要走国际出口,延迟和速度取决于VPS线路。CN2 GIA线路的VPS做VPN体验会好很多。优惠码 admin01 首月五折。
第二步:客户端配置(Windows/手机/Linux)
在客户端设备上先生成密钥对:
# Linux/Mac/WSL里
wg genkey | tee client_private.key | wg pubkey > client_public.key
# 把客户端的公钥填入服务端配置文件的[Peer]段客户端配置文件 client.conf:
[Interface]
Address = 10.0.0.2/24
PrivateKey = 客户端私钥
DNS = 1.1.1.1 # 走VPN时用的DNS
[Peer]
PublicKey = 服务端公钥
Endpoint = 你的VPS公网IP:51820
AllowedIPs = 0.0.0.0/0 # 所有流量走VPN(分流用下面配置)
# AllowedIPs = 10.0.0.0/24 # 只把VPN内网流量走隧道(其他直连)
PersistentKeepalive = 25 # NAT穿透保活Windows客户端:从WireGuard官网下载安装包,导入client.conf或手动填入配置项。Android/iOS:App Store/Google Play搜WireGuard安装,扫二维码或导入配置文件即可。手机端连接后通知栏会显示VPN图标——所有流量都走VPS加密通道。
第三步:分流配置——只代理特定流量
如果你只想让部分流量走VPS、不想把刷B站逛淘宝也绕一圈VPS,改AllowedIPs:
# 只把境外网站流量走VPN(用IP列表)
AllowedIPs = 1.0.0.0/8, 8.0.0.0/8, ...境外IP段
# 或者只把VPN内网流量走隧道
AllowedIPs = 10.0.0.0/24精确分流需要维护一个境外IP列表文件,很多人觉得麻烦就直接全局模式了。如果VPS线路好(CN2 GIA),全局模式也没太大影响。
第四步:多客户端添加
想给手机和电脑都连同一个VPN,在服务端加多个[Peer]段:
[Peer]
PublicKey = 手机的公钥
AllowedIPs = 10.0.0.2/32
[Peer]
PublicKey = 电脑的公钥
AllowedIPs = 10.0.0.3/32每加一个客户端就追加一段、给一个不同的IP。无数量限制、不额外收费——这是自建VPN相比商业VPN最大的优势。
和代理IP的区别
自建VPN和买代理IP解决的是不同问题:VPN是你控制的一台VPS,整个网络的出口IP就是这台VPS的IP——固定、独享。代理IP是你租别人的IP出口,可以买不同地区、不同类型的IP。VPN适合给自己设备提供全局加密通道,代理IP适合需要频繁换不同地区IP的场景。
天行IP的L2TP方案月付10元起(邀请码blsj),本质上也是VPN的一种——适合不折腾、直接用平台提供的现成服务。自建WireGuard适合愿意折腾、需要更高自由度的技术用户。
常见问题
连上WireGuard后国内网站变慢了?
流量全部绕了VPS,访问国内网站多了VPS到国内网站的来回延迟。解决:配置分流(AllowedIPs只包含需要走VPN的IP段,国内IP直连)。或者VPS选国内机房——延迟比海外机房的低。
VPS会被封IP吗?
WireGuard本身是合法的VPN协议,不像Shadowsocks/V2Ray有明显的代理特征。只要不是大流量跑跨境访问被运营商QoS限速,正常使用的风险很低。但不建议在明确禁止VPN的网络环境里使用。
手机连上后耗电快?
Wi-Fi下WireGuard耗电极低(几毫瓦级别)。4G/5G下因为要保持心跳包(PersistentKeepalive),耗电比其他VPN略高,但差别不大。如果特别在意耗电,把PersistentKeepalive改为0——NAT环境下可能偶尔断连。






