- WSL2 uporablja virtualni stroj z lastnim omrežjem, ki ga je mogoče konfigurirati prek NAT ali zrcaljenih načinov in ga upravlja Hyper-V.
- Kombinacija datotek wsl.conf in .wslconfig vam omogoča prilagajanje vsega, od samodejnega priklopa in systemd do pomnilnika, procesorjev in omrežnih pravilnikov.
- Funkcije, kot so dnsTunneling, autoProxy in požarni zid Hyper-V, izboljšujejo integracijo z VPN-ji, posredniškimi strežniki in varnostjo v sistemu Windows 11.
- S skrbno konfiguracijo postane WSL2 trdna platforma za razvoj, kontejnerje in varno samostojno gostovanje.

WSL2 je popolnoma spremenil način integracije Linuxa z WindowsomŠe posebej pri vsem, kar je povezano z omrežjem: zdaj imamo lahek virtualni stroj z lastnim omrežnim skladom, lastnim IP-naslovom in ločenimi pravili dostopa. To odpira veliko možnosti za razvoj, testiranje, vsebnike in okolja za samostojno gostovanje, hkrati pa vzbuja zaskrbljenost, ko storitve postanejo nedostopne, kot se je zgodilo z WSL1.
Razumevanje konfiguracije omrežja WSL2, njegovih načinov NAT in zrcaljenja, uporabe datotek .wslconfig in wsl.conf ter njihove interakcije s požarnimi zidovi, VPN-ji, Dockerjem ali orodji, kot je Tailscale To je ključnega pomena za izogibanje glavobolom. Poglejmo si korak za korakom, kako deluje celotna nastavitev, kako izpostaviti storitve sistemu Windows in lokalnemu omrežju, katere ukaze uporabiti za pridobitev pravilnih IP-jev in katere napredne možnosti konfiguracije imate na voljo za natančno nastavitev okolja, da bo stabilno in predvsem varno.
Kako omrežje dejansko deluje v WSL2
WSL2 si ne deli več omrežnega sklada gostitelja kot WSL1.Namesto tega izvaja vsako distribucijo Linuxa v majhnem virtualnem stroju, ki ga upravlja Hyper-V. Ta virtualni stroj ima svoj virtualni adapter (običajno eth0) in zasebni IP-naslov, ki ga dodeli notranje virtualno stikalo.
V privzetem načinu WSL2 uporablja arhitekturo, ki temelji na NAT-u. (Prevajanje omrežnih naslovov). Windows deluje kot usmerjevalnik/gostitelj, distribucija Linuxa pa se nahaja v zasebnem podomrežju, običajno znotraj območja. 172.16.0.0/12To podomrežje se lahko spremeni po ponovnem zagonu ali ponovnem zagonu WSL, kar je že marsikoga spravilo ob pamet pri konfiguriranju pravil statične požarne stene.
S praktičnega vidika to pomeni, da IP-naslov vaše distribucije WSL2 ni niti stabilen niti neposredno dostopen iz lokalnega omrežja (LAN). Kot pri WSL1: privzeto obstaja povezljivost samo med Windows in WSL2 prek pravil preusmeritve in NAT, izpostavljenost lokalnemu omrežju pa zahteva dodatne korake ali uporabo zrcaljenega načina.
Poleg te osnovne arhitekture Windows 11 22H2 in novejše različice dodajajo nove omrežne zmogljivosti. (zrcalni način, dnsTunneling, autoProxy, požarni zid Hyper-V itd.), ki se nadzorujejo iz globalne datoteke .wslconfigmedtem ko nekatere možnosti v Linuxu upravljamo z /etc/wsl.conf.
Prepoznavanje IP-naslovov v WSL2
Delo z WSL2 vključuje jasno razlikovanje med dvema scenarijema IP: ko potrebujete IP-naslov distribucije Linuxa in ko potrebujete IP-naslov gostitelja Windows, gledano iz Linuxa. Vsako od teh možnosti je rešeno z drugačnim ukazom.
Scenarij 1: V sistemu Windows želite izvedeti IP-naslov distribucije WSL2 Če želite aplikaciji na gostitelju (na primer odjemalcu, brskalniku ali orodju za testiranje) omogočiti povezavo s storitvijo, ki se izvaja v sistemu Linux, lahko v sistemu Windows zaženete naslednje ukaze (z uporabo CMD ali PowerShell):
wsl.exe --distribution <DistroName> hostname -i
Če želite uporabiti privzeto distribucijo, lahko parameter distribucije izpustite. in preprosto pokličite wsl.exe hostname -iV ozadju se v Linuxu zažene ta ukaz hostname --ip-addresses in vrne IP-naslov primerka. Tipičen rezultat je lahko videti nekako takole:
172.30.98.229
Scenarij 2: Iz distribucije Linuxa morate poznati IP naslov gostitelja WindowsNa primer, za povezavo aplikacije WSL2 s strežnikom, ki se izvorno izvaja v sistemu Windows (Node.js, SQL Server, Caddy itd.), lahko v lupini Linux uporabite:
ip route show | grep -i default | awk '{ print $3 }'
Izhod bo privzeti prehod navideznega računalnika WSL2., kar ustreza IP-naslovu gostitelja Windows, kot ga vidimo v Linuxu, nekaj takega:
172.30.96.1
Ta vrednost (npr. 172.30.96.1) je naslov, na katerega naj kažejo vaši odjemalci Linuxa ko želite dostopati do storitev, ki se izvajajo na gostitelju Windows, medtem ko ste v klasičnem načinu NAT.
Način NAT: privzeto vedenje omrežja WSL2
WSL2 deluje v načinu NAT že od samega začetka, kar je za številna preprosta razvojna okolja več kot dovolj.Pomembno je razumeti, kaj deluje "samo po sebi" in kaj ne, da ne bi izgubljali časa z lovljenjem duhov.
Dostop do storitev Linuxa iz sistema Windows z uporabo localhostČe na svoji distribuciji WSL2 zaženete omrežno aplikacijo (na primer strežnik Node.js, strežnik Flask, SQL Server v sistemu Linux), lahko do nje dostopate iz sistema Windows z uporabo localhost:puertoWindows samodejno posreduje dohodne povezave na notranji IP-naslov navideznega računalnika WSL2.
Dostop do storitev, ki se izvajajo v sistemu Windows, iz LinuxaTukaj se stvari spremenijo. Če želite iz WSL2 doseči omrežno aplikacijo na gostitelju (kot je strežnik Node.js, SQL Server ali Caddy v sistemu Windows), morate uporabiti IP-naslov gostitelja, kot ga vidite v Linuxu, pridobljen s privzetim ukazom route:
ip route show | grep -i default | awk '{ print $3 }'
S tem IP naslovom se lahko iz Linuxa povežete s katero koli storitvijo na gostitelju.na primer http://172.30.96.1:3000 če vaš strežnik Windows posluša na vratih 3000 na vseh vmesnikih.
Ko se povežete z oddaljenimi IP-ji (ne z lokalnim strežnikom), jih aplikacije vidijo kot LAN povezave.To pomeni, da je treba veliko strežnikov konfigurirati za poslušanje 0.0.0.0 namesto 127.0.0.1Na primer, s programom Flask lahko zaženete:
app.run(host='0.0.0.0')
Ta sprememba izboljšuje dostopnost, vendar zahteva osredotočenost na varnost.ker dovoljujete povezave iz lokalnega omrežja, ne samo iz samega računalnika.
Dostop do WSL2 iz lokalnega omrežja (LAN) z uporabo NAT
Ena najbolj nadležnih sprememb pri prehodu z WSL1 na WSL2 je, da distribucije niso več neposredno dostopne iz lokalnega omrežja (LAN).V WSL1, če je bil vaš Windows viden v omrežju, so storitve distribucije to izpostavljenost podedovale skoraj brez napora.
V WSL2 ima VM svoj zasebni IP-naslov in se v lokalnem omrežju ne oglašuje samodejno.Če želite doseči nekaj podobnega staremu delovanju, morate v načinu NAT v sistemu Windows ustvariti proxy vrata, tako kot bi to storili pri katerem koli navideznem računalniku Hyper-V.
Windows ima za to klasično orodje: netsh interface portproxyTipičen ukaz za preusmeritev gostiteljskih vrat na IP/vrata WSL2 bi bil:
netsh interface portproxy add v4tov4 listenport=<puertoHost> listenaddress=0.0.0.0 connectport=<puertoWSL> connectaddress=(wsl hostname -I)
V praksi bi označevalce zamenjali s specifičnimi vrednostmi., na primer:
netsh interface portproxy add v4tov4 listenport=4000 listenaddress=0.0.0.0 connectport=4000 connectaddress=192.168.101.100
tukaj listenaddress=0.0.0.0 To pomeni, da bo Windows poslušal vse naslove IPv4 gostitelja.in bo posredoval, kar pride skozi vrata 4000, 192.168.101.100:4000kar bi bil IP-naslov WSL2, pridobljen z:
wsl hostname -IDaje vam IP naslov distribucije Linux znotraj navideznega računalnika WSL2.cat /etc/resolv.confRazkrije IP-naslov gostitelja sistema Windows Vista iz WSL2.
S to tehniko lahko storitvi, ki se izvaja na WSL2, omogočite dostop iz katerega koli računalnika v lokalnem omrežju (LAN).pod pogojem, da požarni zid sistema Windows to dovoljuje in da jasno veste, da izpostavljate storitev navideznega računalnika, ne pa neposredno gostitelja.
IPv6 in sodobne omrežne funkcije
WSL2 lahko deluje tudi z IPv6, kar je še posebej pomembno v sodobnih okoljih, VPN-jih in poslovnih omrežjih.Za upravljanje naslovov so osnovni ukazi v Linuxu enakovredni ukazom v IPv4:
wsl hostname -iIz sistema Windows za ogled IP-naslova distribucije WSL2ip route show | grep -i default | awk '{ print $3 }'iz Linuxa za pridobitev IP-naslova gostitelja Windows
Kjer je preskok v kakovosti podpore za IPv6 in VPN resnično opazen, je v zrcaljenem omrežnem načinu., na voljo v sistemu Windows 11 22H2 in novejših različicah, ki si jih bomo podrobneje ogledali kasneje.
Zrcaljeni omrežni način: zrcaljenje vmesnikov sistema Windows v Linuxu
V računalnikih z operacijskim sistemom Windows 11 22H2 ali novejšim lahko omogočite »zrcaljeni« omrežni način. V WSL2 se model popolnoma spremeni: namesto klasičnega NAT-a Linux "vidi" omrežne vmesnike sistema Windows kot odražene.
Če ga želite omogočiti, morate urediti datoteko .wslconfig vašega uporabnika, ki je v %UserProfile%\.wslconfigIz PowerShella s skrbniškimi pravicami ga lahko odprete z:
notepad $env:USERPROFILE\.wslconfig
V notranjosti dodajte (ali spremenite) razdelek [wsl2], da aktivirate zrcaljeni način:
[wsl2]
networkingMode=mirrored
Ko je datoteka shranjena, morate znova zagnati WSL2, da začne veljati.Na primer, z:
wsl --shutdown
Ko ga znova zaženete, bo WSL uporabil novo arhitekturo zrcalne mreže.kar prinaša več zelo močnih prednosti:
- Izvorna podpora za IPv6 in izboljšana integracija s poslovnimi omrežji in VPN-ji
- Možnost povezave s storitvami sistema Windows iz sistema Linux z uporabo
127.0.0.1neposredno (čeprav ni dovoljeno)::1(na primer povratna zanka IPv6 za to) - Izboljšana podpora za večvrstno oddajanje znotraj integracije Windows-Linux
- Neposreden dostop do WSL iz lokalnega omrežja brez potrebe po netsh portproxyz uporabo IP-naslova samega računalnika z operacijskim sistemom Windows
Omogočanje tega načina odpravi številne klasične težave z WSL2 NAT. in je priporočena možnost v večini sodobnih razvojnih in samostojnih okolij za gostovanje, kjer lahko uporabljate posodobljeno različico sistema Windows 11.
Tuneliranje DNS in uporaba proxyjev v WSL2
V sistemu Windows 11 22H2 in novejših različicah je bila tudi ločljivost imen iz WSL2 deležna znatne prenove.Ključ je v dveh funkcionalnostih, opredeljenih v .wslconfig: dnsTunneling y autoProxy.
Možnost dnsTunneling Privzeto je omogočeno v razdelku [wsl2]. To omogoča, da se zahteve DNS v Linuxu obravnavajo prek funkcije virtualizacije, namesto da se pošiljajo kot običajni omrežni paketi. To močno izboljša združljivost z VPN-ji in kompleksnimi omrežnimi konfiguracijami na gostitelju.
Na svoji strani autoProxy=true prisili WSL, da uporabi nastavitve proxyja Windows HTTPČe se gostitelj nahaja za korporativnim ali varnostnim proxyjem, ga WSL2 samodejno podeduje, ne da bi se vam bilo treba ročno ukvarjati s spremenljivkami okolja.
Lahko bi imeli na primer nekaj takega v svojem .wslconfig:
[wsl2]
dnsTunneling=true
autoProxy=true
To zagotavlja, da se omrežje WSL2 obnaša skladno s konfiguracijo gostitelja., še posebej uporabno v podjetjih s strogimi omrežnimi in filtrirajočimi politikami.
Požarni zid Hyper-V in izpostavljenost varnim storitvam
V sodobnih okoljih omrežje WSL2 prehaja tudi skozi namenski požarni zid.Od različice WSL 2.0.9 v sistemu Windows 11 22H2 naprej je funkcija požarnega zidu Hyper-V privzeto omogočena, kar doda dodatno plast filtriranja za promet navideznih računalnikov (vključno s prometom WSL2).
Če delate v zrcaljenem načinu in želite trajno izpostaviti storitve WSL2 lokalnemu omrežju (na primer API-ji, nadzorne plošče ali storitve samostojnega gostovanja), se morate prepričati, da pravila požarnega zidu to dovoljujejo.
Razumen pristop iz PowerShella s skrbniškimi pravicami je ustvarjanje pravila Hyper-V za zasebna omrežja.:
New-NetFirewallHyperVRule -DisplayName "WSLPrivateInboundRule" -Profiles Private -Direction Inbound -Action Allow -VMCreatorId ((Get-NetFirewallHyperVVMCreator).VMCreatorId)
Če iz kakršnega koli razloga želite onemogočiti to specifično zaščito Hyper-V (nekaj manj priporočenega), lahko uporabite:
Set-NetFirewallHyperVVMSetting -Name ((Get-NetFirewallHyperVVMCreator).VMCreatorId) -Enabled False
Ideja je, da požarni zid ostane aktiven, kadar koli je to mogoče.omejitev pravil na zasebna omrežja in samo na vrata, ki jih resnično potrebujete, množično deaktivacijo pa prihranite kot zadnjo možnost in vedno z namenom, da ponovno okrepite konfiguracijo takoj, ko vse deluje.
Omrežna arhitektura WSL2, območja X11 in 172.16.0.0/12
Klasični primer, ki razkriva podrobnosti omrežja WSL2, je uporaba grafičnih aplikacij prek X11.Na primer, zagon Xminga v sistemu Windows in pošiljanje Linux aplikacij prek DISPLAY.
Pri nadgradnji z WSL1 na WSL2 mnogi uporabniki ugotovijo, da X preneha delovati. ker omrežje ni več "v skupni rabi" in postane virtualno omrežje NAT z obsegi, kot so 172.16.0.0/12kar se lahko spremeni tudi po vsakem ponovnem zagonu sistema Windows ali WSL.
Da bi X spet deloval z Xmingom iz WSL2, je običajen trik pridobiti IP-naslov sistema Windows, ki ga vidi Linux. z uporabo:
ens
DISPLAY=$(grep nameserver /etc/resolv.conf | cut -d' ' -f2):0
Vzporedno je treba prilagoditi požarni zid sistema Windows, da bo dovoljeval promet X11 iz te podmreže NAT.Tipičen pristop je urejanje pravila Xming z dodajanjem obsega 172.16.0.0/12 v TCP+UDP 6000.
Mnogi na koncu onemogočijo preverjanje pristnosti Xming z možnostjo -acTo dejansko "odpre vrata" vsem odjemalcem X, ki prihajajo iz tega omrežja. Deluje, vendar je z varnostnega vidika precej vprašljivo, zato je vredno razmisliti o bolj omejenih rešitvah ali uporabi WSLg (integriranih aplikacij z grafičnim uporabniškim vmesnikom) v sistemu Windows 11.
wsl.conf in .wslconfig: napredna konfiguracija WSL2
WSL ponuja dve ključni konfiguracijski datoteki, ki nadzorujeta tako delovanje virtualnega stroja kot tudi delovanje posameznih distribucij.: /etc/wsl.conf (po distribuciji) in %UserProfile%\.wslconfig (globalno za vse distribucije WSL2).
wsl.conf živi znotraj distribucije Linuxa, v /etc/wsl.confUporablja se za konfiguriranje lokalnih možnosti za to distribucijo: samodejno priklop, generiranje hosts y resolv.confzdružljivost z Windows, privzeti uporabnik, systemd itd.
.wslconfig Shranjen je zunaj Linuxa, v uporabniškem profilu sistema Windows. (C:\Users\<Usuario>\.wslconfig) in nadzoruje globalne parametre navideznega stroja, ki poganja WSL2: pomnilnik, procesorje, jedro, omrežni način, požarni zid, DNS, velikost navideznega diska, podporo za grafični uporabniški vmesnik itd.
Ena zanimiva podrobnost je "pravilo 8 sekund" pri spreminjanju nastavitevKo spreminjate katero koli od teh datotek, morate zagotoviti, da je virtualni stroj WSL popolnoma izklopljen. Tudi če zaprete okno distribucije, lahko datoteka ostane v pomnilniku še nekaj sekund.
Za prisilni ponovni zagon podsistema lahko uporabite:
wsl --list --runningpreveriti, ali obstajajo kakšne aktivne distribucijewsl --shutdownzapreti vse distribucije hkratiwsl --terminate <distroName>za zaustavitev določene distribucije
Spremembe konfiguracije se dejansko uporabijo šele, ko je WSL izklopljen in ponovno zagnan.Nekaj, kar mnogi spregledajo in mislijo, da njihove prilagoditve "ne delujejo".
Glavne možnosti datoteke wsl.conf po razdelkih
Datoteka wsl.conf Navdihnjen je s klasičnim formatom .ini, z razdelki in ključiGlavni oddelki so [automount], [network], [interop], [user], [boot], [gpu] y [time].
En [automount] Nadzorujete, kako so pogoni Windows nameščeni v Linuxu (običajno nizko) /mnt):
enabled(bool, privzeto true)Če je res, se C:/, D:/ itd. samodejno priklopijo v/mnt/c,/mnt/d...mountFsTab(logična vrednost): če je res, se obdela/etc/fstabob zagonu distribucije.root(verižica): korenski imenik, kamor bodo nameščeni pogoni, na primer/windir/imeti/windir/c.options(seznam ločen z vejicami)Parametri, specifični za DrvF-je, kot sometadata,uid,gid,umask,fmask,dmaskocase.
DrvFs je datotečni sistem, ki povezuje Windows in Linux., zasnovan za dostop do NTFS iz WSL z nadzorom dovoljenj, metapodatki in občutljivostjo na velike in male črke.
V razdelku [network] Prilagodite samodejno generiranje omrežnih datotek:
generateHostsČe je res, WSL samodejno ustvari/etc/hosts.generateResolvConfČe je res, WSL ustvari/etc/resolv.confs starejšim DNS-om.hostname: ime gostitelja, ki ga bo distribucija uporabljala.
Oddelek [interop] nadzoruje združljivost z operacijskim sistemom Windows:
enabled: Omogoči ali onemogoči možnost zagona procesov sistema Windows iz WSL.appendWindowsPath: odloči, ali bo dodal poti sistema Windows$PATHLinux.
En [user] Določite lahko uporabnika, ki bo privzeto uporabljen ob zagonu distribucije:
default: uporabniško ime, ki se bo privzeto zagnalo v WSL.
Oddelek [boot] Še posebej uporabno je v sistemih Windows 11 in Server 2022. za samodejni zagon storitev, kot je Docker, znotraj WSL:
command: ukazni niz, ki se izvede ob zagonu WSL, na primerservice docker start.protectBinfmt: ščiti generiranje enot systemd, ko je systemd omogočen.
Imate tudi razdelke, kot so [gpu] (omogočite dostop do grafične kartice sistema Windows iz Linuxa) in [time] sinhronizacija časovnega pasu z operacijskim sistemom WindowsS tem se izognete težavam pri prehodu na poletni čas ali potovanju.
.wslconfig: Nadzor virtualnega stroja WSL2
Medtem ko wsl.conf natančno nastavi delovanje posamezne distribucije, vam .wslconfig omogoča natančno nastavitev virtualnega stroja, ki si ga delijo vse distribucije WSL2.To datoteko upoštevajo samo distribucije, ki se izvajajo kot WSL2, ne pa WSL1.
Znotraj .wslconfig glavni del je [wsl2]kjer definirate ključne parametre:
kernelykernelModules: absolutne poti od sistema Windows do jedra Linuxa po meri in njegovih modulov.memoryOmejitev pomnilnika navideznega računalnika (privzeto 50 % RAM-a gostitelja), na primer4GB.processors: število logičnih procesorjev, dodeljenih virtualnemu stroju.localhostForwarding: omogoča dostop do odprtih vrat v WSL2 iz sistema Windows z uporabolocalhost.swapyswapFile: velikost in pot do izmenjalne datoteke za navidezni stroj.guiApplications: omogoči ali onemogoči podporo za aplikacije z grafičnim uporabniškim vmesnikom (WSLg).dnsProxyKo ste v načinu NAT, se odloči, ali bo strežnik DNS Linux gostiteljev primerek NAT ali kopija strežnika DNS sistema Windows.networkingModeTukaj izbirate mednone,nat,bridged(zastarelo),mirroredovirtioproxy.firewall,dnsTunnelingyautoProxy: možnosti, o katerih smo razpravljali, za boljšo integracijo omrežja WSL s pravilniki sistema Windows.defaultVhdSize: največja velikost VHD-ja, kjer je shranjen datotečni sistem distribucije (privzeto 1 TB).
Obstaja tudi razdelek [experimental] kjer so funkcije aktivirane med testiranjem kot:
autoMemoryReclaim: nastavitve samodejnega obnavljanja pomnilnika (onemogočeno, postopno, dropCache).sparseVhdustvarjanje redkih virtualnih diskov za prihranek prostora.bestEffortDnsParsingydnsTunnelingIpAddress: natančna nastavitev za tuneliranje DNS.ignoredPorts: vrata, ki jih lahko uporabljajo aplikacije za Linux, tudi če so v uporabi v sistemu Windows, ko ste v zrcaljenem načinu.hostAddressLoopback: omogoča povezavo gostitelja in vsebnika z uporabo lokalnih IP-naslovov gostitelja v zrcaljenem načinu.
Pravilna konfiguracija datoteke .wslconfig je tista, ki razlikuje med virtualnim računalnikom, ki požira veliko virov, in optimiziranim okoljem, ki dobro deluje z vašim sistemom in omrežjem Windows.še posebej, če delate z velikimi delovnimi obremenitvami, vsebniki ali več hkratnimi distribucijami.
WSL2, Docker in mreženje za lastno gostovanje s Tailscale
Zelo praktičen primer je uporaba WSL2 na strežnikih Windows (celo Windows Server 2025) kot platforme za samostojno gostovanje., ki združuje Ubuntu na WSL2, Docker Engine (brez Docker Desktopa), Tailscale in obratni proxy, kot je Caddy, za izpostavljanje storitev, kot sta n8n ali Supabase.
Ideja je imeti stabilno okolje Docker znotraj WSL2 in se tako izogniti težavam Docker Desktop na strežnikih.Pri nameščanju Docker Engine neposredno v Ubuntu (WSL2) se omrežje vsebnikov zanaša na omrežje WSL2, ki je nato odvisno od NAT ali zrcaljenega načina, definiranega v .wslconfig.
Z nameščenim Tailscaleom na WSL2 lahko svoje storitve objavite v mrežnem VPN-ju. brez odpiranja vrat na usmerjevalniku in z uporabo Caddyja kot obratnega proxyja za centralizacijo TLS certifikatov, poti in lahkega uravnoteženja obremenitve med vsebniki.
Za vzdrževanje čistega, predvidljivega in varnega omrežja je priporočljivo:
- Izberite en sam koherentni omrežni način (NAT ali zrcaljeno) in ga dokumentirajte
- Izogibanje konfliktom vrat med sistemoma Windows in WSL2, ki se zanaša na
ignoredPortsče uporabljate zrcalno - Nadzorujte izpostavljenost storitev samo prek Tailscale ali Caddynamesto odpiranja vrat "privzeto" v požarnem zidu
- Avtomatizirajte zagon Dockerja, Tailscalea in Caddyja iz
[boot]v datoteki wsl.conf imeti okolje bližje proizvodnji
S to arhitekturo WSL2 preneha biti le razvojno orodje in lahko postane dokaj resna platforma za samostojno gostovanje.pod pogojem, da sprejmete njegove omejitve (virtualizacija prek Hyper-V, dodatna omrežna plast itd.) in ga skrbno konfigurirate.
Najboljše prakse za mreženje WSL2 za razvoj in testiranje
Poleg natančnih nastavitev obstaja še več smernic, ki vam pomagajo udobno delati z omrežjem WSL2. brez nenehnega boja z IP-ji, vrati in požarnimi zidovi.
Za razvojne storitve uporabite visoka vrata (nad 1024) in se izogibajte privilegiranim ali močno uporabljenim vratom; to zmanjša konflikte in odpravi potrebo po dodatnih privilegijih.
Zagotovite, da se koda in podatki nahajajo v datotečnem sistemu Linux. (ti ~/ ali notranje poti) namesto da bi delali neposredno na /mnt/cker je dostop do NTFS iz WSL počasnejši in lahko ovira storitve z veliko vhodno/izhodno zmogljivostjo.
Avtomatizirajte omrežne nastavitve in pravila preusmeritve s skripti V PowerShellu in Bashu: na primer skript, ki konfigurira WSL2 ob zagonu. netsh portproxy (če nadaljujete z NAT) ali pa preverite pravila požarnega zidu pri uporabi zrcaljenja.
Izogibajte se zanašanju na spreminjanje IP-naslovov ki ga ustvari notranje virtualno stikalo. Kadar koli je mogoče, delajte z localhost, imena gostiteljev ali vnosi v /etc/hosts za vaše storitve, tako da sprememba IP-naslova ne bo porušila polovice vaše infrastrukture za testiranje.
V profesionalnih ali polprodukcijskih okoljih se je najbolje, da se ne zanašate slepo na samodejno posredovanje WSL.Izrecno konfigurirajte vrata, posredniške strežnike in pravila požarnega zidu, da boste natančno vedeli, kaj je izpostavljeno in kje.
Ko je pravilno konfiguriran, WSL2 ponuja izolirano, a prilagodljivo omrežje, ki je idealno za napreden razvoj, testiranje API-jev, delo s kontejnerji in simulacijo porazdeljenih okolij.Ključno je obvladati omrežne načine (NAT v primerjavi z zrcaljenim), datoteke wsl.conf in .wslconfig ter interakcijo s požarnim zidom in orodji v vašem skladu (Docker, Tailscale, obratni proxyji), tako da se lahko Windows in Linux izvajata na istem računalniku brez prekrivanja vrat ali ogrožanja varnosti.
Vsebina
- Kako omrežje dejansko deluje v WSL2
- Prepoznavanje IP-naslovov v WSL2
- Način NAT: privzeto vedenje omrežja WSL2
- Dostop do WSL2 iz lokalnega omrežja (LAN) z uporabo NAT
- IPv6 in sodobne omrežne funkcije
- Zrcaljeni omrežni način: zrcaljenje vmesnikov sistema Windows v Linuxu
- Tuneliranje DNS in uporaba proxyjev v WSL2
- Požarni zid Hyper-V in izpostavljenost varnim storitvam
- Omrežna arhitektura WSL2, območja X11 in 172.16.0.0/12
- wsl.conf in .wslconfig: napredna konfiguracija WSL2
- Glavne možnosti datoteke wsl.conf po razdelkih
- .wslconfig: Nadzor virtualnega stroja WSL2
- WSL2, Docker in mreženje za lastno gostovanje s Tailscale
- Najboljše prakse za mreženje WSL2 za razvoj in testiranje