所有系统运行正常 阿姆斯特丹 · 巴黎 · 雷克雅未克 +5 支付方式 加密货币
网络与自托管进阶阅读约 16 分钟更新于 2026-07-14

如何在 VPS 上配置 WireGuard VPN

在 VPS 上约十分钟完成 WireGuard VPN 配置:安装软件包、生成密钥、编写 wg0.conf、开放 UDP 51820、连接客户端。在 no-KYC 加密货币付款服务器上的完整步骤。

如何在 VPS 上配置 WireGuard VPN
本页目录
  1. 为什么要自建 WireGuard 而非购买 VPN
  2. 为个人 VPN 选择合适的套餐
  3. 第一步——安装 WireGuard
  4. 第二步——生成服务器和客户端密钥
  5. 第三步——编写 /etc/wireguard/wg0.conf
  6. 第四步——启用 IP 转发并开放防火墙
  7. 第五步——启动隧道并设置开机自启
  8. 第六步——配置客户端设备
  9. 安全加固建议
  10. VPS 与商业 VPN——何时自建更合适
  11. 常见问题

WireGuard 是运行自有 VPN 最快、最精简的方式。它运行在 Linux 内核中,采用现代密码学,而一个可用的隧道只需在两端各有一份简短的配置文件。在 VPS 上自行托管意味着您从头到尾控制出口节点:没有记录您流量的共享商业服务器,唯一能看到您真实 IP 的一方是您选择的托管商。

本指南将带您在约十分钟内完成一台完整服务器的配置,并提供可直接复制的真实命令。我们假设您有一台全新的 Debian 或 Ubuntu LTS 主机并具有 root 访问权限。如果您尚未部署,以加密货币付款的 no-KYC VPS 与自建 VPN 天然搭配,我们的入门套餐已绰绰有余。完成后,您将拥有一条每次重启都能自动恢复的隧道,以及一份可在手机上扫描为二维码的客户端配置。

为什么要自建 WireGuard 而非购买 VPN

商业 VPN 提供便利和大量出口 IP 池,但您需要信任第三方不记录日志,并相信其隐私政策所言属实。自建 WireGuard 端点则相反:您拥有服务器,您编写配置,您决定是否记录任何内容。没有与数千陌生人共享的出口地址,也意味着他们的滥用历史不会牵连到您。

利弊关系是坦诚的:VPS 提供商仍然能看到某个 IP 存在并路由流量,因此自建只是将信任从 VPN 品牌转移到了您的托管商。这正是为什么在一个注重隐私的司法管辖区选择 离岸 no-KYC VPS、不透露身份付款是值得的。这也是我们说「私密」而非「匿名」的原因:自建隧道改善了您的隐私状态,但真正的匿名性仍取决于您自身的付款和网络习惯。更全面的讨论请参阅我们关于 用 VPS 搭建 VPN 的概述。

为个人 VPN 选择合适的套餐

WireGuard 对资源的需求极低。单核 CPU 和 1 GB 内存足以跑满大多数家庭宽带,加密工作在内核中完成,而非依赖庞大的用户态守护进程。对于一人或少数设备,Pup 套餐(1 vCPU、1 GB RAM、25 GB NVMe)已绰绰有余,且与所有套餐一样附带无限流量,VPN 不会消耗计量配额。

仅在增加负载时才升级套餐。少量家庭成员共用同一隧道在 Pup 或 Cub 上完全没问题;如果您想同时托管其他服务、运行若干容器或同时支持多路重度数据流,则升级至 Scout 或 Runner 以获得额外的核心和内存。对于 VPN 而言,位置与规格同等重要:按延迟和司法管辖区选择,下文将进一步介绍。您可以使用 Monero 或任何支持的币种付款,服务器约六十秒内完成部署且无开通费用。

第一步——安装 WireGuard

现代 Linux 内核已内置 WireGuard,因此安装仅需用户态工具。在 Debian 或 Ubuntu LTS 上,以 root 身份刷新软件包索引并安装软件包:

apt update && apt install -y wireguard

这将安装 wgwg-quick,即管理隧道所需的两个命令。在 AlmaLinux、Rocky 或 Fedora 上等效命令为 dnf install -y wireguard-tools。继续之前请用 wg --version 验证安装成功。

第二步——生成服务器和客户端密钥

WireGuard 使用 Curve25519 密钥对验证对等节点,而非密码。先锁定目录权限,然后为服务器生成一对密钥,并为每个客户端设备各生成一对。以 root 运行:

umask 077; cd /etc/wireguard

wg genkey | tee server_private.key | wg pubkey > server_public.key

wg genkey | tee client_private.key | wg pubkey > client_public.key

现在您有四个文件。两个公钥在对等节点间交换;两个私钥永远不离开它们所属的机器。在下一步填写配置时,通过 cat server_private.key 等命令将它们打印出来。每台设备生成独立的客户端密钥对,不要在手机和笔记本之间复用同一密钥对。

第三步——编写 /etc/wireguard/wg0.conf

/etc/wireguard/wg0.conf 创建服务器接口配置。它定义了隧道子网(此处为 10.0.0.0/24)、监听端口,以及一条 NAT 规则使客户端流量通过服务器的公网接口进行伪装。将 SERVER_PRIVATE_KEYCLIENT_PUBLIC_KEY 替换为第二步中的实际值,并用 ip route get 1.1.1.1 确认您的公网网卡名称(通常为 eth0ens3):

