uard VPN 服务器及全平台客户端配置教程
Date Published
以下是已为各客户端添加官方下载链接的完整教程(仅包含可验证的真实链接):
2026 最新:Ubuntu 26.04 LTS 搭建 WireGuard VPN 服务器及全平台客户端配置教程
Meta Description:详细图文教程带你一步步在 Ubuntu 26.04 上部署 WireGuard 服务端,并完成 Android、iOS、Windows、Mac 全平台客户端配置,安全高速,10 分钟上手。
目录
· 前言 · 服务端配置(Ubuntu 26.04) · 安装 WireGuard · 生成密钥与基础配置 · 防火墙与 IP 转发 · 添加客户端 Peer · 生成客户端配置文件 · 全平台客户端连接指南 · Android 客户端 · iOS 客户端 · Windows 客户端 · macOS 客户端 · 验证与排错 · 常见问题 FAQ
前言
WireGuard 是新一代高性能 VPN 协议,以极简配置、内核级速度和强加密著称。本教程使用 Ubuntu 26.04 LTS 作为服务端,手把手带你完成安装、配置,并让 Android、iPhone、Windows、Mac 全平台设备安全接入。即使你之前未接触过 VPN,也能在 10 分钟内成功搭建。
服务端配置
环境:Ubuntu 26.04 LTS(其他 Debian 系发行版步骤类似) 所有命令均以 sudo 用户或 root 执行。
安装 WireGuard
sudo apt update
sudo apt install wireguard -y
生成密钥与基础配置
- 生成服务器密钥对
sudo wg genkey | sudo tee /etc/wireguard/server_private.key
sudo chmod 600 /etc/wireguard/server_private.key
sudo cat /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key
- 获取主网卡名称
ip -o -4 route show to default | awk '{print $5}'
记住输出结果(如 eth0),后面需要替换到配置中。
- 创建服务端配置文件
sudo nano /etc/wireguard/wg0.conf
填入以下内容(务必替换 PrivateKey 和网卡名称):
[Interface]
Address = 10.8.0.1/24
SaveConfig = true
PrivateKey = <此处粘贴服务端私钥>
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
PreDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
防火墙与 IP 转发
启用 IP 转发
echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
防火墙放行端口
· UFW 防火墙:
sudo ufw allow 51820/udp
· 云服务器安全组:登录云控制台,添加入站规则,协议 UDP,端口 51820,来源 0.0.0.0/0。
启动 WireGuard 并设置开机自启
sudo systemctl start wg-quick@wg0
sudo systemctl enable wg-quick@wg0
添加客户端 Peer
为客户端生成密钥对(示例客户端名称 client1)
sudo wg genkey | sudo tee /etc/wireguard/client1_private.key
sudo chmod 600 /etc/wireguard/client1_private.key
sudo cat /etc/wireguard/client1_private.key | wg pubkey | sudo tee /etc/wireguard/client1_public.key
将客户端加入服务端(任选一种)
· 动态添加(无需重启):
sudo wg set wg0 peer $(sudo cat /etc/wireguard/client1_public.key) allowed-ips 10.8.0.2/32
· 编辑配置文件 /etc/wireguard/wg0.conf,末尾添加:
[Peer]
PublicKey = <客户端公钥>
AllowedIPs = 10.8.0.2/32
然后重启:sudo systemctl restart wg-quick@wg0
每增加一个客户端,请分配不同的虚拟 IP,如 10.8.0.2/32、10.8.0.3/32...
生成客户端配置文件
在服务端创建 client1.conf,填入以下内容(替换占位符):
[Interface]
PrivateKey = <客户端私钥>
Address = 10.8.0.2/24
DNS = 8.8.8.8
[Peer]
PublicKey = <服务端公钥>
Endpoint = <服务器公网IP>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
便捷分发方式:安装 qrencode 将配置文件转为二维码,客户端扫码即可导入。
sudo apt install qrencode -y
qrencode -t ansiutf8 < client1.conf
全平台客户端连接指南
Android 客户端
下载安装:
· Google Play 商店下载
配置步骤:
- 打开 App → 点右下角 + → Import from file or archive 选择 .conf 文件,或 Scan from QR code 扫描服务端生成的二维码
- 点击开关即可连接
iOS 客户端
下载安装:
· App Store 下载
配置步骤:
- 打开 App → 右上角 + → Create from file or archive,或 Create from QR code
- 允许添加 VPN 配置,点击开关连接
Windows 客户端
下载安装:
· 访问 WireGuard 官方网站下载页面获取安装程序:https://www.wireguard.com/install/
配置步骤:
- 启动程序 → Import tunnel(s) from file → 选择 .conf 文件
- 点击 Activate 按钮,状态变绿即连接成功
macOS 客户端
下载安装:
· App Store 下载
配置步骤:
- 打开 WireGuard → Import Tunnel(s) from File → 选择配置文件
- 点击 Activate 连接
客户端下载链接汇总
平台 下载方式 Android Google Play 商店 iOS App Store Windows WireGuard 官网下载页 macOS App Store
所有客户端均开源免费,请从上述官方渠道下载以确保安全。
验证与排错
服务端状态检查
sudo wg show
应看到 latest handshake 时间在 2 分钟内,表示连接正常。
客户端验证 访问 ip.sb 或 curl ifconfig.me,显示的 IP 应变为服务器公网 IP。
如果无法连接,请逐项检查:
· 云防火墙安全组是否放行 UDP 51820 · IP 转发是否开启:sysctl net.ipv4.ip_forward 输出为 1 · iptables NAT 规则是否存在:sudo iptables -t nat -L POSTROUTING 能看到 MASQUERADE · 服务端 Peer 公钥是否与客户端私钥匹配 · 客户端配置文件中的 Endpoint 公网 IP 是否正确
常见问题 FAQ
Q:为什么只能 ping 通但打不开网页? A:通常是 DNS 问题。请在客户端配置中明确指定 DNS = 8.8.8.8,或换用其他公共 DNS。
Q:如何让客户端只能访问内网,不影响其他流量? A:将客户端配置文件中的 AllowedIPs 改为 10.8.0.0/24(或你需要的内网网段),而不是 0.0.0.0/0。
Q:如何添加更多客户端? A:重复“添加客户端 Peer”步骤,生成新密钥对,分配新 IP 并加入服务端即可。
Q:服务器重启后 VPN 会断开吗? A:只要设置了 systemctl enable wg-quick@wg0,开机会自动恢复。
Q:配置文件安全吗?如何传给手机? A:配置文件包含私钥,务必通过加密渠道传输。推荐使用 二维码扫描,一次使用后可从终端清除记录。
总结 至此你已拥有一套完整的 WireGuard 部署方案,服务器跑在 Ubuntu 26.04 LTS 上,所有主流客户端均可轻松接入。无论是远程办公、家庭网络互访还是安全代理,都能获得稳定高速的体验。