切換選單
切換偏好設定選單
切換個人選單
尚未登入
若您做出任何編輯,會公開您的 IP 位址。

極速安全:在搬瓦工 VPS 上部署 WireGuard (WG) 詳細指南

出自md5.pw
於 2026年1月22日 (四) 21:53 由 AlexLynn留言 | 貢獻 所做的修訂 (创建页面,内容为“= 极速安全:在搬瓦工 VPS 上部署 WireGuard (WG) 详细指南 = '''WireGuard''' 是被整合进 Linux 内核的新一代 VPN 协议,以其极简的代码库、极高的性能和先进的加密技术著称。相比传统的 OpenVPN 或 IPsec,WireGuard 在搬瓦工(BandwagonHost)VPS 上能提供更低的延迟和更高的吞吐量,非常适合作为个人的安全加密通道。 本文将手把手教你如何在 Ubuntu/Debian 系统上手动…”)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)

極速安全:在搬瓦工 VPS 上部署 WireGuard (WG) 詳細指南

WireGuard 是被整合進 Linux 內核的新一代 VPN 協議,以其極簡的代碼庫、極高的性能和先進的加密技術著稱。相比傳統的 OpenVPN 或 IPsec,WireGuard 在搬瓦工(BandwagonHost)VPS 上能提供更低的延遲和更高的吞吐量,非常適合作為個人的安全加密通道。

本文將手把手教你如何在 Ubuntu/Debian 系統上手動部署 WireGuard 服務端,並配置客戶端連接。

準備工作

  • 一台搬瓦工 VPS(推薦使用 Ubuntu 20.04/22.04Debian 10/11 系統)。
  • 確保已通過 SSH 連接到伺服器 root 用戶。

第一步:安裝 WireGuard

得益於搬瓦工提供的 KVM 架構和較新的內核,安裝 WireGuard 非常簡單。

在終端執行以下命令更新軟體源並安裝:

apt update && apt install -y wireguard qrencode
  • 注意:這裡順便安裝了 qrencode,後面用於生成手機掃描的二維碼。

第二步:生成密鑰對

WireGuard 使用類似 SSH 的公鑰/私鑰體系。我們需要分別為「服務端」和「客戶端」生成密鑰。

1. 生成服務端密鑰

cd /etc/wireguard
umask 077
wg genkey | tee server_private.key | wg pubkey > server_public.key

2. 生成客戶端密鑰

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

現在目錄下應該有4個文件。你可以用 cat 命令查看並記錄它們的內容(千萬不要洩露私鑰 Private Key)。

第三步:配置服務端

創建並編輯 WireGuard 的主配置文件 wg0.conf

nano /etc/wireguard/wg0.conf

將以下內容粘貼進去(注意替換密鑰部分):

[Interface]
# 服务端私钥 (server_private.key 的内容)
PrivateKey = <这里填入你的 server_private.key>
# 服务端内网 IP,一般保持默认
Address = 10.0.0.1/24
# 监听端口 (UDP),如果被防火墙拦截可尝试修改
ListenPort = 51820
# 启动后执行的路由规则 (开启 NAT 转发)
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o eth0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# 关闭后清除路由规则
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o eth0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
# 客户端公钥 (client_public.key 的内容)
PublicKey = <这里填入你的 client_public.key>
# 允许该客户端使用的内网 IP
AllowedIPs = 10.0.0.2/32
  • 注意:如果你的網卡名稱不是 eth0(可以用 ip a 查看),請將 PostUp/PostDown 中的 eth0 替換為實際網卡名稱(如 ens3)。

第四步:開啟 IP 轉發

為了讓 VPS 能轉發流量,必須開啟內核 IP 轉發功能。

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

第五步:啟動服務

啟動 WireGuard 並設置開機自啟:

wg-quick up wg0
systemctl enable wg-quick@wg0

如果沒有任何報錯,輸入 wg 命令應該能看到接口狀態。

第六步:配置客戶端

選項 A:手機端 (iOS/Android)

這是最酷的一步!我們可以直接在終端生成配置並轉為二維碼。

1. 創建客戶端配置文件模板 client.conf

nano /etc/wireguard/client.conf

2. 填入以下內容:

[Interface]
# 客户端私钥 (client_private.key 的内容)
PrivateKey = <这里填入你的 client_private.key>
Address = 10.0.0.2/24
DNS = 8.8.8.8

[Peer]
# 服务端公钥 (server_public.key 的内容)
PublicKey = <这里填入你的 server_public.key>
# 服务端公网 IP : 端口
Endpoint = <你的VPS公网IP>:51820
# 路由流量:0.0.0.0/0 代表代理所有流量
AllowedIPs = 0.0.0.0/0
# 保持连接心跳,防止 NAT 断连
PersistentKeepalive = 25

3. 生成二維碼:

qrencode -t ansiutf8 < client.conf

此時你的 SSH 終端里會直接顯示一個巨大的二維碼,打開手機 WireGuard APP 掃描即可連接!

選項 B:電腦端 (Windows/macOS)

將上面的 client.conf 內容複製,保存為 wg0.conf,導入電腦版 WireGuard 客戶端即可。

常見問題排查

Q
連上了但無法上網?
A: 檢查 第四步 是否開啟了 IP 轉發。另外檢查 VPS 的防火牆(UFW/IPTables)是否放行了 51820 UDP 埠。
ufw allow 51820/udp
Q
搬瓦工某些機房連不上?
A: WireGuard 使用 UDP 協議,極少數地區的運營商可能會對大流量 UDP 進行 QOS 限速或阻斷。如果遇到這種情況,可以嘗試更換 ListenPort 埠,或者配合 udp2raw 使用(進階玩法)。

Created by AlexLynn for md5.pw Community.