知識庫 使用 Profitserver 服務的簡單說明
主要 知識庫 AmneziaWG 伺服器部署指南

AmneziaWG 伺服器部署指南


越來越多的人選擇自行運行 VPN 服務,而不是依賴付費的現成服務:這樣更便宜、更能保護隱私,而且還能完全控制伺服器。對於網路封鎖嚴格的地區來說,AmneziaWG 是最有效的選擇之一。 AmneziaWG 是由 Amnezia 專案基於 WireGuard 開發的協議。

傳統的 WireGuard 協定速度快、可靠性高,但其資料包結構固定,握手過程可預測,因此深度包檢測 (DPI) 系統可以可靠地識別並攔截這些資料包。 AmneziaWG 解決了這個問題:它在普通的 WireGuard 連接中添加垃圾資料包,隨機化資料包頭部,並改變握手字段的大小——這樣一來,WireGuard 的特徵簽名就消失了,流量不再與普通的 UDP 流量區分開來。

已經在運行經典隧道,想知道是否值得切換?不妨將其與Linux 上的 VPN 伺服器設定中的純 OpenVPN/PPTP 設定進行比較:PPTP 還是 OpenVPN? ,或與如何在伺服器上設定 WireGuard VPN 的原始 WireGuard(無混淆)進行比較:如何設定 WireGuard VPN。

本指南將手動建立一個 AmneziaWG 伺服器,無需 Docker 或 Web 控制面板——盡可能減少 VPS 本身的資源佔用,所有設定均透過命令列完成。它是最輕量級的方案,非常適合預算有限的 VPS,因為它不需要圖形使用者介面、資料庫和反向代理。下面的範例伺服器使用佔位符 IP 位址—請將其替換為您自己的 VPS 位址。

你需要準備:一台運行 Ubuntu 22.04/24.04 或 Debian 11/12 的 VPS、root 權限以及 VPS 的 IP 位址。不需要網域名稱-AmneziaWG 不使用證書,因此無需續約證書,DPI 也不會將其標記為 TLS 握手。

還沒有伺服器?請參閱“如何訂購服務器”。

正在連接伺服器

Windows(PuTTY)

開啟 PuTTY,在主機名字段中輸入您的 VPS IP 位址,將連接埠設定為 22,然後使用您的 VPS 提供者透過電子郵件傳送給您的密碼以 root 使用者身分登入。

伺服器 IP 位址:您的 IP 位址

以 root 使用者登入

密碼:您的密碼

1. 開啟 PuTTY,在主機名字段中輸入您的 VPS IP 位址。  

1_7

2. 將連接埠設定為 22。 

2_7

3. 輸入以 root 使用者身分登入。 

3_7

4. 使用您的 VPS 提供者透過電子郵件傳送給您的密碼。

4_7

結果應如下:

5_7

有關透過 PuTTY/SSH 連線的詳細步驟,請參閱「如何透過 SSH 連接到 Linux 伺服器」。

Linux / macOS(終端機)

ssh root@YOUR_SERVER_IP

以下所有命令均在伺服器上的相同 SSH 會話中執行—這涵蓋了第 2 至 5 節,以及第 9 節中的伺服器端檢查。第 6 至 8 節(安裝和設定 VPN 用戶端)則在您自己的 Windows/macOS/Linux 裝置上執行,因為 VPN 需要在該裝置上執行;這些章節中明確說明了哪些行(如果有)仍需要與伺服器互動。

準備伺服器

更新系統

在安裝任何軟體之前,請先刷新軟體包清單並升級已安裝的軟體包:

apt update -y && apt upgrade -y

如果此操作升級了內核,請在構建第 3 節中的 AmneziaWG 內核模組之前重啟系統,否則 DKMS 可能會使用錯誤的內核頭檔進行構建,導致模組加載失敗。 (有關 apt 和 Linux 軟體套件管理器的工作原理,請參閱Linux 軟體套件管理器。)檢查:

cat /var/run/reboot-required
6_7 7_7

啟用IP轉送

此設置允許伺服器將客戶端的封包轉發到互聯網——如果沒有此設置,隧道將建立,但不會有任何流量通過它。

echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/00-amnezia.conf
sysctl --system

第一條命令建立一個專用設定檔;第二個命令應用該文件,而無需重新啟動伺服器。

8_7

配置防火牆(UFW)

