如今,VPN 和代理技術的需求日益增長。使用者利用它們來安全地存取網路、繞過審查以及抵禦外部威脅。連接到此類伺服器後,所有流量都會透過加密隧道傳輸,該伺服器就成為了您連接網路的網關。
像 OpenVPN 或 WireGuard 這樣的傳統協定在穩定的網路環境下表現良好,但在連線品質差、丟包率高的情況下(例如行動網路、公共 Wi-Fi、網路審查嚴格的國家),速度往往會下降。這時,像 Hysteria2 和 TUIC 這樣的現代協議就派上了用場。它們基於 QUIC 協定構建,能夠像普通的 HTTPS (HTTP/3) 一樣提供高速、低延遲和有效的流量混淆功能。
Hysteria2 採用「殘酷」演算法,能夠充分利用可用頻寬。 TUIC(版本 5)的特點是開銷極低、UDP 支援出色,且連線建立時間 (RTT) 為 0。
本文將介紹如何在 Ubuntu/Debian 上設定伺服器以及如何從 Windows 連線。
你需要準備:一台運行Ubuntu 22.04/24.04或Debian 12的VPS伺服器、root權限以及伺服器的IP位址。無需域名。
連接到服務器
Windows(PuTTY):開啟 PuTTY,輸入 YOUR_SERVER_IP 作為主機,22 作為端口,然後使用 VPS 提供者電子郵件中的密碼以 root 使用者身分登入。
Linux/macOS(終端機):
ssh root@YOUR_SERVER_IP
以下所有命令均在伺服器上的相同會話中執行。
伺服器準備(Ubuntu / Debian)
啟用IP轉送
這樣伺服器就可以將客戶端資料包轉送到網路上。
nano /etc/sysctl.conf
輸入或建立密碼(僅使用英文字母和數字,不含空格)。
找到並取消註解(刪除開頭的 # 號)或新增以下行:
net.ipv4.ip_forward=1
儲存檔案(Ctrl+O,Enter),然後退出(Ctrl+X)。無需重啟即可套用變更:
sysctl -p
NAT 設定(偽裝)
此設定允許客戶端使用伺服器的 IP 位址存取網際網路。
找出你的外部網路介面(連接網際網路的介面)的名稱:
ip link show
通常情況下,這是 eth0、ens3 或 enp1s0。複製或記住它,然後將偽裝規則添加到 iptables 中——將 eth0 替換為您自己的介面名稱:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
保存 iptables 規則
為防止伺服器重新啟動後規則被重置,需要保存這些規則。
apt update
apt install iptables-persistent -y
netfilter-persistent save
在安裝過程中,您可能會看到儲存目前 IPv4/IPv6 規則的提示——兩次都回答「是」。
防火牆設定(UFW)
我們立即打開所有需要的端口,這樣以後就無需再返回此步驟:22 用於 SSH(跳過此步驟會將您鎖定在伺服器之外),443/udp 用於 Hysteria2,8443/udp 用於 TUIC。
apt install ufw -y
ufw allow 22/tcp
ufw allow 443/udp
ufw allow 8443/udp
ufw --force enable
ufw status
ufw status 指令的輸出應該顯示所有三個規則都處於活動狀態。
Hysteria2
安裝 Hysteria2 伺服器
chmod +x hysteria-linux-amd64
mv hysteria-linux-amd64 /usr/local/bin/hysteria
hysteria version
確保版本輸出沒有錯誤—這可以確認二進位檔案運作正常。
建立自簽名 SSL 憑證
我們需要自己的加密金鑰來保護您的電腦和伺服器之間的通訊流量。由於我們沒有域名,我們將產生一個有效期為 365 天的自簽名憑證。因此,您稍後需要在用戶端啟用「跳過憑證驗證」。
mkdir -p /etc/hysteria
chmod 755 /etc/hysteria
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/hysteria/private.key \
-out /etc/hysteria/cert.crt \
-subj "/CN=YOUR_SERVER_IP"
ls -la /etc/hysteria/
cert.crt 和 private.key 都應該列出。
建立設定檔
nano /etc/hysteria/config.yaml
請貼上以下內容,並將 YOUR_PASSWORD 替換為您自己的密碼(僅限英文字母和數字,不含空格):
listen: :443
tls:
cert: /etc/hysteria/cert.crt
key: /etc/hysteria/private.key
auth:
type: password
password: "YOUR_PASSWORD"
masquerade:
type: proxy
proxy:
url: https://cloudflare.com
rewriteHost: true
偽裝模組可以讓伺服器看起來像一個普通的網站,當有人在瀏覽器中開啟其 IP 位址時,不會暴露代理的跡象。
儲存(Ctrl+O,Enter)並退出(Ctrl+X)。
設定自動啟動
nano /etc/systemd/system/hysteria.service
Hysteria2 自動啟動的 systemd 單元檔案。
[Unit]
Description=Hysteria2 Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/hysteria server --config /etc/hysteria/config.yaml
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now hysteria.service
systemctl status hysteria.service
狀態應顯示為「活動(正在運行)」。如果控制台卡在日誌視圖,請按 Q 鍵退出。
TUIC v5
下載並安裝TUIC
mkdir -p /usr/local/sbin/tuic
查看已發布的版本:
curl -s https://api.github.com/repos/tuic-protocol/tuic/releases | grep -Po '"tag_name": "\K[^"]*' | head -10
下載伺服器二進位檔案-將 1.0.0 替換為目前版本號:
wget https://github.com/tuic-protocol/tuic/releases/download/1.0.0/tuic-server-1.0.0-x86_64-unknown-linux-gnu \
-O /usr/local/sbin/tuic/tuic-server
chmod +x /usr/local/sbin/tuic/tuic-server
/usr/local/sbin/tuic/tuic-server --version
為TUIC建立自簽名證書
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /usr/local/sbin/tuic/privkey.pem \
-out /usr/local/sbin/tuic/fullchain.pem \
-subj "/CN=YOUR_SERVER_IP"
ls -la /usr/local/sbin/tuic/
產生 UUID
apt install uuid-runtime -y
uuidgen
複製生成的 UUID——您需要在下面的伺服器配置和客戶端設定中使用它。
建立設定檔
TUIC 伺服器的最終 config.json 檔案:
nano /usr/local/sbin/tuic/config.json
{
"server": "[::]:8443",
"users": {
"YOUR_UUID": "YOUR_TUIC_PASSWORD"
},
"certificate": "/usr/local/sbin/tuic/fullchain.pem",
"private_key": "/usr/local/sbin/tuic/privkey.pem",
"congestion_control": "bbr",
"alpn": ["h3"],
"log_level": "warn"
}
這裡我們使用 8443 端口,因為 443 端口已被 Hysteria2 佔用。請將 YOUR_UUID 替換為步驟 4.3 的值,並將 YOUR_TUIC_PASSWORD 替換為您自己的密碼。
儲存(Ctrl+O,Enter)並退出(Ctrl+X)。
測試手動啟動
/usr/local/sbin/tuic/tuic-server -c /usr/local/sbin/tuic/config.json
如果沒有出現錯誤,則配置有效。按 Ctrl+C 停止程序,然後繼續設定自動啟動。
設定自動啟動
nano /etc/systemd/system/tuic-server.service
[Unit]
Description=TUIC Server
After=network.target nss-lookup.target
[Service]
User=root
WorkingDirectory=/usr/local/sbin/tuic
ExecStart=/usr/local/sbin/tuic/tuic-server -c config.json
Restart=on-failure
RestartPreventExitStatus=1
RestartSec=5
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now tuic-server.service
systemctl status tuic-server.service
狀態應顯示為活動(運行中)。
現在,兩種最好、最快的現代協定正在伺服器上並行運行,它們都偽裝成常規的 QUIC/HTTPS 流量:Hysteria2 在標準連接埠 443/udp 上,TUIC v5 在連接埠 8443/udp 上。
從 Windows 連線
安裝 Hiddify
從官方網站 https://hiddify.com 下載並安裝 Windows 的 Hiddify。點擊“下一步”/“安裝”完成安裝程式。如果出現 Windows SmartScreen,請選擇「更多資訊」→「仍然運行」。
Hysteria2 簡介
點選「+(新設定檔)」→「手動輸入」→協定Hysteria2,並填寫:
|
場 |
價值 |
|
檔案名稱 |
我的 Hysteria2 伺服器 |
|
地址 |
您的伺服器IP |
|
港口 |
443 |
|
密碼: |
步驟 3.3 中的密碼 |
|
SNI |
您的伺服器IP |
|
跳過證書驗證 |
On |
需要啟用“跳過憑證驗證”,因為該憑證是自簽名憑證——它背後沒有受信任的憑證授權單位。
TUIC v5 設定文件
點選「+(新設定檔)」→「手動輸入」→協議TUIC,並填寫:
|
場 |
價值 |
|
檔案名稱 |
我的TUIC伺服器 |
|
地址 |
您的伺服器IP |
|
港口 |
8443 |
|
UUID |
步驟 4.3 中的 UUID |
|
密碼: |
步驟 4.4 中的密碼 |
|
擁塞控制 |
伯伯 |
|
SNI |
您的伺服器IP |
|
跳過證書驗證 |
On |
連接並驗證
選擇一個使用者配置文件,然後點擊大的圓形“連接”按鈕。狀態應該會變成「已連線」。
若要確認流量確實透過您的伺服器路由,請在瀏覽器中開啟任何 IP 查詢服務-顯示的位址應與 YOUR_SERVER_IP 相符。
結語
完成本指南後,您的伺服器上將並行運行兩種高速下一代協定:連接埠 443/UDP 上的 Hysteria2 和連接埠 8443/UDP 上的 TUIC v5。這兩種協定都將傳輸流量偽裝成標準的加密 QUIC 連線 (HTTP/3),即使在極不穩定的網路頻道上也能確保連線的穩定性。
設定好的設定檔不僅可以在 Windows 上使用,還可以匯入 Hiddify 的 Android 或 iOS 行動應用程式中,並進行類似的設定。
如果遇到連線問題,請先使用 `systemctl status hysteria.service`(或 `tuic-server.service`)指令檢查服務狀態,確保防火牆規則已啟用(`ufw status`),並仔細檢查 IP 位址、UUID 和密碼是否輸入正確。請注意:自簽名憑證的有效期限為 365 天,因此一年後需要使用相同的 `openssl req` 指令進行續約。