본문 바로가기
에러일지

[Next.js] Error: listen EACCES: permission denied 0.0.0.0:3000 해결방법

by 아촌 2025. 4. 3.

문제상황

WSL2와 Ubuntu를 VSCode에서 세팅한 후 개인 프로젝트 Next.js 실행 중에 에러가 발생했습니다.

커서나 windsuf, Trai 같은 IDE 사용 후에 서버가 종료되지 않는 에러는 보통 작업관리자에서 Node 프로세스를 직접 종료해주면 해결되는 문제였습니다. 하지만 이번에는 Node를 종료하는 것만으로 해결되지 않았습니다.

 

 

 

 

해결방법

CMD를 관리자 권한으로 실행합니다.

 

net stop winnat

 

net start winnat

 

이 명령어들로 네트워크 주소 변환(NAT) 서비스를 재시작함으로써 문제를 해결하였습니다.

WSL2는 경량 가상 머신을 기반으로 하며, 자체 가상 네트워크 어댑터와 IP 주소를 가지고 있습니다. Windows NAT 서비스는 이 가상 네트워크와 호스트 네트워크 간에 주소 변환을 담당하는데, 이 과정에서 포트 바인딩 문제가 발생한 것으로 보입니다.

 

 

 

궁금증

CMD는 무엇인가?

  • Windows 운영 체제에서 제공하는 명령줄 인터페이스 프로그램이다. 사용자가 텍스트 기반 명령어를 입력하여 컴퓨터를 제어하는 도구이다.

 

net stop winnat 명령어는 무엇인가?

 

  • net
    • 네트워크 관련 명령어들의 기본 명령어입니다.
    • Windows 운영 체제에서 네트워크 서비스, 연결, 공유 등을 관리하는 데 사용됩니다.
    • 다양한 하위 명령어(start, stop, use, view 등)와 함께 사용됩니다.
  • stop
    • 실행 중인 서비스를 중지하라는 하위 명령어입니다.
    • net 명령어와 함께 사용되어 특정 Windows 서비스를 중단시킵니다.
    • 서비스가 이미 중지된 상태라면 오류 메시지를 표시합니다.
  • winnat
    • Windows NAT(Network Address Translation) 드라이버 서비스의 서비스 이름입니다.
    • 이 서비스는 Windows에서 네트워크 주소 변환 기능을 제공합니다.
    • WSL2, Hyper-V, Docker와 같은 가상화 기술에서 네트워크 연결을 관리하는 데 사용됩니다.