有關 UFW 規則的更多信息,請參閱“在 Linux 上配置防火牆”。

打開你需要的兩個連接埠:22/tcp 用於 SSH(跳過此規則可能會導致失去對伺服器的存取權)和 42666/udp,AmneziaWG 將監聽該連接埠。

apt install ufw -y
ufw allow 22/tcp
ufw allow 42666/udp
ufw --force enable
ufw status

ufw 狀態輸出中這兩條規則都應該顯示為 ALLOW。

9_7

安裝 AmneziaWG

Debian 不直接支援 Ubuntu 風格的 PPA,因此必須手動新增軟體來源,而不是使用 add-apt-repository 命令。這在 Ubuntu 上也是同樣的操作。

手動新增儲存庫

新增儲存庫
echo "deb [arch=amd64] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list

新增 GPG 簽署金鑰

使用已棄用的密鑰環文件,而不是已棄用的 apt-key 命令,並獲取 PPA 的真實簽名密鑰(指紋 75C9DD72C799870E310542E24166F2C257290828):

apt install -y gnupg2
gpg --keyserver keyserver.ubuntu.com --recv-keys 57290828
gpg --export 57290828 | tee /usr/share/keyrings/amnezia.gpg > /dev/null
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/amnezia.gpg] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list

更新和安裝

apt update
apt install -y amneziawg
10_7

驗證模組是否已加載

modprobe amneziawg
lsmod | grep amnezia
11_8

生成伺服器和客戶端配置

安裝輔助工具

安裝二維碼依賴項,然後建立專用工作目錄,並將社群配置產生器腳本下載到該目錄:

apt install -y python3-qrcode
mkdir -p ~/awg && cd ~/awg
wget -O awgcfg.py \
  https://gist.githubusercontent.com/remittor/8c3d9ff293b2ba4b13c367cc1a69f9eb/raw/awgcfg.py

如果你的發行版軟體倉庫中沒有 python3-qrcode,請回退到使用 `pip3 install qrcode --break-system-packages` 指令(Debian 12+/Ubuntu 24.04 預設會阻止非託管的 pip 安裝,因此需要此標誌)。不要同時執行兩個安裝命令,選擇其中一個即可。

Awgcfg.py 是一個非官方的第三方社群腳本(由 GitHub 使用者「remittor」編寫),並非 Amnezia 專案的官方工具。上面的 URL 指向 gist 的原始內容,沒有版本雜湊值,因此它始終拉取作者上次推送的內容——靜默更新(或 gist 被刪除)可能會在沒有任何警告的情況下破壞您的配置。盡可能將其鎖定到特定版本:開啟 gist 的版本歷史記錄,複製您測試過的版本的提交雜湊值,然後使用… 網址 本指南的形式。 

產生伺服器配置

建立 /etc/amnezia/amneziawg/awg0.conf 檔案。您可以將隧道內部子網路和 UDP 連接埠保留為預設值,也可以設定您自己的值:

python3 awgcfg.py --make /etc/amnezia/amneziawg/awg0.conf \
  -i 10.10.8.1/24 -p 42666

-i 標誌設定隧道的內部網路位址和遮罩;-p 設定伺服器的 UDP 連接埠(與步驟 2.3 中開啟的連接埠相同)。

12_8

建立客戶端配置模板

python3 awgcfg.py --create

這樣就把模板保存在了構建各個客戶端配置的同一資料夾中——它已經包含了伺服器的公鑰、其 IP 位址以及將 AmneziaWG 與普通 WireGuard 區分開來的混淆參數(Jc、Jmin、Jmax、S1、S2、H1-H4)。

13_8

新增客戶

每個設備建立一個條目-名稱可以是任何內容,例如設備名稱:

python3 awgcfg.py -a "laptop"
python3 awgcfg.py -a "phone"
14_8

產生客戶文件和二維碼

python3 awgcfg.py -c -q

~/awg 資料夾現在將包含 laptop.conf 和 phone.conf 等文件,以及匹配的 PNG 二維碼,您可以直接將其掃描到行動應用程式中。

這個社區腳本有一個已知的缺陷:運行它可能會刪除您放置在同一資料夾中的其他 .init/state 檔案。請確保 ~/awg 目錄僅用於存放 AmneziaWG 文件,並在重新產生配置之前將伺服器金鑰(awg0.conf 中的 [Interface] PrivateKey)備份到其他位置。
15_7

