반응형
포트 포워딩 설정
포트 포워딩은 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 기준)
- VMware 실행 후 해당 VM 선택
- Edit virtual machine settings
- Network Adapter → NAT 선택
- NAT Settings 클릭
- Port Forwarding → Add
- 아래와 같이 입력
| 설정 항목 | 예시 값 |
| 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 + 포트포워딩
- 외부 장치 테스트가 필요할 때만 브리지 사용
- 보안 민감 서비스는 로컬에서만 열기
- 데이터베이스는 가능하면 호스트 접속 허용 최소화
반응형
'Linuxpia > 리눅스 사용 팁' 카테고리의 다른 글
| 공유 폴더(Shared Folder) (0) | 2025.11.07 |
|---|---|
| SSH 원격 접속과 VS Code 연동 (1) | 2025.11.05 |
| 네트워크 연결 방식 (3) | 2025.11.01 |
| [VMware] 호스트와 가상머신 사이에 자유로운 소통 (2) | 2025.10.31 |
| wget과 curl의 차이 (1) | 2025.09.05 |