- I-WSL2 isebenzisa umshini obonakalayo onenethiwekhi yawo, olungisekayo nge-NAT noma izindlela ezibukwayo futhi olawulwa yi-Hyper-V.
- Inhlanganisela ye-wsl.conf kanye ne-.wslconfig ikuvumela ukuthi ulungise konke kusukela ku-automounts kanye ne-systemd kuya kumemori, ama-CPU, kanye nezinqubomgomo zenethiwekhi.
- Izici ezifana ne-dnsTunneling, i-autoProxy, kanye ne-Hyper-V firewall zithuthukisa ukuhlanganiswa nama-VPN, ama-proxies, kanye nokuphepha ku-Windows 11.
- Ngokucushwa ngokucophelela, i-WSL2 iba yipulatifomu eqinile yokuthuthukiswa, izitsha, kanye nokuzisingatha okuvikelekile.

I-WSL2 ishintshe ngokuphelele indlela iLinux ehlangana ngayo neWindowsIkakhulukazi kukho konke okuhlobene nenethiwekhi: manje sinomshini obonakalayo olula one-network stack yawo, ikheli lawo le-IP, kanye nemithetho yokufinyelela ehlukile. Lokhu kuvula amathuba amaningi okuthuthukisa, ukuhlola, ama-container, kanye nezindawo ezizibambayo, kodwa futhi kuphakamisa ukukhathazeka lapho izinsizakalo zingafinyeleleki, njengoba kwenzekile nge-WSL1.
Ukuqonda ukucushwa kwenethiwekhi ye-WSL2, i-NAT yayo kanye nezindlela ezibukwayo, ukusetshenziswa kwe-.wslconfig kanye ne-wsl.conf, kanye nendlela ezisebenzisana ngayo nama-firewall, ama-VPN, ama-Docker, noma amathuluzi afana ne-Tailscale Lokhu kuyisihluthulelo sokugwema izinhlungu zekhanda. Ake sibone isinyathelo ngesinyathelo ukuthi lokhu kusethwa konke kusebenza kanjani, ukuthi ungaveza kanjani izinsizakalo ku-Windows naku-LAN, ukuthi yimiphi imiyalo okufanele uyisebenzise ukuthola ama-IP afanele, nokuthi yiziphi izinketho zokucushwa ezithuthukisiwe onazo ukuze ulungise indawo yakho, uyenze izinze futhi, ngaphezu kwakho konke, ivikeleke.
Indlela inethiwekhi esebenza ngayo ngempela ku-WSL2
I-WSL2 ayisabelani nge-host network stack njenge-WSL1Kunalokho, isebenzisa ukusatshalaliswa kwe-Linux ngakunye ngaphakathi komshini omncane obonakalayo ophethwe yi-Hyper-V. Leyo VM ine-adaptha yayo ebonakalayo (ngokuvamile eth0) kanye nekheli le-IP eliyimfihlo elinikezwe yi-switch yangaphakathi ebonakalayo.
Kumodi yayo ezenzakalelayo, i-WSL2 isebenzisa ukwakheka okusekelwe ku-NAT (Ukuhumusha Ikheli Lenethiwekhi). I-Windows isebenza njenge-router/host, kanti ukusatshalaliswa kwe-Linux kuhlala ku-subnet yangasese, ngokuvamile ngaphakathi kwebanga. 172.16.0.0/12Le subnet ingashintsha ngemva kokuqalisa kabusha noma ukuqala kabusha kwe-WSL, into eye yabangela abantu abangaphezu koyedwa ukuba bahlanye lapho kulungiswa imithetho ye-firewall engaguquki.
Ngokombono ongokoqobo, lokhu kusho ukuthi ikheli le-IP le-distro yakho ye-WSL2 alizinzile futhi alitholakali ngqo kusuka ku-LAN. Njengoba kunjalo nge-WSL1: ngokuzenzakalelayo, kukhona ukuxhumana phakathi kwe-Windows ne-WSL2 kuphela ngemithetho yokuqondisa kabusha kanye ne-NAT, futhi ukuchayeka kunethiwekhi yendawo kudinga izinyathelo ezengeziwe noma ukusetshenziswa kwemodi ebonisiwe.
Ngaphezu kwalolu hlaka lwesakhiwo, i-Windows 11 22H2 kanye nezinguqulo zakamuva zengeza amakhono amasha okuxhumana. (imodi ebonisiwe, i-dnsTunneling, i-autoProxy, i-Hyper-V firewall, njll.) ezilawulwa kusukela kufayela lomhlaba wonke .wslconfigkuyilapho izinketho ezithile ngaphakathi kwe-Linux ziphathwa nge /etc/wsl.conf.
Thola amakheli e-IP ku-WSL2
Ukusebenza ne-WSL2 kuhilela ukuhlukanisa ngokucacile phakathi kwezimo ezimbili ze-IP: uma udinga ikheli le-IP lokusatshalaliswa kwe-Linux futhi uma udinga ikheli le-IP le-Windows host elibukwa kusuka ku-Linux. Ngayinye ixazululwa ngomyalo ohlukile.
Isimo 1: Ukusuka ku-Windows ufuna ukwazi ikheli le-IP le-WSL2 distro Ukuvumela uhlelo lokusebenza ku-host (isibonelo, iklayenti, isiphequluli, noma ithuluzi lokuhlola) ukuthi luxhumeke kusevisi esebenza ngaphakathi kwe-Linux. Ukuze wenze lokhu, ungasebenzisa imiyalo elandelayo ku-Windows (usebenzisa i-CMD noma i-PowerShell):
wsl.exe --distribution <DistroName> hostname -i
Uma ufuna ukusebenzisa i-distro ezenzakalelayo, ungashiya ipharamitha yokusabalalisa. bese umane ushayele ucingo wsl.exe hostname -iNgemuva, lo myalo uqala ku-Linux hostname --ip-addresses bese ibuyisela ikheli le-IP lesibonelo. Umphumela ojwayelekile ungase ubukeke kanje:
172.30.98.229
Isimo 2: Kusukela ku-distro ye-Linux udinga ukwazi ikheli le-IP le-Windows hostIsibonelo, ukuxhuma uhlelo lokusebenza lwe-WSL2 kuseva esebenza ngokwendabuko ku-Windows (Node.js, SQL Server, Caddy, njll.). Ngaphakathi kwegobolondo le-Linux, ungasebenzisa:
ip route show | grep -i default | awk '{ print $3 }'
Okukhiphayo kuzoba yisango elizenzakalelayo le-WSL2 VM, okuhambisana nekheli le-IP le-Windows host njengoba libonakala ku-Linux, into efana nalokhu:
172.30.96.1
Lelo nani (isibonelo, 172.30.96.1) ikheli okufanele likhonjwe amaklayenti akho e-Linux uma ufuna ukufinyelela izinsizakalo ezisebenza ku-Windows host ngenkathi usemodi ye-NAT yakudala.
Imodi ye-NAT: ukuziphatha okuzenzakalelayo kwenethiwekhi ye-WSL2
Ngaphandle kwebhokisi, i-WSL2 isebenza ngemodi ye-NAT, futhi ezindaweni eziningi zokuthuthukiswa ezilula, lokhu kwanele.Into ebalulekile ukuqonda ukuthi yini esebenza "yodwa" nokuthi yini engasebenzi, ukuze ungachithi isikhathi uxosha izipoki.
Ukufinyelela izinsizakalo ze-Linux kusuka ku-Windows usebenzisa i-localhostUma usebenzisa uhlelo lokusebenza lwenethiwekhi (isibonelo, iseva ye-Node.js, iseva ye-Flask, iseva ye-SQL ku-Linux) ku-distro yakho ye-WSL2, ungayifinyelela kusuka ku-Windows usebenzisa localhost:puertoI-Windows ithumela ngokuzenzakalelayo ukuxhumana okungenayo ekhelini le-IP langaphakathi le-WSL2 VM.
Ukufinyelela izinsizakalo ezisebenza ku-Windows kusuka ku-LinuxNakhu lapho izinto zishintsha khona. Ukuze ufinyelele uhlelo lokusebenza lwenethiwekhi ku-host (njengeseva ye-Node.js, i-SQL Server, noma i-Caddy ku-Windows) kusuka ku-WSL2, kufanele usebenzise ikheli le-IP le-host njengoba libonakala ku-Linux, elitholwe ngomyalo wendlela ozenzakalelayo:
ip route show | grep -i default | awk '{ print $3 }'
Ngalelo kheli le-IP ungaxhuma kusuka ku-Linux kunoma iyiphi isevisi ku-host, Ngokwesibonelo http://172.30.96.1:3000 uma iseva yakho ye-Windows ilalela ku-port 3000 kuzo zonke izixhumi ezibonakalayo.
Uma uxhuma usebenzisa ama-IP akude (hhayi ama-localhost), izinhlelo zokusebenza ziwabona njengokuxhumeka kwe-LAN.Lokhu kusho ukuthi amaseva amaningi kumele alungiselelwe ukulalela kuwo 0.0.0.0 esikhundleni 127.0.0.1Isibonelo, nge-Flask ungaqala:
app.run(host='0.0.0.0')
Lolu shintsho luthuthukisa ukufinyeleleka kodwa ludinga ukugxila ekuphepheni.ngoba uvumela ukuxhumana kusuka kunethiwekhi yakho yendawo, hhayi kusuka kukhompyutha uqobo.
Ukufinyelela i-WSL2 kusuka kunethiwekhi yendawo (i-LAN) usebenzisa i-NAT
Enye yezinguquko ezicasula kakhulu lapho ushintsha kusuka ku-WSL1 kuya ku-WSL2 ukuthi ukusatshalaliswa akusatholakali ngqo kusuka ku-LANKu-WSL1, uma i-Windows yakho ibonakala kunethiwekhi, izinsizakalo ze-distro zazuza lokho kuvezwa cishe kalula.
Ku-WSL2, i-VM inekheli layo le-IP eliyimfihlo futhi ayikhangiswa ngokuzenzakalelayo ku-LAN.Ukuze ufeze into efana nokuziphatha okudala, kumodi ye-NAT kufanele udale i-port proxy ku-Windows, njengoba ubungenza nganoma yimuphi umshini obonakalayo we-Hyper-V.
I-Windows ifaka ithuluzi elidala lalokhu: netsh interface portproxyUmyalo ojwayelekile wokuqondisa kabusha imbobo yokusingatha ku-IP/port ye-WSL2 uzoba:
netsh interface portproxy add v4tov4 listenport=<puertoHost> listenaddress=0.0.0.0 connectport=<puertoWSL> connectaddress=(wsl hostname -I)
Empeleni, ubungabeka amamaki esikhundleni samanani athile., isibonelo:
netsh interface portproxy add v4tov4 listenport=4000 listenaddress=0.0.0.0 connectport=4000 connectaddress=192.168.101.100
Lapha listenaddress=0.0.0.0 Lokhu kusho ukuthi iWindows izolalela kuwo wonke amakheli e-IPv4 ehostela.futhi ngizothumela lokho okungena nge-port 4000 ku- 192.168.101.100:4000okungaba ikheli le-IP le-WSL2 elitholwe nge:
wsl hostname -IIkunikeza ikheli le-IP le-distro ye-Linux ngaphakathi kwe-WSL2 VMcat /etc/resolv.confIveza ikheli le-IP le-host ye-Windows Vista kusuka ku-WSL2.
Ngale ndlela ungenza isevisi esebenza ku-WSL2 itholakale kunoma iyiphi ikhompyutha eku-LANuma nje i-Windows firewall ivumela lokho futhi ucacile ukuthi udalula isevisi ye-VM, hhayi i-host ngqo.
I-IPv6 nezici zokuxhumana zesimanje
I-WSL2 ingasebenza futhi ne-IPv6, okuyinto ebaluleke kakhulu ezindaweni zanamuhla, ama-VPN, kanye namanethiwekhi ezinkampani.Ukuze kusingathwe amakheli, imiyalo eyisisekelo ku-Linux ilingana naleyo ye-IPv4:
wsl hostname -iKusukela ku-Windows ukuze ubuke ikheli le-IP lokusatshalaliswa kwe-WSL2ip route show | grep -i default | awk '{ print $3 }'kusuka ku-Linux ukuthola ikheli le-IP le-Windows host
Lapho ukwenyuka kwekhwalithi ekusekelweni kwe-IPv6 ne-VPN kubonakala khona ngempela kumodi yenethiwekhi esibukweni, itholakala ku-Windows 11 22H2 kanye nezinguqulo zakamuva, esizozibona ngokuningiliziwe kamuva.
Imodi yenethiwekhi ebonisiwe: ukulingisa izixhumi ze-Windows ku-Linux
Kumakhompyutha ane-Windows 11 22H2 noma ngaphezulu, ungavumela imodi yenethiwekhi "ebonisiwe". Ku-WSL2, imodeli ishintsha ngokuphelele: esikhundleni se-NAT yakudala, i-Linux "ibona" izixhumanisi zenethiwekhi ye-Windows eziboniswayo.
Ukuze uyinike amandla, udinga ukuhlela ifayela .wslconfig yomsebenzisi wakho, engena %UserProfile%\.wslconfigKusuka ku-PowerShell enamalungelo okuphatha, ungayivula nge:
notepad $env:USERPROFILE\.wslconfig
Ngaphakathi, engeza (noma shintsha) isigaba se-[wsl2] ukuze usebenzise imodi yesibuko:
[wsl2]
networkingMode=mirrored
Uma ifayela seligciniwe, udinga ukuqala kabusha i-WSL2 ukuze lisebenze.Isibonelo, nge:
wsl --shutdown
Uma uyiqala kabusha, i-WSL izosebenzisa ukwakheka kwenethiwekhi okusha okubonakalayo.okuletha izinzuzo eziningana ezinamandla kakhulu:
- Ukusekelwa kwe-IPv6 yemvelo kanye nokuhlanganiswa okuthuthukisiwe namanethiwekhi ezinkampani kanye nama-VPN
- Ikhono lokuxhuma kumasevisi e-Windows kusuka ku-Linux usebenzisa
127.0.0.1ngqo (nakuba kungavunyelwe)::1(njenge-IPv6 loopback yalokhu) - Ukusekelwa okuthuthukisiwe kwe-multicast ngaphakathi kokuhlanganiswa kwe-Windows-Linux
- Ukufinyelela ngqo ku-WSL kusuka ku-LAN ngaphandle kokudinga i-netsh portproxyusebenzisa ikheli le-IP lomshini we-Windows uqobo
Ukunika amandla le modi kuxazulula izinkinga eziningi ze-WSL2 NAT zakudala futhi kuyindlela enconywayo ezindaweni eziningi zesimanje zokuthuthukiswa kanye nokuzisingatha lapho ungasebenzisa khona inguqulo ebuyekeziwe ye-Windows 11.
Ukufakwa kwe-DNS kanye nokusetshenziswa kwama-proxies ku-WSL2
Ku-Windows 11 22H2 kanye nezinguqulo zakamuva, ukulungiswa kwamagama okuvela ku-WSL2 nakho kuthole ukulungiswa okukhulu.Isihluthulelo sisezindleleni ezimbili zokusebenza ezichazwe ku .wslconfig: dnsTunneling y autoProxy.
Okukhethwa kukho dnsTunneling Ivulwa ngokuzenzakalelayo esigabeni se-[wsl2]. Lokhu kuvumela izicelo ze-Linux DNS ukuthi ziphathwe ngesici se-virtualization, kunokuba zithunyelwe njengamaphakethe enethiwekhi avamile. Lokhu kuthuthukisa kakhulu ukuhambisana nama-VPN kanye nokucushwa kwenethiwekhi okuyinkimbinkimbi ku-host.
Ngakolunye uhlangothi, autoProxy=true iphoqa i-WSL ukuthi isebenzise izilungiselelo ze-proxy ze-Windows HTTPUma i-host isekela i-proxy yenkampani noma yezokuphepha, i-WSL2 iyizuza ngokuzenzakalelayo ngaphandle kokuthi ulwe neziguquguquko zemvelo ngesandla.
Ungaba nento efana nalena ekhanda lakho .wslconfig:
[wsl2]
dnsTunneling=true
autoProxy=true
Lokhu kuqinisekisa ukuthi inethiwekhi ye-WSL2 iziphatha ngendlela efanayo nokucushwa kwe-host., ikakhulukazi ezinkampanini ezinezinqubomgomo eziqinile zenethiwekhi kanye nokuhlunga.
I-Hyper-V Firewall kanye nokuvezwa kwesevisi evikelekile
Ezindaweni zanamuhla, inethiwekhi ye-WSL2 idlula nasocingweni lokuvikela olukhethekile.Kusukela ku-WSL 2.0.9 ku-Windows 11 22H2, isici se-firewall se-Hyper-V sivulwa ngokuzenzakalelayo, sengeza ungqimba olwengeziwe lokuhlunga ithrafikhi ye-VM (kufaka phakathi ithrafikhi ye-WSL2).
Uma usebenza kwimodi yesibuko futhi ufuna ukudalula unomphela izinsizakalo ze-WSL2 ku-LAN (isibonelo, ama-API, amadeshibhodi noma izinsizakalo zokuzisingatha), udinga ukuqinisekisa ukuthi imithetho yomlilo iyakuvumela lokho.
Indlela enengqondo evela ku-PowerShell enamalungelo okuphatha ukudala umthetho we-Hyper-V wamanethiwekhi azimele:
New-NetFirewallHyperVRule -DisplayName "WSLPrivateInboundRule" -Profiles Private -Direction Inbound -Action Allow -VMCreatorId ((Get-NetFirewallHyperVVMCreator).VMCreatorId)
Uma nganoma yisiphi isizathu ufuna ukukhubaza lokho kuvikelwa kwe-Hyper-V (okuthile okunganconywa kakhulu), ungasebenzisa:
Set-NetFirewallHyperVVMSetting -Name ((Get-NetFirewallHyperVVMCreator).VMCreatorId) -Enabled False
Umqondo uwukugcina i-firewall isebenza noma nini lapho kungenzeka.ukukhawulela imithetho kumanethiwekhi azimele kanye namachweba owadingayo ngempela, kanye nokugcina noma yikuphi ukuvala ukusebenza okukhulu njengesixazululo sokugcina futhi njalo ngenhloso yokuqinisa ukucushwa futhi ngokushesha nje lapho konke kusebenza.
Ukwakhiwa kwenethiwekhi ye-WSL2, ububanzi be-X11 kanye ne-172.16.0.0/12
Icala elidala eliveza imininingwane yenethiwekhi ye-WSL2 ukusetshenziswa kwezinhlelo zokusebenza zesithombe nge-X11Isibonelo, ukuqalisa i-Xming ku-Windows nokuthumela izinhlelo zokusebenza ze-Linux nge-DISPLAY.
Uma uthuthukisa kusuka ku-WSL1 kuya ku-WSL2, abasebenzisi abaningi bathola ukuthi i-X iyayeka ukusebenza. ngoba inethiwekhi ayibe isabelwana ngayo futhi iba inethiwekhi ye-NAT ebonakalayo enamabanga afana nalawa 172.16.0.0/12okungashintsha futhi ngemva kokuqala kabusha kweWindows noma i-WSL.
Ukuze i-X isebenze futhi nge-Xming evela ku-WSL2, icebo elivamile ukuthola ikheli le-IP le-Windows elibonwa yi-Linux. usebenzisa:
i-ens
DISPLAY=$(grep nameserver /etc/resolv.conf | cut -d' ' -f2):0
Ngesikhathi esifanayo, kuyadingeka ukulungisa i-Windows firewall ukuze kuvunyelwe ithrafikhi ye-X11 evela kuleyo subnet ye-NAT.Indlela ejwayelekile ukuhlela umthetho we-Xming ngokungeza ububanzi 172.16.0.0/12 ku-TCP+UDP 6000.
Abaningi bagcina bekhubaza ukuqinisekiswa kwe-Xming ngenketho -acLokhu "kuvula umnyango" ngempumelelo kunoma yiliphi iklayenti X elifika livela kuleyo nethiwekhi. Kuyasebenza, kodwa ngokombono wokuphepha kuyangabazeka impela, ngakho-ke kufanelekile ukucabangela izixazululo ezilinganiselwe kakhulu noma ukusebenzisa i-WSLg (izinhlelo zokusebenza ze-GUI ezihlanganisiwe) ku-Windows 11.
i-wsl.conf kanye ne-.wslconfig: ukucushwa kwe-WSL2 okuthuthukisiwe
I-WSL inikeza amafayela amabili okhiye wokucushwa alawula kokubili ukuziphatha kwe-VM kanye nokwabiwa ngakunye.: /etc/wsl.conf (nge-distro) kanye %UserProfile%\.wslconfig (umhlaba wonke kuwo wonke ama-distro e-WSL2).
wsl.conf ihlala ngaphakathi kokusatshalaliswa kwe-Linux, ku /etc/wsl.confIsetshenziselwa ukumisa izinketho zasendaweni zaleyo distro: ukukhweza okuzenzakalelayo, ukukhiqizwa kwe hosts y resolv.confukusebenzisana neWindows, umsebenzisi ozenzakalelayo, i-systemd, njll.
.wslconfig Ilondolozwa ngaphandle kwe-Linux, kuphrofayela yomsebenzisi we-Windows. (C:\Users\<Usuario>\.wslconfig) futhi ilawula amapharamitha omhlaba wonke e-VM anika amandla i-WSL2: inkumbulo, ama-CPU, i-kernel, imodi yenethiwekhi, i-firewall, i-DNS, usayizi wediski ebonakalayo, ukwesekwa kwe-GUI, njll.
Enye imininingwane exakile "umthetho wemizuzwana engu-8" lapho ushintsha izilungiselelo.Uma ushintsha noma yiliphi lala mafayela, kufanele uqinisekise ukuthi i-WSL VM ivaliwe ngokuphelele. Ngisho noma uvala iwindi le-distro, lingahlala kumemori imizuzwana embalwa.
Ukuze uphoqe ukuqala kabusha uhlelo olungaphansi ungasebenzisa:
wsl --list --runningukuhlola ukuthi kukhona yini ama-distro asebenzayowsl --shutdownukuvala konke ukusatshalaliswa ngesikhathi esisodwawsl --terminate <distroName>ukumisa ukusabalala okuthile
Izinguquko zokucushwa zisebenza kuphela uma i-WSL ivaliwe futhi iqala kabusha.Into abaningi abayinaki futhi bacabange ukuthi ukulungiswa kwayo "akusebenzi".
Izinketho eziyinhloko ze-wsl.conf ngesigaba
Ifayela wsl.conf Iphefumulelwe yifomethi yakudala ye-.ini, enezigaba nezinkinobhoIzingxenye eziyinhloko yilezi [automount], [network], [interop], [user], [boot], [gpu] y [time].
En [automount] Ulawula ukuthi amadrayivu e-Windows afakwa kanjani ngaphakathi kwe-Linux (ngokuvamile iphansi) /mnt):
enabled(bool, okuzenzakalelayo kuyiqiniso)Uma kuyiqiniso, i-C:/, D:/, njll. ifakwe ngokuzenzakalelayo ku-/mnt/c,/mnt/d...mountFsTab(i-bool): uma kuyiqiniso, kuyacutshungulwa/etc/fstablapho uqala i-distro.root(uchungechunge): umkhombandlela wempande lapho amadrayivu azofakwa khona, isibonelo/windir/ukuba/windir/c.options(uhlu oluhlukaniswe ngamakhoma): Amapharamitha aqondene ne-DrvFs afana nalawametadata,uid,gid,umask,fmask,dmaskocase.
I-DrvFs uhlelo lwamafayela oluhlanganisa iWindows neLinux., eklanyelwe ukufinyelela i-NTFS kusuka ku-WSL ngokulawula imvume, imethadatha kanye nokuzwela kwecala.
Esigabeni [network] Ulungisa ukukhiqizwa okuzenzakalelayo kwamafayela enethiwekhi:
generateHostsUma kuyiqiniso, i-WSL ikhiqiza ngokuzenzakalelayo/etc/hosts.generateResolvConfUma kuyiqiniso, i-WSL iyadala/etc/resolv.confnge-DNS yakudala.hostname: igama lomphathi elizosetshenziswa ukusatshalaliswa.
Isigaba [interop] ilawula ukusebenzisana ne-Windows:
enabled: Inika amandla noma ikhubaza ikhono lokuqalisa izinqubo ze-Windows kusuka ku-WSL.appendWindowsPath: inquma ukuthi izofaka yini izindlela ze-Windows ku$PATHI-Linux.
En [user] Ungacacisa umsebenzisi ozosetshenziswa ngokuzenzakalelayo lapho uqala i-distro:
default: igama lomsebenzisi elizoqalwa ngokuzenzakalelayo ku-WSL.
Isigaba [boot] Iwusizo kakhulu ku-Windows 11 kanye ne-Server 2022 ukuqalisa ngokuzenzakalelayo izinsizakalo, njenge-Docker ngaphakathi kwe-WSL:
command: umyalo wentambo okufanele uwusebenzise lapho uqala i-WSL, isiboneloservice docker start.protectBinfmt: ivikela ukukhiqizwa kwamayunithi e-systemd lapho i-systemd ivuliwe.
Futhi unezigaba ezifana [gpu] (vumela ukufinyelela ku-Windows GPU kusuka ku-Linux), kanye [time] ukuvumelanisa indawo yesikhathi ne-WindowsLokhu kuvimbela izinkinga uma ushintshela ehlobo noma ohambweni.
.wslconfig: Ukulawulwa komshini okubonakalayo kwe-WSL2
Nakuba i-wsl.conf ilungisa ukuziphatha kwe-distro ngayinye, i-.wslconfig ikuvumela ukuthi ulungise i-VM eyabelwe yiwo wonke ama-distro e-WSL2.Leli fayela licatshangelwa kuphela ukusatshalaliswa okusebenza njenge-WSL2, hhayi i-WSL1.
Ngaphakathi .wslconfig ingxenye eyinhloko [wsl2]lapho uchaza khona amapharamitha ayisihluthulelo:
kernelykernelModules: izindlela eziphelele kusukela ku-Windows kuya ku-kernel ye-Linux eyenziwe ngokwezifiso kanye namamojula ayo.memory: Umkhawulo wememori ye-VM (okuzenzakalelayo okungu-50% we-RAM yomsingathi), isibonelo4GB.processors: inani lamaprosesa anengqondo anikezwe i-VM.localhostForwarding: ivumela ama-port avulekile ku-WSL2 ukuthi atholakale kusuka ku-Windows usebenzisalocalhost.swapyswapFile: usayizi kanye nendlela yefayela lokushintshana le-VM.guiApplications: ivumela noma ikhubaza ukwesekwa kohlelo lokusebenza lwe-GUI (WSLg).dnsProxyUma usemodi ye-NAT, inquma ukuthi iseva ye-Linux DNS izoba yisibonelo se-NAT se-host noma ikhophi ye-Windows DNS.networkingModeLapha ukhetha phakathinone,nat,bridged(okudala),mirroredovirtioproxy.firewall,dnsTunnelingyautoProxy: izinketho esixoxe ngazo zokuhlanganisa kangcono inethiwekhi ye-WSL nezinqubomgomo ze-Windows.defaultVhdSize: usayizi omkhulu we-VHD lapho kugcinwa khona uhlelo lwamafayela lwe-distro (okuzenzakalelayo yi-1 TB).
Kukhona nesigaba [experimental] lapho izici zivuselelwa khona ekuhlolweni like:
autoMemoryReclaim: izilungiselelo zokubuyisa inkumbulo ngokuzenzakalelayo (kukhutshaziwe, kancane kancane, i-dropCache).sparseVhd: ukudalwa kwamadiski angabonakali ukuze kongiwe isikhala.bestEffortDnsParsingydnsTunnelingIpAddress: ukulungiswa kahle kwe-DNS tunneling.ignoredPorts: ama-port angasetshenziswa izinhlelo zokusebenza ze-Linux ngisho noma esetshenziswa ku-Windows uma usemodi yesibuko.hostAddressLoopback: ivumela i-host kanye nesitsha ukuxhuma kusetshenziswa amakheli e-IP endawo ye-host kwimodi yesibuko.
Ukusetha kahle i-.wslconfig kwenza umehluko phakathi kwe-VM edla izinsiza kanye nendawo elungiselelwe kahle esebenza kahle nohlelo lwakho lwe-Windows kanye nenethiwekhi.ikakhulukazi uma usebenza ngemithwalo yemisebenzi esindayo, izitsha, noma ama-distro amaningi ngesikhathi esisodwa.
I-WSL2, i-Docker, kanye nokuxhumana nabantu ukuze baziphathe nge-Tailscale
Isibonelo esiwusizo kakhulu ukusebenzisa i-WSL2 kumaseva e-Windows (ngisho ne-Windows Server 2025) njengeplatifomu yokusingatha ngokwayo, kuhlanganisa i-Ubuntu ku-WSL2, i-Docker Engine (ngaphandle kwe-Docker Desktop), i-Tailscale kanye ne-proxy ephambene ne-Caddy ukuze kudalulwe izinsizakalo ezifana ne-n8n noma i-Supabase.
Umqondo uwukuba nendawo ezinzile ye-Docker ngaphakathi kwe-WSL2, kugwenywe izinkinga ze-Docker Desktop kumasevaUma ufaka i-Docker Engine ngqo ku-Ubuntu (WSL2), inethiwekhi yesitsha incike kunethiwekhi ye-WSL2, okuthi yona incike kumodi ye-NAT noma ehlanganisiwe echazwe ku-.wslconfig.
Njengoba i-Tailscale ifakiwe ku-WSL2, ungashicilela izinsizakalo zakho ku-VPN ene-mesh. ngaphandle kokuvula ama-port ku-router, nokusebenzisa i-Caddy njenge-proxy ephambene ukuze kuhlanganiswe izitifiketi ze-TLS, imizila, kanye nokulinganisela umthwalo olula phakathi kweziqukathi.
Ukuze kugcinwe inethiwekhi ehlanzekile, ebikezelwayo, nephephile, kuyanconywa:
- Khetha imodi yenethiwekhi eyodwa ehambisanayo (i-NAT noma ebonisiwe) bese uyibhala phansi
- Gwema ukungqubuzana kwembobo phakathi kweWindows neWSL2, bethembele ku
ignoredPortsuma usebenzisa i-mirrored - Lawula ukuchayeka kwesevisi kuphela nge-Tailscale noma i-Caddyesikhundleni sokuvula amachweba "ngokuzenzakalelayo" ku-firewall
- Yenza ngokuzenzakalelayo ukuqalisa kwe-Docker, Tailscale, kanye ne-Caddy kusuka ku-
[boot]ku-wsl.conf ukuba nendawo eseduze nokukhiqiza
Ngale ndlela yokwakha, i-WSL2 ayibe yithuluzi lokuthuthukisa nje futhi ingaba yipulatifomu engathi sína yokuzisingatha.uma nje wamukela imikhawulo yayo (ukwenziwa kwe-virtualization phezu kwe-Hyper-V, ungqimba olwengeziwe lwenethiwekhi, njll.) futhi uyilungiselele ngokucophelela.
Izindlela ezinhle kakhulu zokuxhumana kwe-WSL2 zokuthuthukisa nokuhlola
Ngaphandle kokuhlela kahle, kuneziqondiso eziningana ezikusiza ukuthi usebenze kahle nenethiwekhi ye-WSL2. ngaphandle kokulwa njalo nama-IP, amachweba, kanye nama-firewall.
Ngezinsizakalo zokuthuthukisa, sebenzisa ama-port aphezulu (ngaphezu kuka-1024) futhi ugweme amachweba anelungelo noma asetshenziswa kakhulu; lokhu kunciphisa izingxabano futhi kuqede isidingo samalungelo engeziwe.
Qinisekisa ukuthi ikhodi nedatha kuhlala ngaphakathi kohlelo lwefayela le-Linux. (wena ~/ noma imizila yangaphakathi) esikhundleni sokusebenza ngqo ku- /mnt/cngoba ukufinyelela i-NTFS kusuka ku-WSL kuhamba kancane futhi kungajezisa izinsizakalo ezibanzi ze-I/O.
Yenza izilungiselelo zenethiwekhi ngokuzenzakalela kanye nemithetho yokuqondisa kabusha ngezikripthi Ku-PowerShell naku-Bash: isibonelo, iskripthi esilungiselela i-WSL2 uma iqala. netsh portproxy (uma uqhubeka ne-NAT) noma uhlole imithetho ye-firewall uma usebenzisa i-mirroring.
Gwema ukuthembela ekushintsheni ama-IP okukhiqizwe yi-internal virtual switch. Noma nini lapho kungenzeka, sebenza ne- localhost, amagama omethuleli noma okufakiwe ku- /etc/hosts ngezinsizakalo zakho, ukuze ushintsho lwe-IP lungaphuli ingxenye yengqalasizinda yakho yokuhlola.
Ezindaweni zobungcweti noma ezikhiqiza kancane, kungcono ukungathembeli ngokunganaki ekudluliseleni okuzenzakalelayo kwe-WSL.Lungiselela ngokusobala ama-port, ama-proxies, kanye nemithetho ye-firewall ukuze wazi kahle ukuthi yini eveziwe nokuthi kuphi.
Uma ihlelwe kahle, i-WSL2 inikeza inethiwekhi ehlukanisiwe kodwa eguquguqukayo, efanelekela ukuthuthukiswa okuthuthukile, ukuhlolwa kwe-API, ukusebenza ngeziqukathi, kanye nokulingisa izindawo ezisatshalalisiwe.Isihluthulelo ukuba yingcweti kumamodi enethiwekhi (i-NAT vs i-mirrored), amafayela e-wsl.conf kanye ne-.wslconfig, kanye nokusebenzisana ne-firewall kanye namathuluzi aku-stack yakho (i-Docker, i-Tailscale, ama-proxies angemuva), ukuze i-Windows ne-Linux zikwazi ukusebenza emshinini ofanayo ngaphandle kokuhlanganisa ama-port noma ukufaka engcupheni ukuphepha.
Okuqukethwe
- Indlela inethiwekhi esebenza ngayo ngempela ku-WSL2
- Thola amakheli e-IP ku-WSL2
- Imodi ye-NAT: ukuziphatha okuzenzakalelayo kwenethiwekhi ye-WSL2
- Ukufinyelela i-WSL2 kusuka kunethiwekhi yendawo (i-LAN) usebenzisa i-NAT
- I-IPv6 nezici zokuxhumana zesimanje
- Imodi yenethiwekhi ebonisiwe: ukulingisa izixhumi ze-Windows ku-Linux
- Ukufakwa kwe-DNS kanye nokusetshenziswa kwama-proxies ku-WSL2
- I-Hyper-V Firewall kanye nokuvezwa kwesevisi evikelekile
- Ukwakhiwa kwenethiwekhi ye-WSL2, ububanzi be-X11 kanye ne-172.16.0.0/12
- i-wsl.conf kanye ne-.wslconfig: ukucushwa kwe-WSL2 okuthuthukisiwe
- Izinketho eziyinhloko ze-wsl.conf ngesigaba
- .wslconfig: Ukulawulwa komshini okubonakalayo kwe-WSL2
- I-WSL2, i-Docker, kanye nokuxhumana nabantu ukuze baziphathe nge-Tailscale
- Izindlela ezinhle kakhulu zokuxhumana kwe-WSL2 zokuthuthukisa nokuhlola