~/awg 資料夾現在將包含 laptop.conf 和 phone.conf 等文件,以及匹配的 PNG 二維碼,您可以直接將其掃描到行動應用程式中。

這個社區腳本有一個已知的缺陷:運行它可能會刪除您放置在同一資料夾中的其他 .init/state 檔案。請確保 ~/awg 目錄僅用於存放 AmneziaWG 文件,並在重新產生配置之前將伺服器金鑰(awg0.conf 中的 [Interface] PrivateKey)備份到其他位置。

啟動服務並啟用自動啟動

啟動 awg0 介面並啟用開機自動啟動功能:

systemctl enable --now awg-quick@awg0
systemctl restart [email protected]
systemctl status [email protected]

設備啟動時應顯示「已啟用(已退出)」。如果控制台顯示日誌而“卡住”,請按 Q 鍵退出。

16_7

使用以下命令查看活躍節點清單和每個節點的流量:

awg show
17_7

從 Windows 連線

本節中的所有操作都在您的 Windows 電腦上完成,而非透過 SSH 連線-VPN 用戶端必須安裝在實際使用 VPN 隧道的裝置上。唯一需要操作伺服器的步驟是 6.2 節中的 scp 下載,即使是這個命令也是在您的電腦上輸入的,它會下載伺服器在第 4 節中已經產生的檔案。

安裝客戶端

AmneziaWG 有一個專用的 Windows 應用程式——它的介面與標準的 WireGuard 用戶端類似,但它能夠識別混淆參數。請從專案的官方倉庫下載安裝程式:

https://github.com/amnezia-vpn/amneziawg-windows-client/releases

上面的連結是維護良好的 Windows 用戶端的發布頁面——請從那裡下載最新的 .msi/.exe 檔案。請在瀏覽器中開啟此頁面,而不是貼上到終端機中的命令。

執行安裝程式並按照設定精靈的步驟操作;預設設定無需更改。

導入配置

將客戶端設定檔從伺服器複製到您的電腦——最簡單的方法是使用 scp 命令,在您的電腦上用 PowerShell 運行,而不是在伺服器上運行:

18_7
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .

在 AmneziaWG 應用程式中,點擊“從檔案匯入隧道”,選擇 laptop.conf,然後打開新隧道旁的開關。

從 macOS 連接

所有操作都在您的 Mac 上進行,而不是透過 SSH。下面的 scp 命令是在 Mac 的終端機中輸入的,用於獲取伺服器在第 4 部分中產生的配置——它不會在您 VPS 上的 root SSH 會話中運行。

有兩種支援的選項:

  • AmneziaWG(Mac App Store):一款輕量級用戶端,適用於 macOS 12 及更高版本。在 App Store 中搜尋「AmneziaWG」並安裝,然後使用「從檔案匯入隧道」並選擇您的 .conf 檔案—工作流程與 Windows 用戶端相同。
  • AmneziaVPN(完整應用程序,macOS 14+):如果您喜歡使用功能齊全的 Amnezia 應用程式而不是輕量級的 AmneziaWG 用戶端,請從 github.com/amnezia-vpn/amnezia-client/releases/latest 下載 .pkg。

如果需要,請先複製客戶端配置,與步驟 6.2 相同:

scp root@YOUR_SERVER_IP:~/awg/laptop.conf .

從 Linux 連接

以下兩個選項均在您的 Linux 桌面/筆記型電腦上執行,即在該機器上建立單獨的 SSH 會話(或本機 shell),而不是第 1 節中 VPS 上的 root SSH 會話。這些命令看起來與伺服器端的命令完全相同,因為兩端都使用了相同的 amneziawg-tools 軟體包,但在此處運行它們會在您自己的機器上安裝並啟動客戶端隧道,而不是在伺服器上。

在Linux桌上型電腦或筆記型電腦上,您有兩種選擇:

  • GUI:從 github.com/amnezia-vpn/amnezia-client/releases 安裝完整的 AmneziaVPN 桌面用戶端,然後以與在 Windows/macOS 上相同的方式匯入 .conf 檔案。
  • CLI,使用與伺服器上相同的 amneziawg-tools(awg / awg-quick):
apt install -y amneziawg
cp laptop.conf /etc/amnezia/amneziawg/awg0.conf
awg-quick up awg0

運行此程式碼斷開連線。

awg-quick down awg0 

若要在登入時自動啟動隧道,請將其啟用為一項服務:

