前言:####如有出錯(cuò)還請(qǐng)幫忙指出
在windows2023年9月的一次更新中,wsl2支持了新的網(wǎng)絡(luò)模式鏡像模式,他能夠通過localhost地址從wsl2內(nèi)部連接到windows的127.0.0.1地址
##相當(dāng)于是和本地主機(jī)擁有同一個(gè)ip
原wsl2是不支持的,雖說是net網(wǎng)絡(luò)模式,可訪問主機(jī),主機(jī)也可訪問wsl2,同時(shí)也可上網(wǎng),但是不能被網(wǎng)絡(luò)訪問,如果要做反彈shell這一類的就沒有辦法,而鏡像網(wǎng)絡(luò)就解決了這個(gè)問題。
更新到WSL2 2.0往上的版本
- 首先需要有win11 23H2或更高版本的系統(tǒng)
- 安裝了wsl2先前的版本
如果滿足以上要求則可以更新到最新版
- 以管理員打開windows命令指示符或者是powershell
- 運(yùn)行命令 wsl --update --pre-release
這里我使用的是docker的命令行版本
更新好了以后不會(huì)自動(dòng)開啟鏡像網(wǎng)絡(luò),需要在“c:\users\用戶名\”此路徑下創(chuàng)建一個(gè).wslconfig文件,在文件里添加以下參數(shù)
[experimental]
networkingMode=mirrored # 開啟鏡像網(wǎng)絡(luò)模式
hostAddressLoopback=true # 可以通過ip訪問
這里是一些其他的參數(shù),需要可自行修改
做完這些以后就開啟了鏡像網(wǎng)絡(luò)模式了,但是這樣做了以后就訪問不了docker的容器了,原因是docker采用了iptable來轉(zhuǎn)發(fā)端口
####需要了解iptable的作用可以去看這篇博文因?yàn)橐宒ocker可以訪問需要禁用iptable
iptables詳解及docker的iptables規(guī)則_docker iptables-CSDN博客
最后在/etc/docker/daemon.json(一般默認(rèn)在這里)文件里添加,沒有的話就創(chuàng)建一個(gè)daemon.json文件
{
"iptables": false
}
最后docker在創(chuàng)建容器的時(shí)候映射端口需要改一下
例如:文章來源:http://www.zghlxwxcb.cn/news/detail-852874.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-852874.html
如果的是docker桌面版
- 方法1:
可以直接升級(jí)到最新版,已經(jīng)修復(fù)了可以支持鏡像網(wǎng)絡(luò) - 方法2:
在.wslconfig里添加?ignoredPorts 來設(shè)置你需要訪問的應(yīng)用的端口
例如:
ignoredPorts=9999,8888
到了這里,關(guān)于這里做一篇關(guān)于wsl2更新到最新版本使用鏡像網(wǎng)絡(luò),但是docker創(chuàng)建的容器不能被訪問的問題(困擾了我一整天)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!