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๋ก ํธ๋ํฝ์ ์ ๋ฌํ๋ ค๋ฉด ํฌํธํฌ์๋ฉ์ด ํ์ํฉ๋๋ค.
์ค์ ๋ฐฉ๋ฒ:
- WSL2์์ ๋ด๋ถ IP ํ์ธ
hostname -I
- 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 ์๋น์ค ์ ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.