中文
€EUR
网络与 VPN

Wireguard

兼容 Infrawire 安装程序

WireGuard 全隧道 VPN 服务器,附带可直接导入的客户端配置

最低配置
  • 512 MB 内存
开发者
Jason A. Donenfeld (projet WireGuard)
版本
最新稳定版
许可证
GPL-2.0
系统
Debian 12, Debian 13, Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04

Wireguard 简介

WireGuard 是一款轻量级 VPN,已集成进 Linux 内核,基于公钥认证,配置文件只有寥寥数行。代码量小,审计起来比传统 VPN 方案容易得多,隧道的建立也几乎是瞬间完成。开发者和希望自己掌控出口 IP 的小型团队都在使用它。

VPS 交付时,系统已安装 wireguard 软件包,并配置好 wg0 接口,由 wg-quick@wg0 负责启动。服务器监听 UDP 51820 端口,使用 10.8.0.0/24 私有网段(服务器地址为 10.8.0.1)。IPv4 路由转发和 NAT(masquerade)均已启用,客户端的流量会从服务器的公网 IP 出去。

第一个客户端已经创建好,除常规密钥外还配有预共享密钥。客户端配置位于 /root/wg-client.conf,供手机应用扫描的二维码位于 /root/wg-client-qr.txt,导入即可使用。

用 Wireguard 可以做什么

  • 预配置的全隧道模式

    生成的客户端使用 AllowedIPs = 0.0.0.0/0,全部 IPv4 流量都经由 VPS 转发。客户端 DNS 设置为 1.1.1.1。

  • 客户端配置与二维码

    /root/wg-client.conf 可原样导入各平台的 WireGuard 客户端。/root/wg-client-qr.txt 中的二维码可直接在终端显示,供手机应用扫描。

  • 每个对端一把预共享密钥

    由 wg genpsk 生成的密钥会叠加在公钥交换之上,进一步加固连接。敏感文件均以 600 权限创建。

  • 开机自动启动

    wg-quick@wg0 服务已通过 systemd 设为开机启用。服务器重启后,隧道会自动恢复。

  • NAT 与转发已就绪

    IPv4 转发在 /etc/sysctl.d/99-wireguard.conf 中启用。FORWARD 与 masquerade 的 iptables 规则会在 wg0 启动时添加,停止时移除。

Wireguard 快速上手

从下单到上线,只需几分钟。

  1. 1

    下单并勾选 WireGuard

    选择位于巴黎或法兰克福的 Linux VPS(Debian 12、Debian 13、Ubuntu 20.04、22.04 或 24.04)。在订单表单的“应用”选项卡中勾选 WireGuard。

  2. 2

    登录服务器并取得客户端配置

    服务器交付后,使用收到的登录信息通过 SSH 连接。先确认隧道正在运行,然后显示二维码,或把配置文件复制到本机。

    Bash
    ssh root@SERVER_IP systemctl status wg-quick@wg0 cat /root/wg-client-qr.txt # 在本机执行: scp root@SERVER_IP:/root/wg-client.conf .
  3. 3

    导入配置并测试连接

    用手机版 WireGuard 应用扫描二维码,或在桌面版应用中导入 wg-client.conf。在 Linux 上一条命令即可启动,随后检查是否已完成握手。

    Bash
    sudo wg-quick up ./wg-client.conf sudo wg show
  4. 4

    加固配置以用于生产环境

    确认 UDP 51820 端口已开放,并限制其他对外暴露的端口。如果希望用域名代替 IP,请先添加 DNS 记录,再把客户端的 Endpoint 改为 YOUR_DOMAIN:51820。同时把 /etc/wireguard 备份到服务器之外。

    Bash
    tar czf wg-backup.tgz /etc/wireguard /root/wg-client.conf

Wireguard 的使用场景

  • 保护公共 Wi-Fi 下的流量

    在酒店、火车或咖啡馆里,您的 IPv4 流量会先通过加密隧道到达 VPS,再进入互联网。

  • 获得固定的出口 IP

    您的出口 IP 就是 VPS 的 IP,因此可以在防火墙、数据库或管理 API 上只放行这一个地址。

  • 把自己的设备连成一个网络

    电脑、手机和远程主机加入 10.8.0.0/24 网段后,可以通过内网地址互相访问,服务器充当中心节点。

  • 在巴黎与法兰克福之间选择

    下单时选择 VPS 所在站点,就决定了流量的出口区域,例如用来从法国或德国的网络环境测试某项服务。

Wireguard 常见问题

通过 SSH 登录,读取 /root/wg-client.conf,或用 cat /root/wg-client-qr.txt 显示二维码。也可以用 scp root@SERVER_IP:/root/wg-client.conf . 把文件复制到本机。

深入了解 Wireguard

已安装的文件与服务

  • /etc/wireguard/wg0.conf:服务器配置(私钥、对端 client1、PostUp 与 PostDown 规则)。
  • /root/wg-client.conf:第一个客户端的配置。
  • /root/wg-client-qr.txt:该配置对应的二维码,可用 cat 显示。
  • /etc/sysctl.d/99-wireguard.conf:启用 net.ipv4.ip_forward。
  • /opt/install-wireguard.sh:交付时执行的安装脚本。

客户端的地址为 10.8.0.2/32。Endpoint 中的公网地址是安装时检测到的地址。

添加其他设备

每台设备都需要独立的密钥对和独立的地址(10.8.0.3、10.8.0.4,依此类推)。先在服务器上生成密钥,再在 wg0.conf 中添加一个 [Peer] 段。

Bash
cd /etc/wireguard umask 077 wg genkey | tee client2.key | wg pubkey > client2.pub wg genpsk > client2.psk

接着把 client2.pub 和 client2.psk 的内容写入 /etc/wireguard/wg0.conf,并设置 AllowedIPs = 10.8.0.3/32,然后在不中断现有隧道的情况下重新加载:

Bash
wg syncconf wg0 <(wg-quick strip wg0)

客户端文件可以参照 /root/wg-client.conf 来写:修改 PrivateKey 和 Address,保留服务器的 PublicKey 以及 Endpoint。

注意事项

生成的客户端只路由 IPv4(0.0.0.0/0)。如果您的设备有 IPv6,这部分流量不会经过隧道;如果这对您很重要,请在客户端关闭 IPv6。

客户端的 DNS 为 1.1.1.1。若要使用其他解析器,请修改客户端文件中的 DNS 一行。请把 /root/wg-client.conf 当作密码一样对待,因为其中包含客户端私钥。导入完成后,删除不再需要的副本。

想了解更多 Linux 服务器管理的内容,可以查看我们的教程,或访问 Linux VPS 页面。

及时了解最新的优惠、折扣和特别促销活动。

查看促销

我们使用Cookie

我们使用分析性Cookie来改善您在我们网站上的体验。数据不会出售给第三方。了解更多请查看我们的 隐私政策.