Linuxpia/리눅스 사용 팁

포트 포워딩 설정

easyfly 2025. 11. 3. 15:22
반응형

포트 포워딩 설정

포트 포워딩은 NAT 환경에서 호스트가 가상머신 내부의 특정 서비스로 접근할 수 있도록 통로를 열어주는 설정입니다. 우분투 VM에서 Django, Flask, Node.js 같은 개발 서버를 실행하거나 MySQL, PostgreSQL 같은 데이터베이스에 연결할 때 반드시 필요합니다. VMware NAT 설정을 통해 포트를 연결하면, 호스트 혹은 동일 PC에서 브라우저나 도구로 VM에서 실행되는 서비스를 편리하게 테스트할 수 있습니다.

포워딩 설정


● 포트 포워딩의 원리

  • 가상머신 내부 서비스는 기본적으로 외부에서 직접 접근할 수 없습니다.
  • NAT 모드에서는 가상머신이 내부 IP(예: 192.168.XXX.XXX)를 받습니다.
  • 호스트가 특정 포트로 요청하면, VMware가 해당 요청을 VM 포트로 전달합니다.

예시
호스트가 localhost:8000으로 접근 → VM의 192.168.x.x:8000 웹 서버로 전달


● 설정 절차 (VMware Workstation 기준)

  1. VMware 실행 후 해당 VM 선택
  2. Edit virtual machine settings
  3. Network AdapterNAT 선택
  4. NAT Settings 클릭
  5. Port ForwardingAdd
  6. 아래와 같이 입력
설정 항목 예시 값
Host port 8000
Virtual machine IP VM 내부 IP 확인 후 입력
Virtual machine port 8000
Protocol TCP

● VM에서 서버 실행 예시

우분투 가상머신 터미널에서

python3 manage.py runserver 0.0.0.0:8000

또는

uvicorn main:app --host 0.0.0.0 --port 8000

● 호스트에서 접속 테스트

호스트 브라우저에서 입력

http://localhost:8000

정상이라면 VM에서 실행한 웹 애플리케이션이 표시됩니다.


● 자주 사용하는 포트 예시

목적 포트
Django/Flask/FastAPI 개발 서버 8000, 8080
MySQL 3306
PostgreSQL 5432
Redis 6379
SSH 22

● 문제 해결 체크

현상 점검 포인트
접속 불가 VM 서버 실행 여부
ERR_CONNECTION_REFUSED 포트 입력 오류 또는 방화벽
빈 화면 브라우저 캐시 또는 서비스 에러
IP 안 맞음 VMware Port Forwarding IP 재확인

필요시 아래 명령으로 VM 내부 IP 확인

ip addr show

● 권장 운영 방침

  • 개발용은 NAT + 포트포워딩
  • 외부 장치 테스트가 필요할 때만 브리지 사용
  • 보안 민감 서비스는 로컬에서만 열기
  • 데이터베이스는 가능하면 호스트 접속 허용 최소화

 

반응형