解決使用wsl2時,無法在別的電腦連結本機Linux子系統服務的問題
keywords:wsl2 端口重定向 ubuntu ssh localhost forwarding docker
我們在迫不及待的更新了win10和wsl2之後,突然發現wsl2不再是原來的網絡模式了,新的模式是nat模式,而不是原來的與win10共享模式。這給我們帶來了一點麻煩。最明顯的是我們原本可以在其他電腦上ssh到wsl裡(比如ubuntu)但是現在卻只能用腳本開發一個轉發器設置。但這個設置器問題也是很明顯的,需要轉發什麼端口,必須自己改程序明確說明。
而筆者另闢蹊徑,對wsl直接下手!
我們發現,實際上wsl有轉發端口,但是只監聽120.0.0.1(16進制7f000001)。
我們又發現,ubuntu等系統在監聽的時候運行的是wslhost.exe(在c:\windows\system32\lxss目錄中)故我們對此文件開刀!
>cd C:\Windows\System32\lxss\
>wsl -- xxd -g 1 -ps wslhost.exe > lgs.txt
>wsl -- vim lgs.txt
in vim:
/0100007f
~我們只需要改第一個符合條件的(一共有倆)
~就把這個改成00000000就行
:x
>wsl -- xxd -r -g 1 -ps lgs > wslh.exe
>wsl --shutdown
再修改一下wslhost.exe文件的權限,讓我們可以覆蓋他
>ren wslhost.exe wslold.exe
>ren wslh.exe wslhost.exe
OK~~~~~~~~
链接:https://pan.baidu.com/s/1IKvKSyXTm0CVsQv_027w6w
提取码:6iea
-------------------------------------------------
by Hawk Lin(好小爱新) 20200628