โ† ๋ชฉ๋ก์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

WSL์—์„œ ๋ฐฉํ™”๋ฒฝ ์—ด๊ธฐ


New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow New-NetFirewallRule -DisplayName "WSL2-MySQL" -Direction Inbound -LocalPort 3306 -Action Allow -Protocol TCP

WSL2์— ์„ค์น˜๋œ ์„œ๋น„์Šค๊ฐ€ Windows์—์„œ ์ ‘์†๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ ๊ฒ€ ๋ฐฉ๋ฒ•

WSL2(Windows Subsystem for Linux 2)์—์„œ ์‹คํ–‰ ์ค‘์ธ ์›น ์„œ๋ฒ„, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“ฑ ๋ฆฌ๋ˆ…์Šค ์„œ๋น„์Šค๊ฐ€ Windows(ํ˜ธ์ŠคํŠธ)์—์„œ ์ ‘์†๋˜์ง€ ์•Š์„ ๋•Œ ์ ๊ฒ€ํ•ด์•ผ ํ•  ์ฃผ์š” ํ•ญ๋ชฉ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.


1. ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ ์ดํ•ด

  • WSL1์€ Windows์™€ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ณต์œ (๋กœ์ปฌํ˜ธ์ŠคํŠธ ์‚ฌ์šฉ)ํ•˜์ง€๋งŒ,
  • WSL2๋Š” NAT ๊ธฐ๋ฐ˜ ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ„๋„์˜ ๋‚ด๋ถ€ IP๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์ด ๋•Œ๋ฌธ์— WSL2์—์„œ ์‹คํ–‰ํ•œ ์„œ๋น„์Šค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ WSL2 ๋‚ด๋ถ€ IP์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋ฉฐ, Windows์—์„œ ๋ฐ”๋กœ ์ ‘๊ทผ์ด ์•ˆ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค[^13][^10][^9].

2. ์„œ๋น„์Šค ๋ฐ”์ธ๋”ฉ ์ฃผ์†Œ ํ™•์ธ

  • ๋ฆฌ๋ˆ…์Šค ์„œ๋น„์Šค(์˜ˆ: ์›น ์„œ๋ฒ„)๊ฐ€ 127.0.0.1(localhost)์—๋งŒ ๋ฐ”์ธ๋”ฉ๋˜์–ด ์žˆ์œผ๋ฉด WSL2 ๋‚ด๋ถ€์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ˜๋“œ์‹œ 0.0.0.0 ๋˜๋Š” WSL2์˜ ๋‚ด๋ถ€ IP๋กœ ๋ฐ”์ธ๋”ฉํ•ด์•ผ Windows์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์‹œ (Flask):

app.run(host='0.0.0.0', port=8000)


3. ํฌํŠธํฌ์›Œ๋”ฉ ์„ค์ •

WSL2์˜ ๋„คํŠธ์›Œํฌ ํŠน์„ฑ์ƒ, Windows์—์„œ WSL2๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ „๋‹ฌํ•˜๋ ค๋ฉด ํฌํŠธํฌ์›Œ๋”ฉ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์„ค์ • ๋ฐฉ๋ฒ•:

  1. WSL2์—์„œ ๋‚ด๋ถ€ IP ํ™•์ธ

hostname -I

  1. Windows PowerShell(๊ด€๋ฆฌ์ž ๊ถŒํ•œ)์—์„œ ํฌํŠธํฌ์›Œ๋”ฉ ์„ค์ •

netsh interface portproxy add v4tov4 listenport=8000 listenaddress=0.0.0.0 connectport=8000 connectaddress=

  • <WSL2_IP>๋Š” ์œ„์—์„œ ํ™•์ธํ•œ WSL2์˜ ๋‚ด๋ถ€ IP์ž…๋‹ˆ๋‹ค.
    • ์ด ์„ค์ •์€ Windows ์žฌ๋ถ€ํŒ… ๋˜๋Š” WSL2 ์žฌ์‹œ์ž‘ ์‹œ WSL2์˜ IP๊ฐ€ ๋ฐ”๋€Œ๋ฏ€๋กœ, ๊ทธ๋•Œ๋งˆ๋‹ค ์žฌ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค[^4][^9].

4. Windows ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ํ™•์ธ

  • Windows ๋ฐฉํ™”๋ฒฝ์ด ํ•ด๋‹น ํฌํŠธ๋ฅผ ๋ง‰๊ณ  ์žˆ์œผ๋ฉด ์ ‘์†์ด ์•ˆ ๋ฉ๋‹ˆ๋‹ค.
  • PowerShell(๊ด€๋ฆฌ์ž ๊ถŒํ•œ)์—์„œ ํฌํŠธ ํ—ˆ์šฉ ๊ทœ์น™ ์ถ”๊ฐ€:

New-NetFirewallRule -DisplayName "WSL2 Port 8000" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8000

  • ์—ฌ๋Ÿฌ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด, ํฌํŠธ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ฝค๋งˆ๋กœ ๊ตฌ๋ถ„ํ•ด ํ•œ ๋ฒˆ์— ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค[^4][^9].

5. WSL2 ๋„คํŠธ์›Œํฌ ๋ชจ๋“œ ๋ฐ ๋ฐฉํ™”๋ฒฝ ์ •์ฑ…

  • Windows 11 22H2 ์ด์ƒ, WSL 2.0.9 ์ด์ƒ์—์„œ๋Š” Hyper-V ๊ธฐ๋ฐ˜ ๋ฐฉํ™”๋ฒฝ์ด ๊ธฐ๋ณธ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค[^3][^8].
  • .wslconfig ํŒŒ์ผ์— networkingMode=mirrored๋ฅผ ์„ค์ •ํ•˜๋ฉด WSL2๊ฐ€ Windows ๋„คํŠธ์›Œํฌ๋ฅผ ์ง์ ‘ ๋ฏธ๋Ÿฌ๋งํ•ด LAN์—์„œ ๋ฐ”๋กœ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค.
    • ํŒŒ์ผ ์œ„์น˜: %USERPROFILE%\.wslconfig
    • ๋‚ด์šฉ ์˜ˆ์‹œ:

[wsl2] networkingMode=mirrored

  • ์ ์šฉ ํ›„ WSL2๋ฅผ ์žฌ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค^8.

6. VPN, ๊ธฐ์—… ๋ฐฉํ™”๋ฒฝ, ๋„คํŠธ์›Œํฌ ์ •์ฑ…

  • ํšŒ์‚ฌ๋‚˜ ์กฐ์ง ํ™˜๊ฒฝ์—์„œ๋Š” Windows Defender Firewall ์ •์ฑ…, VPN, ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ ์ •์ฑ…์— ์˜ํ•ด WSL2์˜ ๋„คํŠธ์›Œํฌ๊ฐ€ ์ œํ•œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • "Windows Defender Firewall with advanced security"์—์„œ "Rule Merging"์ด No๋กœ ๋˜์–ด ์žˆ์œผ๋ฉด WSL ๋„คํŠธ์›Œํฌ๊ฐ€ ์ฐจ๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๊ด€๋ฆฌ์ž์—๊ฒŒ ๋ฐฉํ™”๋ฒฝ ์˜ˆ์™ธ ๊ทœ์น™ ์ถ”๊ฐ€๋ฅผ ์š”์ฒญํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค^1.

7. ๊ธฐํƒ€ ์ ๊ฒ€ ์‚ฌํ•ญ

  • ์„œ๋น„์Šค๊ฐ€ ์‹ค์ œ๋กœ ์‹คํ–‰ ์ค‘์ธ์ง€, ํฌํŠธ๊ฐ€ ์—ด๋ ค ์žˆ๋Š”์ง€ WSL2์—์„œ ํ™•์ธ(ss -tuln ๋˜๋Š” netstat -tuln).
  • Windows์—์„œ telnet <WSL2_IP> <PORT> ๋˜๋Š” curl ๋“ฑ์œผ๋กœ ํฌํŠธ ์˜คํ”ˆ ์—ฌ๋ถ€ ํ™•์ธ.
  • WSL2 IP๊ฐ€ ์ž์ฃผ ๋ฐ”๋€Œ๋ฏ€๋กœ, ์ž๋™ํ™” ์Šคํฌ๋ฆฝํŠธ๋กœ ํฌํŠธํฌ์›Œ๋”ฉ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ๋„ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค^9.

์ ๊ฒ€ ์ฒดํฌ๋ฆฌ์ŠคํŠธ ์š”์•ฝ

์ ๊ฒ€ ํ•ญ๋ชฉ ์„ค๋ช… ๋ฐ ์กฐ์น˜
์„œ๋น„์Šค ๋ฐ”์ธ๋”ฉ ์ฃผ์†Œ 0.0.0.0 ๋˜๋Š” WSL2 IP๋กœ ๋ฐ”์ธ๋”ฉ
ํฌํŠธํฌ์›Œ๋”ฉ netsh๋กœ Windowsโ†’WSL2 ํฌํŠธํฌ์›Œ๋”ฉ ์„ค์ •
๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ Windows ๋ฐฉํ™”๋ฒฝ์—์„œ ํ•ด๋‹น ํฌํŠธ ์ธ๋ฐ”์šด๋“œ ํ—ˆ์šฉ
๋„คํŠธ์›Œํฌ ๋ชจ๋“œ .wslconfig์— networkingMode=mirrored ์ ์šฉ(Windows 11 ์ตœ์‹  ๋ฒ„์ „)
WSL2 IP ํ™•์ธ WSL2 ์žฌ์‹œ์ž‘ ์‹œ๋งˆ๋‹ค IP ๋ณ€๊ฒฝ, ํฌํŠธํฌ์›Œ๋”ฉ ์žฌ์„ค์ • ํ•„์š”
์กฐ์ง/๊ธฐ์—… ์ •์ฑ… ๋ฐฉํ™”๋ฒฝ Rule Merging ๋“ฑ ๋„คํŠธ์›Œํฌ ์ •์ฑ… ํ™•์ธ ๋ฐ ๊ด€๋ฆฌ์ž ๋ฌธ์˜
์„œ๋น„์Šค ์ƒํƒœ ํ™•์ธ WSL2 ๋‚ด์—์„œ ์„œ๋น„์Šค ์‹คํ–‰ยทํฌํŠธ ์˜คํ”ˆ ํ™•์ธ

์ฐธ๊ณ 

  • WSL2 ๋„คํŠธ์›Œํฌ ๋ฐ ๋ฐฉํ™”๋ฒฝ ๋ฌธ์ œ๋Š” Windows์™€ WSL2์˜ ๋ฒ„์ „, ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ, ๋ฐฉํ™”๋ฒฝ ์ •์ฑ…์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ตœ์‹  Windows 11/WSL2์—์„œ๋Š” ๋„คํŠธ์›Œํฌ ๋ฏธ๋Ÿฌ๋ง, Hyper-V ๋ฐฉํ™”๋ฒฝ ๋“ฑ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ ๊ทน ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค^3^4^1.

์ด๋ ‡๊ฒŒ ๋‹จ๊ณ„๋ณ„๋กœ ์ ๊ฒ€ํ•˜๋ฉด, ๋Œ€๋ถ€๋ถ„์˜ WSL2 ์„œ๋น„์Šค ์ ‘์† ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ‚