지난번에 포트 점유로 인한 파이참(인텔리제이 등등) 실행 오류 해결법을 올렸는데 그 방법은 치명적인 문제가 있다. 명령 실행 후 wsl에서 네트워크 연결이 안 되는 것...
wsl에서 돌아가는 프로그램 개발하려고 파이참을 켜는 건데 이러면 답이 없다... 다시 정보의 바다에 나선 끝에 근본적인 해결책을 찾았다.
일단 원인부터 설명하자면 윈도우에서는 임시 포트로 사용할 수 있는 동적 포트 영역이 설정되어 있다. 그래서 프로그램이 아무 포트나 요청하면 이 영역에서 부여해주는데 무슨 영문인진 모르겠지만 이 영역이 이상하게 설정되어 있었다.
netsh int ipv4 show dynamicport tcp
netsh int ipv4 show dynamicport udp
netsh int ipv6 show dynamicport tcp
netsh int ipv6 show dynamicport udp
터미널을 열고 위 명령어를 입력하면 지정된 동적 포트의 범위를 볼 수 있다.
https://docs.microsoft.com/ko-kr/windows/client-management/troubleshoot-tcpip-port-exhaust
이 문서를 참고하면 윈도우 기본 설정은 49152~65535인데 무슨 영문인지 tcp가 1024~15000으로 설정되어 있다. 저 영역은 등록된 포트 영역으로 여러 프로그램이 이미 사용 중인 영역이다... 아무튼 저렇게 설정되어 있으니 하이퍼v가 동적 포트를 점유하는 과정에서 파이참이 사용하는 영역을 몽땅 점유해버리는 바람에 이런 오류가 난 것이다.
이제 설정을 올바르게 바꿔보자
netsh int ipv4 set dynamicport tcp start=49152 num=16384
netsh int ipv6 set dynamicport tcp start=49152 num=16384
관리자 권한으로 터미널을 열고 위 명령을 입력한다. 아까 위에서 ipv4 tcp와 ipv6 tcp만 이상했으니 이 둘만 설정을 바꿨다.
이제 깔끔하게 재부팅 하면 끝! 근본적인 문제가 해결되었으니 이제 앞으로 Address already in use: bind 에러는 보기 힘들 것이다.
'Windows' 카테고리의 다른 글
Windows Subsystem for Android (WSA) 설치하기 (0) | 2022.12.18 |
---|---|
엣지 브라우저에서 WebAssembly가 작동하지 않을 때 (0) | 2022.06.25 |
WSL에서 ‘bash\r’: No such file or directory 오류가 날 때 (0) | 2022.05.28 |
AMD StoreMI 부팅 지연 문제 (0) | 2021.10.31 |
IntelliJ 실행 시 Address already in use: bind 오류가 날 때 (0) | 2021.09.25 |
윈도우 10 홈에서 원격 데스크톱 사용하기 (2) | 2021.07.24 |
윈도우에서 사용 중인 포트 확인 하기 (0) | 2021.06.26 |
PowerShell "이 시스템에서 스크립트를 실행할 수 없으므로 파일을 로드할 수 없습니다." 해결법 (0) | 2021.03.06 |