為什麼系統時間不正確會導致無法連線?

簡要說明

系統時間不準確可能導致我們提供的多種協定無法正常連線,原因有兩個。輕微的時間偏差通常不會有影響,只有當偏差超過下述容差範圍時才會出現問題。時區設定並不重要,關鍵在於您的時鐘在 UTC 標準下是否準確。

原因一:協定本身帶有時間戳記

  • VMess 會在驗證資訊中包含 UTC 時間戳記,用於讓伺服器拒絕重放請求。如果您的時鐘與伺服器相差超過約 120 秒,伺服器會判定該請求無效。
  • Shadowsocks 2022 同樣在請求標頭中攜帶時間戳記用於防重放,容差約為 30 秒,比 VMess 更為嚴格。

原因二:TLS 憑證有效期(影響大多數其他協定)

基於 TLS 的協定——包括 Hysteria2(執行於 QUIC + TLS)、AnyTLS、Trojan 以及基於 TLS 的 VLESS——通常會依據裝置時鐘驗證伺服器憑證及其有效期限。如果已啟用憑證驗證,且時鐘偏差過大導致憑證顯示為尚未生效已過期,交握會在任何流量傳輸之前直接失敗。若設定採用了其他驗證政策,則不受此限制。

這也是為什麼即使某些協定本身不含時間戳記,「校正時間」仍然能解決連線問題。

常見症狀

  • 用戶端顯示設定成功,但沒有任何流量通過。
  • 連線立即失敗,或所有節點均顯示不可用。
  • 用戶端記錄中出現憑證、交握或 "invalid user" 相關錯誤。

解決方法

  • Windows:設定 → 時間與語言 → 日期和時間 → 開啟自動設定時間。(自動設定時區雖然方便,但並不能修正時鐘偏差——真正重要的是 UTC 時間是否準確。)如需強制同步,請以系統管理員身分開啟命令提示字元並執行 w32tm /resync
  • macOS:系統設定 → 一般 → 日期與時間 → 開啟自動設定時間與日期
  • Android:設定 → 系統 → 日期和時間 → 開啟自動設定日期和時間
  • iOS:設定 → 一般 → 日期與時間 → 開啟自動設定

校正時間後,請重新啟動用戶端並重新連線。

  • 0 Users Found This Useful
這篇文章有幫助嗎?

相關文章

Firefox無法使用代理

Firefox 不一定會跟隨系統代理設定,因此可能出現其他程式都正常、只有 Firefox 無法上網的情況。 如果您使用 TUN 模式(VilaNet 在多數平台的預設模式)...

錯誤 "error: spawn unknown"

這個錯誤的全名是 "error: spawn unknown",它通常是由於 VS Code 無法找到所需的程序或腳本而引發的。   你可以嘗試以下步驟來解決這個錯誤:   1....

Windows端為什麼顯示配置成功還是無法上網

Windows端為什麼顯示配置成功還是無法上網   首先請檢查Windows時間是否正確。依協定不同,時鐘誤差達 30 秒~2 分鐘即可能導致無法連線,詳見為什麼系統時鐘不準確會導致 VPN...

Windows端無法啟動,提示v2rayN已停止運作怎麼辦?

如果出現 "v2rayN 已停止工作"   可能是Windows版本太老,需要安裝.NET Framework依賴包...

好像發生了未知錯誤 Error: Command failed sysproxy.exe

請檢查安裝目錄,目錄不得有任何空格/中文等奇怪字符(包括你的用戶名),否則會出錯   注意默認目錄中的\Program Files\中間包含一個空格...