WSL2 포트 포워딩 / 외부에서 접근하기
2020. 6. 17. 00:22ㆍOS & Server/Windows
728x90
WSL2는 VM으로 실행이 되고 있기 때문에, Hyper-V처럼 물리적 이더넷 랜카드를 별도의 가상 이더넷 랜카드로 생성하여 IP를 할당합니다.
때문에 IP도 다르고, 심지어 재부팅을 하고 나면 ip가 변경됩니다.
이러한 단점으로 호스트에서 포트포워딩으로 잡아가도 통신이 안됩니다...
오로지 localhost를 통해서만은 셀프로 연결이 가능하죠
하지만 개발모드나, 외부든 내부망이든 접근하게 하고 싶고, 심지어 서비스까지 돌리고 싶은 유저들도 있을 겁니다.
이러한 문제점을 극복하기 위해 edwindijas님이 Powershell 명령을 통해 윈도 방화벽에 포트 포워딩을 하는 스크립트를 작성하였습니다.
정말 개꿀입니다.
https://github.com/microsoft/WSL/issues/4150
#All the ports you want to forward separated by coma
$ports=@(80,443,10000,3000,5000);
ports에 언급된 포트로 열어주게 되는데, 먼저 WSL의 ip를 탐색하고 기존 방화벽 룰이 추가되어 있다면 그 규칙을 제거하고 새로 발견된 ip로 다시 작성하는 것 같습니다.
저는 이것을 대충 작업 스케줄러로 로그온 할 때마다 실행하게 해 두었는데 파워 셸 코드라서
관리자 권한으로 실행해도 Execution Policy 경고가 나타날 텐데요.
# PowerShell.exe -ExecutionPolicy Bypass -File <filename>
PowerShell.exe -ExecutionPolicy Bypass -File .\wsl-networks.ps1
이렇게 작성해주면 Bypass를 진행할 수 있다고 합니다.
참조: https://codeac.tistory.com/118
728x90
'OS & Server > Windows' 카테고리의 다른 글
WSL2를 사용해본 장단점 후기 (0) | 2020.06.16 |
---|---|
Windows 터미널 Hyper.is 적용 하기 (0) | 2020.06.15 |
WSL2 + Docker compose 설치하기 (0) | 2020.06.14 |
Windows Powershell Choco 설치하기 (0) | 2020.02.23 |
윈도우 자동 로그인 하는 방법? / 컴퓨터 비밀번호 없이 / 설정 방법 (0) | 2018.04.15 |