systemctl enable --now awg-quick@awg0

驗證連接

在第 6、7 或 8 節中啟動隧道後,返回您自己的裝置(而非 SSH 會話),並在瀏覽器中開啟任意「我的 IP 位址查詢」工具——顯示的位址應與您的 VPS 的 IP 位址相符。或者,您也可以在 SSH 會話內部進行驗證,在伺服器上執行 `awg show` 指令,並確認用戶端對等方顯示最近一次握手和非零流量。

參考:

場

價值

地址

YOUR_TUNNEL_IP(用戶端在隧道內的位址,例如 10.10.8.2/32 — 在步驟 4.4 新增用戶端時自動指派)

端點

YOUR_SERVER_IP:42666(伺服器的外部 IP 位址以及用戶端連接的 UDP 連接埠。)

DNS

8.8.8.8

Jc / Jmin / Jmax

握手之前發送的「垃圾」資料包的數量和大小——伺服器和客戶端可能不同,但不會中斷連線。

S1 / S2

握手填充欄位的大小-伺服器和每個客戶端之間必須逐位元組匹配

H1–H4

用於將協定偽裝成普通流量的資料包類型頭部也必須完全匹配,並且彼此之間必須唯一。

隧道兩端只需要 S1/S2 和 H1-H4 相同;Jc、Jmin 和 Jmax 純粹是關於每一方如何填充自己的傳出垃圾流量,因此客戶端和伺服器的值可以合法地不同,就像上面的範例一樣。

結語

按照本指南操作,您的 VPS 將運行自己的 AmneziaWG 伺服器:AmneziaWG 是一種與 WireGuard 相容的協議,它對流量進行混淆,使得深度套件偵測 (DPI) 系統更難將其與普通的 UDP 流量區分開來,而普通的 WireGuard 流量則難以區分。該服務以 systemd 單元 awg-quick@awg0 的形式運行,即使伺服器重啟,無需您進行任何操作,服務仍然存在。

產生的 .conf 檔案和 ~/awg 中的二維碼不僅適用於 Windows 用戶端,還可以導入到適用於 Android、iOS、macOS 和 Linux 的 AmneziaWG 或 Amnezia 應用程序,以及 Keenetic 和 OpenWrt 路由器。

隨時可以透過重複步驟 4.4–4.5(python3 awgcfg.py -a "name", 然後 awgcfg.py -c -q)並使用 systemctl restart [email protected]重啟介面來新增客戶端。

伺服器運行後,以下幾個習慣值得保持:

  • 保持系統補丁更新。定期重新運行 apt update -y && apt upgrade -y,並在核心升級後重啟,以便 DKMS 針對新核心重新建置 amneziawg 模組。
  • 請備份 ~/awg 目錄。該目錄的 awg0.conf 檔案中保存著每個客戶端的私鑰和伺服器本身的金鑰對;遺失該目錄意味著需要為每個裝置重新產生配置。
  • 立即撤銷遺失的設備。從 /etc/amnezia/amneziawg/awg0.conf 中移除對應的 [Peer] 區塊,然後執行 systemctl restart [email protected].

如果連線始終無法建立,請依照下列順序檢查:

  • 服務狀態(systemctl status) [email protected])
  • 防火牆規則(ufw 狀態 — 連接埠 42666/udp 必須開啟)
  • 如果介面甚至無法啟動,則檢查 DKMS/模組狀態(dkms status,lsmod | grep amnezia)
  • 伺服器上活躍對等節點的清單(awg show)
  • 客戶端配置指向正確的外部伺服器 IP 位址

在決定使用 AmneziaWG 之前,想將其與其他方案進行比較?請參閱「Linux 上的 VPN 伺服器設定:PPTP 還是 OpenVPN?」以及「如何在伺服器上設定 WireGuard VPN」。如果您只需要一個簡單的代理,而不是完整的 VPN 隧道,那麼在 CentOS/ArchLinux 上配置 3proxy是一個更輕量級的選擇。 VPN 上線後,如需加強伺服器安全,請參閱「Linux 使用者:管理與權限」。

❮ 上一篇文章 Hysteria2 和 TUIC 設定
下一篇文章❯ Xray VLESS Reality Guide:VPS、Windows、Mac、Android、iPhone

向我們諮詢有關 VPS 的問題

無論白天或黑夜,我們隨時準備好解答您的問題。