338 words
2 minutes
WSL2 Unable to Connect to External Network

Background#

當天發生的問題,與追尋問題原因的步驟如下

  1. 在跑 Python 專案時,pip install . 失敗,錯誤顯示無法從 pypi.python.org/simple 找到相應套件
  2. 前往 pypi.python.org/simple,發現網站有我要下載的套件連結
  3. 確認該套件的下載失敗,不是因為對 Python Library 以外的相關依賴尚未在本機中下載而失敗
  4. 確認 WSL2 連網是否正確,ping google.com 結果發現建立連線失敗
  5. 使用更新指令 sudo apt update,從映像源更新也失敗

因此確認是 WSL2 對外聯網的問題。

Solution#

先執行以下命令,再重啟電腦後,這時進入 WSL2 應該可以正常運作。

wsl --shutdown
netsh winsock reset
netsh int ip reset

指令說明#

Network Shell (netsh) Windows Sockets (Winsock)

  • Winsock 目錄是一個儲存網路相關設定的資料庫,包含應用程式如何與網路通訊的配置資訊
  • 當網路連線出現問題(例如無法上網、連線不穩定或特定應用程式無法存取網路),可能是 Winsock 設定被惡意軟體、錯誤的網路軟體安裝或其他因素損壞所致

netsh winsock reset 重置 Windows Sockets(Winsock)的設定。

Network Shell (netsh) Interface (int) IP

netsh int ip reset 重置 TCP/IP(傳輸控制協議/網際協議)堆疊的配置,將其恢復到預設狀態。

WSL2 Unable to Connect to External Network
https://nu1lspaxe.github.io/posts/20250316/
Author
nu1lspaxe
Published at
2025-03-16