- A WSL2 egy saját hálózattal rendelkező virtuális gépet használ, amely NAT vagy tükrözött módokon keresztül konfigurálható, és a Hyper-V kezeli.
- A wsl.conf és a .wslconfig fájlok kombinációja lehetővé teszi mindent beállítani az automatikus csatlakoztatásoktól és a systemd-től kezdve a memóriáig, a CPU-kig és a hálózati házirendekig.
- Az olyan funkciók, mint a dnsTunneling, az autoProxy és a Hyper-V tűzfal, javítják a VPN-ekkel, proxykkal való integrációt és a biztonságot a Windows 11-ben.
- Gondos konfigurációval a WSL2 szilárd platformmá válik a fejlesztéshez, a konténerekhez és a biztonságos saját tárhelyszolgáltatáshoz.
A WSL2 teljesen megváltoztatta a Linux és a Windows integrációját , különösen a hálózatépítéssel kapcsolatos mindenben: most egy pehelysúlyú virtuális gépünk van saját hálózati veremmel, IP-címmel és külön hozzáférési szabályokkal. Ez számos lehetőséget nyit meg a fejlesztés, a tesztelés, a konténerek és az önálló tárhelyszolgáltatást nyújtó környezetek számára, de aggályokat is felvet, amikor a szolgáltatások elérhetetlenné válnak, ahogyan az a WSL1 esetében történt.
A WSL2 hálózati konfigurációjának, NAT és tükrözött módjainak, a .wslconfig és wsl.conf fájlok használatának, valamint a tűzfalakkal, VPN-ekkel, Dockerrel és olyan eszközökkel, mint a Tailscale, való interakciójuk megértése kulcsfontosságú a fejfájás elkerülése érdekében. Lépésről lépésre bemutatjuk, hogyan működik ez az egész beállítás, hogyan tehetjük elérhetővé a szolgáltatásokat a Windows és a LAN számára, mely parancsokat kell használni a megfelelő IP-címek megszerzéséhez, és milyen speciális konfigurációs beállításokkal finomhangolhatjuk a környezetünket, hogy az stabil és mindenekelőtt biztonságos legyen.
Hogyan működik a hálózat a WSL2-ben?
A WSL2 már nem osztja meg a host hálózati vermet a WSL1-hez hasonlóan.Ehelyett minden Linux disztribúciót egy Hyper-V által kezelt kis virtuális gépen futtat. Ennek a virtuális gépnek saját virtuális adaptere van (általában eth0) és egy belső virtuális kapcsoló által kiosztott privát IP-cím.
Alapértelmezett módban a WSL2 NAT-alapú architektúrát használ. (Hálózati címfordítás). A Windows útválasztóként/gazdagépként működik, a Linux disztribúció pedig egy privát alhálózaton található, jellemzően a tartományon belül. 172.16.0.0/12Ez az alhálózat megváltozhat újraindítások vagy WSL újraindítások után, ami már több embert is megőrjített a statikus tűzfalszabályok konfigurálásakor.
Gyakorlati szempontból ez azt jelenti, hogy a WSL2 disztribúciód IP-címe nem stabil, és nem érhető el közvetlenül a helyi hálózatról, mint ahogy az a WSL1 esetében volt: alapértelmezés szerint a Windows és a WSL2 között csak átirányítási szabályokon és NAT-on keresztül van kapcsolat, és a helyi hálózathoz való hozzáférés további lépéseket vagy tükrözött mód használatát igényli.
Ezen az alaparchitektúrán túl a Windows 11 22H2 és a későbbi verziók új hálózati képességeket is kínálnak. (tükrözött mód, dnsTunneling, autoProxy, Hyper-V tűzfal stb.), amelyeket a globális fájlból vezérelnek .wslconfigmíg a Linux bizonyos beállításait a /etc/wsl.conf.
Azonosítsa az IP-címeket a WSL2-ben
A WSL2 használata során két IP-forgatókönyvet kell egyértelműen megkülönböztetni : amikor a Linux disztribúció IP-címére van szükség, és amikor a Windows gazdagép Linuxból látható IP-címére. Mindkettőt más paranccsal lehet kezelni.
1. forgatókönyv: Windows rendszerben szeretné megtudni a WSL2 disztribúció IP-címét , hogy a gazdagépen lévő alkalmazás (például egy kliens, böngésző vagy tesztelőeszköz) csatlakozni tudjon egy Linuxon futó szolgáltatáshoz. Ehhez a következő parancsokat futtathatja Windows rendszerben (CMD vagy PowerShell):
wsl.exe --distribution <DistroName> hostname -i
Ha az alapértelmezett disztribúciót szeretnéd használni, elhagyhatod a distribution paramétert. és egyszerűen hívd fel wsl.exe hostname -iA háttérben ez a parancs elindul Linux alatt hostname --ip-addresses és visszaadja a példány IP-címét. Egy tipikus eredmény például így nézhet ki:
172.30.98.229
2. forgatókönyv: A Linux disztribúcióból ismernie kell a Windows gazdagép IP-címét , például ahhoz, hogy egy WSL2 alkalmazás csatlakozni tudjon egy Windows rendszeren natívan futó szerverhez (Node.js, SQL Server, Caddy stb.). A Linux shellben a következőket használhatja:
ip route show | grep -i default | awk '{ print $3 }'
A kimenet a WSL2 virtuális gép alapértelmezett átjárója lesz , amely megfelel a Windows gazdagép IP-címének, ahogyan azt a Linux rendszer látja, valami ilyesmi:
172.30.96.1
Az az érték (pl. 172.30.96.1) az a cím, amelyre a Linux klienseknek mutatniuk kell amikor klasszikus NAT módban szeretnél hozzáférni a Windows gazdagépen futó szolgáltatásokhoz.
NAT mód: a WSL2 hálózat alapértelmezett viselkedése
Alapértelmezés szerint a WSL2 NAT módban működik, és sok egyszerű fejlesztői környezethez ez több mint elég . A lényeg az, hogy megértsük, mi működik "önmagában" és mi nem, így nem kell időt pazarolnunk kísértetek kergetésére.
Linux szolgáltatások elérése Windows rendszerből a localhost használatávalHa hálózati alkalmazást futtat (például Node.js szervert, Flask szervert, SQL Servert Linuxon) a WSL2 disztribúcióján, akkor Windowsból is elérheti a következőképpen: localhost:puertoA Windows automatikusan továbbítja a bejövő kapcsolatokat a WSL2 virtuális gép belső IP-címére.
Windows rendszeren futó szolgáltatások elérése Linuxról : itt a dolgok megváltoznak. Ahhoz, hogy egy hálózati alkalmazást elérjünk a gazdagépen (például egy Node.js szervert, SQL Servert vagy Caddy-t Windows rendszeren) a WSL2-ről, a gazdagép Linux alatt látható IP-címét kell használnunk, amelyet az alapértelmezett path paranccsal szereztünk be:
ip route show | grep -i default | awk '{ print $3 }'
Ezzel az IP-címmel Linuxról csatlakozhatsz a gazdagép bármely szolgáltatásához., például http://172.30.96.1:3000 ha a Windows szervered az összes interfészen a 3000-es porton figyel.
Amikor távoli IP-címekkel (nem localhosttal) csatlakozol, az alkalmazások LAN-kapcsolatként látják azokat.Ez azt jelenti, hogy sok szervert úgy kell konfigurálni, hogy figyeljen 0.0.0.0 helyett 127.0.0.1Például a Flask segítségével elindíthatod:
app.run(host='0.0.0.0')
Ez a módosítás javítja az akadálymentesítést, de fokozott figyelmet igényel a biztonságra , mivel a helyi hálózatról is engedélyezi a kapcsolatokat, nem csak magáról az eszközről.
WSL2 elérése a helyi hálózatról (LAN) NAT használatával
A WSL1-ről WSL2-re való áttérés egyik legbosszantóbb változása, hogy a disztribúciók már nem érhetők el közvetlenül a helyi hálózatról . A WSL1-ben, ha a Windows rendszer látható volt a hálózaton, a disztribúció szolgáltatásai szinte gond nélkül örökölték ezt a kitettséget.
A WSL2-ben a virtuális gép saját privát IP-címmel rendelkezik, és nem jelenik meg automatikusan a helyi hálózaton . A régi viselkedéshez hasonló működés eléréséhez NAT módban létre kell hozni egy portproxyt a Windows rendszerben, akárcsak bármely Hyper-V virtuális gép esetében.
A Windows tartalmaz egy klasszikus eszközt ehhez: netsh interface portproxyEgy tipikus parancs a gazdagép portjának WSL2 IP/portra való átirányításához a következő lenne:
netsh interface portproxy add v4tov4 listenport=<puertoHost> listenaddress=0.0.0.0 connectport=<puertoWSL> connectaddress=(wsl hostname -I)
A gyakorlatban a jelölőket konkrét értékekkel kellene helyettesíteni , például:
netsh interface portproxy add v4tov4 listenport=4000 listenaddress=0.0.0.0 connectport=4000 connectaddress=192.168.101.100
Itt listenaddress=0.0.0.0 Ez azt jelzi, hogy a Windows a gazdagép összes IPv4-címét figyelni fogja.és továbbítja a 4000-es porton érkező adatokat ide: 192.168.101.100:4000ami a következővel kapott WSL2 IP-cím lenne:
wsl hostname -IMegadja a WSL2 virtuális gépen belüli Linux disztribúció IP-címét.cat /etc/resolv.confEz feltárja a Windows Vista gazdagép IP-címét a WSL2-ből.
Ezzel a technikával egy WSL2-n futó szolgáltatást elérhetővé tehetsz a helyi hálózat bármely számítógépéről , feltéve, hogy a Windows tűzfal ezt engedélyezi, és egyértelmű, hogy egy virtuális gép szolgáltatását teszed elérhetővé, nem pedig közvetlenül a gazdagépét.
IPv6 és modern hálózati funkciók
A WSL2 IPv6-tal is működik, ami különösen fontos a modern környezetekben, VPN-ekben és vállalati hálózatokban . A címek kezeléséhez a Linux alapvető parancsai megegyeznek az IPv4 parancsaival:
wsl hostname -iWindows rendszerből a WSL2 disztribúció IP-címének megtekintéséhezip route show | grep -i default | awk '{ print $3 }'Linuxról a Windows gazdagép IP-címének megszerzéséhez
Az IPv6 és VPN támogatás terén az igazi minőségi ugrás a tükrözött hálózati módban rejlik , amely a Windows 11 22H2 és újabb verzióiban érhető el, és amelyet később részletesen is megvizsgálunk.
Tükrözött hálózati mód: Windows felületek tükrözése Linuxon
A Windows 11 22H2 vagy újabb verziójú számítógépeken aktiválható a WSL2 „tükrözött” hálózati módja, amely teljesen megváltoztatja a modellt: a klasszikus NAT helyett a Linux „látja” a Windows hálózati interfészeinek tükröződését.
A bekapcsoláshoz szerkesztenie kell a fájlt .wslconfig a felhasználód, amely benne van %UserProfile%\.wslconfigA PowerShellből rendszergazdai jogosultságokkal megnyithatja a következővel:
notepad $env:USERPROFILE\.wslconfig
Belül add hozzá (vagy módosítsd) a [wsl2] részt a tükrözött mód aktiválásához :
[wsl2]
networkingMode=mirrored
A fájl mentése után újra kell indítani a WSL2-t, hogy az érvénybe lépjen , például a következő paranccsal:
wsl --shutdown
Újraindításkor a WSL az új tükrözött hálózati architektúrát fogja használni , amely számos előnnyel jár:
- Natív IPv6-támogatás és továbbfejlesztett integráció a vállalati hálózatokkal és VPN-ekkel
- Lehetőség Windows szolgáltatásokhoz csatlakozni Linux rendszerről a következő használatával:
127.0.0.1közvetlenül (bár nem megengedett)::1(például IPv6 loopback ehhez) - Továbbfejlesztett multicast támogatás a Windows-Linux integráción belül
- Közvetlen hozzáférés a WSL-hez a helyi hálózatról netsh portproxy nélküla Windowsos gép IP-címének használatával
Ennek a módnak az engedélyezése számos klasszikus WSL2 NAT problémát megold , és ez az ajánlott beállítás a legtöbb modern fejlesztési és saját tárhelyszolgáltatást nyújtó környezetben, ahol frissített Windows 11-et használhat.
DNS-alagútkezelés és proxyk használata a WSL2-ben
A Windows 11 22H2 és újabb verzióiban a WSL2 névfeloldása is jelentősen átalakult.A kulcs két, a definiált funkcióban rejlik. .wslconfig: dnsTunneling y autoProxy.
A választás dnsTunneling Alapértelmezés szerint engedélyezve van a [wsl2] szakaszban. Ez lehetővé teszi, hogy a Linux DNS-kérések virtualizációs funkción keresztül legyenek kezelve, ahelyett, hogy normál hálózati csomagokként küldenék őket ki. Ez nagymértékben javítja a VPN-ekkel és a gazdagép összetett hálózati konfigurációival való kompatibilitást.
A maga részéről autoProxy=true A WSL-t a Windows HTTP proxy beállításainak használatára kényszerítiHa a gazdagép egy vállalati vagy biztonsági proxy mögött található, a WSL2 automatikusan örökli azt anélkül, hogy manuálisan kellene bajlódnod a környezeti változókkal.
Lehetne például valami ilyesmi a tiédben .wslconfig:
[wsl2]
dnsTunneling=true
autoProxy=true
Ez biztosítja, hogy a WSL2 hálózat a gazdagép konfigurációjával összhangban viselkedjen , ami különösen hasznos a szigorú hálózati és szűrési szabályzatokkal rendelkező vállalatoknál.
Hyper-V tűzfal és biztonságos szolgáltatáskitettség
Modern környezetekben a WSL2 hálózat egy dedikált tűzfalon is áthalad . A Windows 11 22H2 rendszeren futó WSL 2.0.9-es verziótól kezdődően a Hyper-V tűzfal funkció alapértelmezés szerint engedélyezve van, ami egy extra szűrési réteget biztosít a virtuális gépek forgalmához (beleértve a WSL2 forgalmat is).
Ha tükrözött módban dolgozik, és a WSL2 szolgáltatásokat (például API-kat, műszerfalakat vagy saját tárhelyen működő szolgáltatásokat) véglegesen elérhetővé szeretné tenni a helyi hálózaton, akkor gondoskodnia kell arról, hogy a tűzfalszabályok ezt engedélyezzék.
A PowerShell rendszergazdai jogosultságokkal történő használatának egy ésszerű megközelítése egy Hyper-V szabály létrehozása a privát hálózatokhoz :
New-NetFirewallHyperVRule -DisplayName "WSLPrivateInboundRule" -Profiles Private -Direction Inbound -Action Allow -VMCreatorId ((Get-NetFirewallHyperVVMCreator).VMCreatorId)
Ha valamilyen okból le szeretnéd tiltani az adott Hyper-V védelmet (ami kevésbé ajánlott), használhatod a következőt:
Set-NetFirewallHyperVVMSetting -Name ((Get-NetFirewallHyperVVMCreator).VMCreatorId) -Enabled False
Az ötlet az, hogy a tűzfalat lehetőség szerint aktívan tartsuk , a szabályokat a privát hálózatokra és csak a valóban szükséges portokra korlátozzuk, és a tömeges kikapcsolást csak végső megoldásként tartsuk fenn, mindig azzal a céllal, hogy a konfigurációt újra megerősítsük, amint minden működik.
WSL2 hálózati architektúra, X11 és 172.16.0.0/12 tartományok
Egy klasszikus eset, amely a WSL2 hálózat részleteit feltárja, a grafikus alkalmazások használata X11-en keresztül , például az Xming indítása Windows rendszeren és Linux alkalmazások küldése DISPLAY-en keresztül.
WSL1-ről WSL2-re való frissítéskor sok felhasználó azt tapasztalja, hogy az X nem működik. mivel a hálózat megszűnik "megosztott" lenni, és virtuális NAT hálózattá válik olyan tartományokkal, mint például 172.16.0.0/12ami minden Windows vagy WSL újraindítás után is megváltozhat.
Ahhoz, hogy az X ismét működjön a WSL2-ből származó Xminggel, a szokásos trükk az, hogy meg kell szerezni a Linux által használt Windows IP-címet :
ens
DISPLAY=$(grep nameserver /etc/resolv.conf | cut -d' ' -f2):0
Ezzel párhuzamosan szükséges a Windows tűzfal beállítását, hogy engedélyezze az X11 forgalmat az adott NAT alhálózatról.Egy tipikus megközelítés az Xming szabály szerkesztése a tartomány hozzáadásával. 172.16.0.0/12 TCP+UDP 6000-ben.
Sokan letiltják az Xming hitelesítést a következő opcióval: -acEz gyakorlatilag „megnyitja az ajtót” az adott hálózatról érkező X kliensek előtt. Működik, de biztonsági szempontból meglehetősen megkérdőjelezhető, ezért érdemes megfontolni a korlátozottabb megoldásokat, vagy a WSLg (integrált grafikus felhasználói felületű alkalmazások) használatát Windows 11-ben.
wsl.conf és .wslconfig: haladó WSL2 konfiguráció
A WSL két kulcsfontosságú konfigurációs fájlt kínál, amelyek mind a virtuális gép, mind az egyes disztribúciók viselkedését szabályozzák.: /etc/wsl.conf (disztribúció által) és %UserProfile%\.wslconfig (globális az összes WSL2 disztribúcióra).
wsl.conf a Linux disztribúción belül él, /etc/wsl.confAz adott disztribúció helyi beállításainak konfigurálására szolgál: automatikus csatolások, hosts y resolv.confegyüttműködés Windows rendszerrel, alapértelmezett felhasználó, systemd stb.
.wslconfig A Linuxon kívül, a Windows felhasználói profilban kerül mentésre. (C:\Users\<Usuario>\.wslconfig) és a WSL2-t működtető virtuális gép globális paramétereit vezérli: memória, CPU-k, kernel, hálózati mód, tűzfal, DNS, virtuális lemez mérete, grafikus felhasználói felület támogatása stb.
Egy érdekes részlet a „8 másodperces szabály” a beállítások módosításakor : amikor módosítod ezeket a fájlokat, meg kell győződnöd arról, hogy a WSL virtuális gép valóban leáll. Még ha bezárod is a disztribúció ablakát, az néhány másodpercig a memóriában maradhat.
Az alrendszer újraindításának kényszerítéséhez a következőt használhatja :
wsl --list --runninghogy ellenőrizd, vannak-e aktív disztribúciókwsl --shutdownaz összes disztribúció egyszerre történő lezárásawsl --terminate <distroName>egy adott disztribúció leállításához
A konfigurációs módosítások csak akkor lépnek életbe, ha a WSL-t kikapcsolják és újraindítják , amit sokan figyelmen kívül hagynak, és azt gondolják, hogy a beállításaik "nem működnek".
A wsl.conf főbb beállításai szakaszonként
A fájl wsl.conf A klasszikus .ini formátum ihlette, szekciókkal és kulcsokkal.A fő részek a következők [automount], [network], [interop], [user], [boot], [gpu] y [time].
En [automount] Te szabályozod, hogyan csatolódnak a Windows meghajtók Linuxon belül (általában alacsony) /mnt):
enabled(bool, alapértelmezett igaz)Ha igaz, akkor a C:/, D:/ stb. automatikusan csatolásra kerül./mnt/c,/mnt/d...mountFsTab(logikai): ha igaz, akkor feldolgozza/etc/fstaba disztró indításakor.root(lánc): például a gyökérkönyvtár, ahová a meghajtókat csatolni fogják/windir/birtokolni/windir/c.options(vesszővel elválasztott lista)DrvF-specifikus paraméterek, mint példáulmetadata,uid,gid,umask,fmask,dmaskocase.
A DrvFs egy áthidaló fájlrendszer a Windows és a Linux között , amelyet úgy terveztek, hogy WSL-ből is elérje az NTFS-t, hozzáférési jogosultságokkal, metaadatokkal és kis- és nagybetűérzékenységgel.
A szakaszban [network] Ön állítja be a hálózati fájlok automatikus generálását:
generateHostsHa igaz, a WSL automatikusan generálja/etc/hosts.generateResolvConfHa igaz, a WSL létrehozza/etc/resolv.confrégi DNS-sel.hostname: a disztribúció által használt hostnév.
rész [interop] szabályozza a Windows rendszerrel való interoperabilitást:
enabled: Engedélyezi vagy letiltja a Windows-folyamatok WSL-ből történő indításának lehetőségét.appendWindowsPath: eldönti, hogy hozzáadja-e a Windows elérési utakat a$PATHLinux.
En [user] Megadhatja azt a felhasználót, akit alapértelmezés szerint használni fog a disztribúció indításakor.:
default: a WSL-ben alapértelmezés szerint elindított felhasználónév.
rész [boot] Különösen hasznos Windows 11 és Server 2022 rendszereken. szolgáltatások, például a Docker automatikus elindításához a WSL-en belül:
command: parancs karakterlánc, amelyet a WSL indításakor kell végrehajtani, példáulservice docker start.protectBinfmt: védi a systemd egységek generálását, amikor a systemd engedélyezve van.
Vannak olyan részeid is, mint például [gpu] (engedélyezze a hozzáférést a Windows GPU-hoz Linuxból), és [time] az időzóna szinkronizálása a Windows rendszerrelEz megakadályozza a problémákat, amikor átáll a nyári időszámításra vagy utazik.
.wslconfig: WSL2 virtuális gép vezérlése
Míg a wsl.conf fájl az egyes disztribúciók viselkedését finomhangolja, a .wslconfig fájl lehetővé teszi az összes WSL2 disztribúció által megosztott virtuális gép finomhangolását . Ez a fájl csak a WSL2 disztribúcióként futó disztribúciókra vonatkozik, a WSL1-ként futó disztribúciókra nem.
Belül .wslconfig a fő rész az [wsl2]ahol meghatározod a kulcsfontosságú paramétereket:
kernelykernelModules: abszolút elérési utak a Windowsból egy egyéni Linux kernelhez és annak moduljaihoz.memory: Virtuális gép memóriakorlátja (alapértelmezés szerint a gazdagép RAM-jának 50%-a), például4GB.processors: a virtuális géphez rendelt logikai processzorok száma.localhostForwarding: lehetővé teszi a WSL2 nyitott portjainak elérését Windows rendszerből a következő használatával:localhost.swapyswapFile: a virtuális gép swap fájljának mérete és elérési útja.guiApplications: engedélyezi vagy letiltja a grafikus felhasználói felületű alkalmazások támogatását (WSLg).dnsProxyNAT módban a rendszer dönti el, hogy a Linux DNS-kiszolgáló a gazdagép NAT-példánya vagy a Windows DNS másolata lesz-e.networkingModeItt választhat a következők közül:none,nat,bridged(elavult),mirroredovirtioproxy.firewall,dnsTunnelingyautoProxy: a WSL hálózat Windows-szabályzatokkal való jobb integrálásának érdekében megvitatott lehetőségek.defaultVhdSize: a disztribúció fájlrendszerét tároló VHD maximális mérete (alapértelmezett 1 TB).
Van egy szakasz is [experimental] ahol a funkciók aktiválódnak a tesztelés során például:
autoMemoryReclaimautomatikus memória-helyreállítási beállítások (letiltva, fokozatos, dropCache).sparseVhdritka virtuális lemezek létrehozása a helytakarékosság érdekében.bestEffortDnsParsingydnsTunnelingIpAddress: DNS-alagút finomhangolása.ignoredPorts: olyan portok, amelyeket a Linux alkalmazások akkor is használhatnak, ha Windows rendszeren tükrözött módban vannak használatban.hostAddressLoopback: lehetővé teszi a gazdagép és a konténer számára, hogy tükrözött módban a gazdagép helyi IP-címeit használva csatlakozzanak.
A .wslconfig megfelelő konfigurálása jelenti a különbséget egy erőforrás-pazarló virtuális gép és egy optimalizált környezet között, amely jól működik a Windows rendszerrel és a hálózattal , különösen akkor, ha nagy munkaterhelésekkel, konténerekkel vagy több egyidejű disztribúcióval dolgozik.
WSL2, Docker és hálózatépítés saját tárhelyhez Tailscale-lel
Egy nagyon praktikus eset a WSL2 használata Windows szervereken (akár Windows Server 2025-ön is) önkiszolgáló platformként , kombinálva az Ubuntut WSL2-n, a Docker Engine-t (Docker Desktop nélkül), a Tailscale-t és egy fordított proxyt, például a Caddyt, hogy olyan szolgáltatásokat tegyen elérhetővé, mint az n8n vagy a Supabase.
A cél egy stabil Docker környezet létrehozása a WSL2-n belül, elkerülve a Docker Desktop problémáit a szervereken . A Docker Engine közvetlen Ubuntu (WSL2) rendszerre telepítésével a konténerhálózat a WSL2 hálózatra támaszkodik, amely viszont a .wslconfig fájlban definiált NAT-tól vagy tükrözött módtól függ.
A WSL2-re telepített Tailscale segítségével közzéteheti szolgáltatásait egy mesh VPN-en anélkül, hogy portokat nyitna meg az útválasztón, és a Caddy-t fordított proxyként használhatja a TLS-tanúsítványok, útvonalak és a konténerek közötti könnyű terheléselosztás központosítására.
A tiszta, kiszámítható és biztonságos hálózat fenntartásához ajánlott :
- Válasszon egyetlen koherens hálózati módot (NAT vagy tükrözött) és dokumentálja azt
- Kerülje a portütközéseket a Windows és a WSL2 között, támaszkodva
ignoredPortsha tükrözött mintát használsz - A szolgáltatásnak való kitettséget csak a Tailscale vagy a Caddy segítségével szabályozhatjaahelyett, hogy a tűzfalon "alapértelmezés szerint" megnyitná a portokat
- Docker, Tailscale és Caddy indításának automatizálása innen
[boot]a wsl.conf fájlban hogy a termeléshez közelebbi környezetet teremtsünk
Ezzel az architektúrával a WSL2 már nem csupán fejlesztőeszköz, hanem egy meglehetősen komoly önkiszolgáló platformmá válhat , feltéve, hogy elfogadjuk a korlátait (virtualizáció Hyper-V-n keresztül, további hálózati réteg stb.) és gondosan konfiguráljuk.
WSL2 hálózatépítés bevált gyakorlatai fejlesztéshez és teszteléshez
A finomhangoláson kívül számos irányelv segít abban, hogy kényelmesen dolgozhass a WSL2 hálózattal anélkül, hogy folyamatosan küzdened kellene az IP-címekkel, portokkal és tűzfalakkal.
Fejlesztési szolgáltatások esetén használjon magas portszámot (1024 felett) , és kerülje a privilegizált vagy erősen használt rendszerportokat; ez minimalizálja a konfliktusokat és kiküszöböli a további jogosultságok szükségességét.
Győződjön meg arról, hogy a kód és az adatok a Linux fájlrendszeren belül találhatók. (te ~/ vagy belső útvonalakon) ahelyett, hogy közvetlenül a /mnt/cmivel az NTFS elérése WSL-ből lassabb, és büntetheti az I/O-igényes szolgáltatásokat.
Hálózati beállítások és átirányítási szabályok automatizálása szkriptekkel PowerShellben és Bashben: például egy szkript, amely konfigurálja a WSL2-t az induláskor. netsh portproxy (ha folytatod a NAT-ot) vagy ellenőrizd a tűzfalszabályokat tükrözés használatakor.
Kerüld az IP-címek változásától való függést a belső virtuális kapcsoló által generált. Amikor csak lehetséges, dolgozzon a localhost, hostnevek vagy bejegyzések a /etc/hosts a szolgáltatásaihoz, hogy egy IP-címváltás ne tegye tönkre a tesztelési infrastruktúra felét.
Professzionális vagy félig termelési környezetekben a legjobb, ha nem vakon hagyatkozunk a WSL automatikus továbbítására . Explicit módon konfiguráljuk a portokat, proxykat és tűzfalszabályokat, hogy pontosan tudjuk, mi és hol van kitéve az adatvédelmi réseknek.
Megfelelő konfiguráció esetén a WSL2 egy elszigetelt, mégis rugalmas hálózatot kínál, amely tökéletes a haladó fejlesztéshez, API teszteléshez, konténermunkához és elosztott környezetek szimulálásához . A kulcs a hálózati módok (NAT vs. tükrözött), a wsl.conf és .wslconfig fájlok, valamint a tűzfallal és a veremben lévő eszközökkel (Docker, Tailscale, fordított proxyk) való interakció elsajátításában rejlik, így a Windows és a Linux ugyanazon a gépen futhat portütközés vagy a biztonság veszélyeztetése nélkül.