[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 10.0.0.2/32

服务器为 10.0.0.1;第一个客户端为 10.0.0.2。每台额外设备都有自己的 [Peer] 块,并使用范围内的下一个地址。

第四步——启用 IP 转发并开放防火墙

要让服务器将客户端流量路由至互联网,内核必须转发数据包。永久启用并立即生效:

echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf && sysctl -p

然后开放 WireGuard 端口。WireGuard 默认监听 UDP 51820。如果您使用 UFW:

ufw allow 51820/udp && ufw allow OpenSSH

务必同步放行 SSH 端口,以免启用防火墙后将自己锁在外面。每台 VPSCrypto VPS 都配有一个独立的干净 IPv4 和一个 IPv6 /64,因此这一条 UDP 规则即是您 VPN 所需的全部入站暴露。

第五步——启动隧道并设置开机自启

使用助手命令读取配置并启动接口,然后启用 systemd 单元使其在重启后自动恢复:

wg-quick up wg0

systemctl enable wg-quick@wg0

wg show 确认接口已启动并在监听,该命令会打印接口、公钥和监听端口。此时服务器端配置完成,剩下的只是将客户端指向它。如果稍后修改了 wg0.conf,可用 wg-quick down wg0 && wg-quick up wg0 干净地重新应用。

第六步——配置客户端设备

在您的笔记本或手机上,安装官方 WireGuard 应用或软件包,并使用以下配置创建隧道。使用第二步中的客户端私钥和服务器的公钥。客户端的 Endpoint 就是您服务器的公网 IP 加上 WireGuard UDP 端口,例如 203.0.113.10:51820

[Interface]
PrivateKey = CLIENT_PRIVATE_KEY
Address = 10.0.0.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = 203.0.113.10:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

AllowedIPs 设为 0.0.0.0/0, ::/0 可将所有流量路由经由隧道。在手机上,可在服务器上用 qrencode -t ansiutf8 < client.conf 生成二维码,并在应用中扫描。激活隧道后检查您的可见 IP——它现在应显示为服务器的 IP。PersistentKeepalive 行使连接在 NAT 后保持活跃。

安全加固建议

隧道可用只是开始,而非终点。定期轮换密钥:重新生成客户端密钥对,并替换服务器 [Peer] 块中的公钥。为每台设备保留独立密钥对,这样撤销一个不会影响其他——撤销时只需删除该对等节点的块并重新应用配置。

  • 禁用不需要的日志。WireGuard 本身默认几乎不记录日志;查阅 SSH 和系统日志,若最小化留存对您重要,可缩短保留时间。
  • 加固 SSH,仅允许密钥认证,并考虑将其迁离 22 端口;在启用防火墙前确保该端口已在 UFW 中放行。
  • 有意识地选择司法管辖区。服务器所在位置实际上就是您 VPN 的隐私保护等级。瑞士受 FADP 保护,冰岛拥有新闻自由传统,均是强力选择;荷兰法国则以较低的欧盟延迟换取部分隐私优势。

关于日常运营和凭据管理,我们的文档详细介绍了反向 DNS、IPv6 和面板功能。

VPS 与商业 VPN——何时自建更合适

当您希望拥有独立 IP、完全掌控日志,且不愿使用任何提供商向数千用户销售的隧道时,自建更胜一筹。它非常适合访问您自己的服务、为白名单获取稳定地址,或者干脆不相信某家 VPN 公司的「无日志」声明。代价是需要自己维护,而且单一自建出口 IP 并非为像商业 VPN 共享池那样「混入人群」而设计。

商业 VPN 在便利性、多国跳转和共享 IP 的「合理推脱」方面更有优势。对于大多数希望拥有一个真正属于自己的可信端点的注重隐私的用户而言,运行 WireGuard 的小型 VPS 是更好的答案——通过 加密货币 no-KYC 结账付款可使整个设置保持端到端一致。如果您仍在权衡,我们的 VPS 搭建 VPN 概述有更深入的比较。

常见问题

个人 WireGuard VPN 需要多大的 VPS?

需求极低。WireGuard 运行在内核中,对 CPU 和内存占用很小,因此我们的 Pup 套餐(1 vCPU、1 GB RAM、25 GB NVMe)配合无限流量,足以轻松支撑个人 VPN。只有在添加多个用户或同时托管其他服务时才需升级至 Scout 或 Runner。

WireGuard 使用哪个端口?

默认监听 UDP 51820。在防火墙中用 ufw allow 51820/udp 开放即可。您可以在 wg0.conf 中修改 ListenPort 以使用其他端口,但请记得开放对应规则并更新客户端的 Endpoint

自建 WireGuard VPN 比商业 VPN 更私密吗?

可以,因为只有您自己控制端点以及是否记录任何内容——没有共享出口,也无需盲信厂商的「无日志」声明。代价是您的 VPS 托管商能看到该 IP,因此隐私收益取决于在强力司法管辖区选择 no-KYC 托管商并私密付款。这是实质性改善,而非匿名保证。

我可以在同一台 VPS 上运行 WireGuard 和其他服务吗?

可以。WireGuard 非常轻量,与其他工作负载可以愉快共存。个人 VPN 加一个小网站或若干容器,Pup 或 Cub 即可;若需在隧道旁运行更重的服务,则升级至 Scout 或 Runner 以获得额外的核心和内存。

VPN VPS 选哪个位置最好?

按延迟和司法管辖区选择。荷兰或法国可从高度互联的枢纽获得较低的欧盟延迟;瑞士受 FADP 保护,冰岛拥有新闻自由传统,两者均以小额溢价提供更强的隐私保护。由于您控制端点,服务器所在司法管辖区实际上就成了您 VPN 的隐私保护等级。

约一分钟部署一台离岸 VPS

无 KYC,加密货币支付,全 NVMe。选择套餐,用 Monero 或任意主流币付款,约 60 秒即可获得 root。

Fenrir 守卫中