找回密碼
 立即註冊
    查看: 3|回覆: 0

    WireGuard 連不上?照這個順序查,九成的問題在前三步

    [複製鏈接]

    !lvup!   100%

    383

    主題

    27

    回帖

    2200萬

    積分

    管理員

    積分
    22005836
    發表於 1 小時前 | 顯示全部樓層 |閱讀模式
    WireGuard 的除錯跟別的 VPN 不一樣 —— 它幾乎不會給你錯誤訊息,連不上就是安靜地沒反應。

    所以只能照順序排除。這篇是一份速查表。

    WireGuard 的除錯跟別的 VPN 不一樣 —— 它幾乎不會給你錯誤訊息,連不上就是安靜地沒反應。

    第零步:先看有沒有交握

    這一步決定了後面要查哪裡:
    1. # Linux / 容器裡
    2. sudo wg show
    3. # RouterOS
    4. /interface/wireguard/peers print detail
    複製代碼

    看 latest handshake(RouterOS 是 last-handshake):


    • 完全沒有這一行,或是空的 → 從來沒連上過,往下看「沒有交握」
    • 有時間、但很久以前 → 曾經通過,現在斷了,多半是 NAT 逾時(看 PersistentKeepalive)
    • 有時間、幾秒前 → 隧道是通的,問題在路由或 DNS,跳到「有交握但不通」


    情況一:沒有交握

    1. 你在家裡測嗎

    人在家裡連自家 Wi-Fi 測 VPN,多數路由器不支援 NAT 回流,本來就連不上。

    關掉 Wi-Fi 用行動網路再測一次。 這一項解決的案例比其他全部加起來還多。

    2. 對外埠真的開了嗎

    從外面(用手機行動網路)測:
    1. # Windows
    2. Test-NetConnection -ComputerName 你的對外IP -Port 51820 -InformationLevel Detailed
    3. # Mac / Linux(WireGuard 是 UDP,一般的 nc 測不準,用 nmap)
    4. sudo nmap -sU -p 51820 你的對外IP
    複製代碼

    UDP 不像 TCP 會回應,所以測起來常常是 open|filtered,不太準。比較可靠的做法是直接看伺服器端有沒有收到封包:
    1. # 在伺服器上開著,然後用手機嘗試連線
    2. sudo tcpdump -ni any udp port 51820
    複製代碼

    以下還有約 61% 的內容
    登入後即可閱讀完整教學

    登入繼續閱讀使用 Google 登入
    您需要登入後纔可以回帖 登入 | 立即註冊

    本版積分規則

    延伸閱讀

    加入惟家 LINE 群 QR Code加入惟家 LINE 群

    Archiver|手機版|惟家的智能論壇

    GMT+8, 2026-9-25 02:52 , Processed in 0.118524 second(s), 24 queries .

    快速回覆 返回頂部 返回列表