A hosszú tartalmak után végre lehet szusszanni egyet a következő villámtippel. Ha Windows 10-ben szeretnél Linuxos Docker konténert futtatni, akkor a Windows Subsystem For Linux is egy jó megoldás lehet, de az ilyen gépekben kiengedett portokat nem lehet elérni a LAN hálózaton. Vagy mégis? A cikkből és a mellékelt videóból kkiderül.
Ha a WSL 2-es gépben Dockerrel elindítasz egy konténert, aminek például a 80-as portját minden IP-n kiengeded, a Windows hoszt rendszerhez tartozó LAN IP címen akkor sem fogod elérni. A 127.0.0.1-es lokális IP címre megtörténik automatikusan a portátirányítás a WSL gép felé, de ha a LAN hálózaton a netsh-val adminként PowerShellből vagy parancssorból át lehet irányítani bármelyik portot. Először nézzük meg, milyen átirányítások vannak már:
Ha szabad még a port, akkor mehet az átirányítás. A lenti parancsban ne felejtsd el az alábbi helyörzőket a saját paraméterekkel kitölteni.
<LAN_IP>
: A Windows hoszt LAN-on elérhető IP címe.<LAN_PORT>
: A Windows hoszt LAN IP-jén átirányítandó port szám<WSL_IP>
: A WSL gép IP címe vagy127.0.0.1
<WSL_PORT>
: A WSL gépben futó szolgáltatás portja.
Persze, mivel a 127.0.0.1-es IP-ről amúgy is automatikusan történik a portátirányítás a WSL gép felé, ha nem akarod minden Windows újraindítás után újrakonfigurálni az átirányítást, erre a loopback IP címre is irányíthatod a LAN-ról érkező kéréseket, ami majd tovább lesz irányítva a WSL gép felé. Feltéve, hogy a LAN IP 192.168.1.58
és egy, a 80-as porton futó proxy konténert kell tudni elérni akár mobilteleonfról a LAN hálózaton, így néz ki a parancs:
Ha törölni szeretnéd az átirányítást, akkor a hozzáadásnál használt parancsshoz hasonlót kell futtatni a "connectaddress" és a "connectport" paraméterek nélkül, valamint az "add" helyett "del"-t kell írni a parancsban.