WSL에서 만든 서비스가 public한 외부 network에 공개되기 위해서는 Windows network interface에서 WSL network interface로 port forwarding을 설정해야 한다.
port forwarding을 설정을 하기 위해서는 먼저 windows에서 설정하려는 port number를 이미 사용 중인지 확인해야 한다.
netstat -ano | findstr $port
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 1480
TCP 0.0.0.0:19812 0.0.0.0:0 LISTENING 11280
...... 생략 ......
만약, 사용하려는 port가 이미 사용 중이라면 다른 port를 사용하도록 변경하던가, 어떤 Porcess에서 사용 중인지 확인해서 사용 해제를 해야 한다.
사용 가능한 port 라면, windows에서 서비스에 사용할 ip와 port를 wsl ip와 port에 연결해준다.
netsh interface portproxy add v4tov4 listenport={$listen port} listenaddress={$windows ip adress} connectport={$connect port} connectaddress={$wsl ip address}
연결이 되었다면, 다음과 같이 확인 할 수 있다.
netsh interface portproxy show v4tov4
Listen on ipv4: Connect to ipv4:
Address Port Address Port
--------------- ---------- --------------- ----------
0.0.0.0 80 172.30.106.233 80