본문으로 건너뛰기

"wsl" 태그로 연결된 2개 게시물개의 게시물이 있습니다.

모든 태그 보기

· 약 2분
Andes Noh

현상#

  • port
  • wsl내부에서 서버 프로그램 or 포트포워딩을 통해 포트 개방
  • 일반적으로 wsl과 local pc의 포트는 연결되지만 wsl에서만 포트가 열리고 local에서는 안되는 현상 발생
  • 이러한 현상을 아래의 스크립트를 통해 단편적으로 해소 가능

scripts#

$remoteport = bash.exe -c "ifconfig eth0 | grep 'inet '"$found = $remoteport -match '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}';
if( $found ){  $remoteport = $matches[0];} else{  echo "The Script Exited, the ip address of WSL 2 cannot be found";  exit;}
#[Ports]
#All the ports you want to forward separated by coma$ports=@(AAAA,BBB,CC,D);

#[Static ip]#You can change the addr to your ip config to listen to a specific address$addr='0.0.0.0';$ports_a = $ports -join ",";

#Remove Firewall Exception Rulesiex "Remove-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' ";
#adding Exception Rules for inbound and outbound Rulesiex "New-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' -Direction Outbound -LocalPort $ports_a -Action Allow -Protocol TCP";iex "New-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' -Direction Inbound -LocalPort $ports_a -Action Allow -Protocol TCP";
for( $i = 0; $i -lt $ports.length; $i++ ){  $port = $ports[$i];  iex "netsh interface portproxy delete v4tov4 listenport=$port listenaddress=$addr";  iex "netsh interface portproxy add v4tov4 listenport=$port listenaddress=$addr connectport=$port connectaddress=$remoteport";}
  • $ports=@(AAAA,BBB,CC,D) 위치에 로컬pc로 포트포워딩 하길 원하는 포트번호 입력

실행#

  • PowerShell 관리자 모드로 실행
  • 스크립트 파일 위치 이동
  • .\FILE_NAME 으로 파일 실행
  • 일시적이지만 wsl과 local pc의 포트는 서로 열린다

· 약 1분
Andes Noh

virtualbox wsl2 충돌피하는 법

1. wsl 종료#

  • cmd 관리자 모드로 실행

  • bcdedit /set hypervisorlaunchtype off 명령어 실행

  • 재부팅

  • 이후 wsl 실행시 아래와 같은 화면이 나오면 wsl이 꺼진것

vr1

2. wsl 시작#

  • 마찬가지로 cmd 관리자 모드로 실행

  • bcdedit /set hypervisorlaunchtype auto 명령어 실행

  • 재부팅

  • 이후 wsl을 켜서 정상동작 되는지 확인

vr2

※혹시 다시 켜도 위의 사진이 아닌 첫번째 사진처럼 나온다면

  • powerShell 관리자모드로 실행

  • dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 명령어 실행 후 재부팅

  • wsl 켜서 정상동작 확인.