본문 바로가기
카테고리 없음

포트포워딩은 무엇이고 왜 필요할까

by by_merry 2026. 4. 26.

집에서 서버를 한 번이라도 열어보려고 하면 반드시 마주치는 개념이 있다. 바로 포트포워딩이다.

처음에는 이름부터 어렵다. 나도 처음에는 “포트? 포워딩? 뭘 전달한다는 거지?”라는 느낌이었다.

그런데 이걸 한 번 이해하면, “왜 내 서버가 밖에서 접속이 안 됐는지” 바로 이해된다.

결론부터 말하면 포트포워딩은 외부에서 들어온 요청을 내 컴퓨터로 연결해주는 설정이다.

 

왜 포트포워딩이 필요할까

집에서 사용하는 인터넷 환경을 보면 대부분 이런 구조다.

  • 공유기 (Wi-Fi)
  • → 여러 개의 기기 (노트북, 폰, PC)

즉, 외부에서는 공유기만 보이고, 그 안에 있는 내 컴퓨터는 직접 보이지 않는다.

그래서 이런 문제가 생긴다.

  • 내 PC에서 서버를 켰는데
  • 외부에서는 접속이 안 됨

왜냐하면 외부에서 들어온 요청이 “어느 컴퓨터로 가야 하는지” 모르기 때문이다.

이걸 해결해주는 게 포트포워딩이다.

포트는 무엇일까

포트포워딩을 이해하려면 먼저 “포트”를 알아야 한다.

포트는 쉽게 말해서 컴퓨터 안의 “문 번호” 같은 개념이다.

예를 들어:

  • 80번 포트 → 웹사이트 (HTTP)
  • 443번 포트 → HTTPS
  • 3000번 포트 → 개발 서버

즉, 하나의 컴퓨터 안에서도 여러 개의 프로그램이 각각 다른 포트를 사용한다.

그래서 외부에서 요청이 들어오면:

“어느 포트로 갈지”도 중요하다.

포트포워딩은 어떻게 동작할까

포트포워딩은 공유기에서 설정한다.

기본 구조는 이렇게 된다.

외부 → 공유기 → 내부 컴퓨터

예를 들어:

  • 외부에서 8080 포트로 접속하면
  • 공유기가 그 요청을
  • 내 PC의 3000 포트로 보내준다

이렇게 연결하는 것이다.

즉:

  • 외부 포트 → 내부 IP + 내부 포트

로 매핑(mapping)하는 과정이다.

비유하면 이렇게 이해하면 쉽다

포트포워딩은 택배 배송과 비슷하다.

외부에서 택배가 오면:

  • 아파트(공유기)까지는 도착하지만
  • 어느 집(컴퓨터)인지 모르면 전달이 안 된다

그래서 관리실(공유기)이:

  • “이 번호는 101호로 보내라”

라고 정해주는 것이다.

이게 바로 포트포워딩이다.

실제로 언제 필요할까

포트포워딩은 이런 상황에서 필요하다.

  • 집에서 웹서버를 열고 싶을 때
  • 게임 서버를 만들 때 (마인크래프트 등)
  • NAS나 개인 서버를 외부에서 접속할 때
  • Docker 컨테이너를 외부에 공개할 때

즉, “내 컴퓨터를 밖에서 접속 가능하게 만들고 싶을 때” 무조건 필요하다.

포트포워딩이 없으면 어떻게 될까

포트포워딩을 하지 않으면:

  • 내 컴퓨터에서는 접속 가능
  • 같은 Wi-Fi에서는 접속 가능
  • 외부에서는 접속 불가

이 상태가 된다.

그래서 많은 사람들이 “서버가 안 된다”고 착각한다.

사실은 서버 문제가 아니라, 포트포워딩 설정 문제인 경우가 대부분이다.

Docker와도 연결되는 개념

Docker를 사용할 때도 포트 개념이 나온다.

docker run -p 3000:3000 myapp

이건:

  • 컨테이너의 3000 포트를
  • 내 컴퓨터의 3000 포트로 연결하는 것

이다.

그리고 그 다음 단계가 바로 포트포워딩이다.

즉:

  • Docker → 내 PC 포트 연결
  • 포트포워딩 → 외부 → 내 PC 연결

이렇게 이어진다.

한 줄로 정리하면

포트포워딩은 외부에서 들어온 요청을 공유기를 통해 내 컴퓨터의 특정 포트로 연결해주는 설정이다. 서버를 외부에 공개하려면 반드시 필요하다.