基本配置參考MIT6.S081 Ubuntu22.04 WSL2實驗環境配置,wsl安裝配置參考本欄的另一篇文章WSL2(ubuntu20.04)+vscode聯合開發(附遷移方法)
如執行:
git clone git://github.com/mit-pdos/xv6-riscv.git
出現錯誤,或者無法clone情況,可以掛一個代理,然后按如下方法修改網絡配置,使主機Windows的代理鏡像到WSL
1.獲取 Windows 主機在 WSL 中的 IP:
在WSL執行:
ip route show default | awk '/default/ {print $3}'
輸出WIN_IP(通常是 172.x.x.x 或 192.168.x.x,比如 172.22.1.1)
2.確認 Windows 代理如clash允許 “局域網訪問”
3.驗證代理端口:
在 Windows 中打開「命令提示符(CMD)」,執行 netstat -ano | findstr “代理端口”(比如代理端口是 7890,就執行 netstat -ano | findstr “7890”),確認輸出中包含 0.0.0.0:7890(而非僅 127.0.0.1:7890),說明局域網訪問已開啟。
4.網絡配置修改:
①臨時修改方案:
在WSL輸入:
# 1. 配置 HTTP 代理
export HTTP_PROXY=http://WIN_IP:代理端口
export http_proxy=http://WIN_IP:代理端口# 2. 配置 HTTPS 代理(大部分工具需要這個)
export HTTPS_PROXY=http://WIN_IP:代理端口
export https_proxy=http://WIN_IP:代理端口
WIN_IP是第一步獲取的,代理端口在clash查看.
然后執行:ping https://www.google.com 有輸出即成功.
②永久配置(所有終端生效):
如果需要每次打開 WSL 都自動生效,可將代理配置寫入 WSL 的 shell 配置文件(根據你的 shell 選擇,比如 bash 用 .bashrc,zsh 用 .zshrc):
# bash 用戶(默認)
nano ~/.bashrc# zsh 用戶(如果用 zsh)
nano ~/.zshrc
然后在文件末尾添加以下內容(替換 WIN_IP 和 代理端口):
# WSL 代理配置(替換為你的 WIN_IP 和代理端口)
export WIN_IP=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}')
export HTTP_PROXY=http://$WIN_IP:7890
export http_proxy=$HTTP_PROXY
export HTTPS_PROXY=http://$WIN_IP:7890
export https_proxy=$HTTPS_PROXY
# export ALL_PROXY=socks5://$WIN_IP:7890 # 如需 SOCKS5 則取消注釋
保存并生效配置:
# bash 用戶
source ~/.bashrc# zsh 用戶
source ~/.zshrc
結成功clone:
祝賀!