使用 WireGuard 搭建私人 VPN

出国查资料、玩游戏延迟高?WireGuard 是最新的 VPN 协议,比 OpenVPN 快得多。

为什么 WireGuard

- — 内核级 WireGuard 比 OpenVPN 快 3-4 倍

- 简单 — 配置几十行搞定

- 安全 — 现代加密,默认最优配置

- 开源 — Linux 内核原生支持

架构

我的电脑 → 公网 IP:51820 → VPS(WireGuard 服务器) → 目标网络

VPS 部署

1. 安装

# Ubuntu

apt update

apt install wireguard

开启转发

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf

sysctl -p

2. 生成密钥

# 服务器密钥

wg genkey | tee /etc/wireguard/wg0.server.key

公钥

cat /etc/wireguard/wg0.server.key | wg pubkey > /etc/wireguard/wg0.server.pub

客户端密钥

wg genkey | tee /etc/wireguard/client1.key

cat /etc/wireguard/client1.key | wg pubkey > /etc/wireguard/client1.pub

3. 配置服务器

/etc/wireguard/wg0.conf
[Interface]

Address = 10.0.0.1/24

PrivateKey = <服务器私钥>

ListenPort = 51820

PostUp = iptables -A FORWARD -i %i -j ACCEPT

PostUp = iptables -A FORWARD -o %i -j ACCEPT

PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

[Peer]

PublicKey = <客户端公钥>

AllowedIPs = 10.0.0.2/32

4. 启动

chmod 600 /etc/wireguard/wg0.conf

wg-quick up wg0

systemctl enable wg-quick@wg0

客户端配置

Windows/Mac

下载 WireGuard 客户端,导入配置:

[Interface]

PrivateKey = <客户端私钥>

Address = 10.0.0.2/24

DNS = 1.1.1.1

[Peer]

PublicKey = <服务器公钥>

Endpoint = 你的VPSIP:51820

AllowedIPs = 0.0.0.0/0

PersistentKeepalive = 25

Android/iOS

应用商店下 WireGuard,扫二维码或导入配置。

Docker 部署(推荐)

version: "3.8"

services:

wireguard:

image: linuxserver/wireguard:latest

container_name: wireguard

cap_add:

- NET_ADMIN

- SYS_MODULE

environment:

- PUID=1000

- PGID=1000

- SERVERURL=你的域名或IP

- SERVERPORT=51820

- PEERS=client1

volumes:

- ./wireguard-config:/config

- /lib/modules:/lib/modules

ports:

- "51820:51820/udp"

sysctls:

- net.ipv4.conf.all.src_valid_mark=1

restart: unless-stopped

配置在 ./wireguard-config/peer1/ 下。

踩坑记录

坑 1:连不上

检查端口是否开放:

ss -ulnp | grep 51820

防火墙要放行 UDP 51820。

坑 2:能连但没网

IP 转发没开:

cat /proc/sys/net/ipv4/ip_forward

应该是 1

坑 3:DNS 失效

VPN 后 DNS 失效。客户端配置里加:

DNS = 1.1.1.1

速度测试

WireGuard 延迟比 OpenVPN 低很多。我测的结果:

| 协议 | 延迟 | 带宽 |

|------|------|------|

| OpenVPN | 180ms | 30Mbps |

| WireGuard | 150ms | 80Mbps |

快一倍不止。

总结

WireGuard 是现代 VPN 的首选:

- — 内核级,性能好

- 简单 — 配置几十行

- 安全 — 现代加密

- 跨平台 — Win/Mac/Linux/手机

唯一要注意的是部分运营商会封 UDP 51820,换端口可以缓解。