맥북 VMware Fusion에서 Port Forwarding 설정 완벽 가이드 (NAT + 외부 접속)
맥북에서는 윈도우와 달리 설정 위치가 달라서 (cmd , ) 누르시면 됩니다.
VMware Fusion에서 실행 중인 Rocky Linux VM에 외부(다른 PC/폰)에서 SSH 접속하기
1. 사전 준비 - 스냅샷 필수
왜 스냅샷을 찍어야 하나?
네트워크 설정 실수로 VM이 망가지면 복구가 어렵습니다.
# VMware Fusion 메뉴에서
Virtual Machine → Snapshots → Take Snapshot...
이름: "포트포워딩 설정 전"
2. VMware Fusion에서 커스텀 네트워크 생성 (아래 이미지 참고하시면 쉽습니다.)
문제 상황
- 기본 "Share with my Mac"에는 Port Forwarding 버튼이 없음
- Custom 네트워크를 직접 만들어야 함
설정 순서
Step 1: Preferences 열기 (cmd + ,)
VMware Fusion 메뉴 → Settings (⌘,)
→ Network 탭 클릭
Step 2: 자물쇠 해제
왼쪽 하단 자물쇠 아이콘 클릭
→ 맥북 비밀번호 입력
Step 3: 새 네트워크 추가
왼쪽 하단 [+] 버튼 클릭
→ vmnet2 (또는 vmnet3) 생성됨
Step 4: NAT 활성화
새로 생긴 vmnet2 선택
→ 오른쪽에서 체크박스 선택:
Allow virtual machines on this network to connect
to external networks (using NAT)
Step 5: Port Forwarding 설정
이제 [Port Forwarding...] 버튼이 보임!
클릭 → 포트 추가

3. Port Forwarding 규칙 추가
Rocky2 SSH 설정 예시
항목 값 설명
| Host Port | 2222 | 맥북에서 사용할 포트 |
| Type | TCP | 프로토콜 |
| VM IP Address | 192.168.100.10 | VM의 IP (본인 환경에 맞게 변경) |
| VM Port | 22 | SSH 기본 포트 |
| Description | rocky2_ssh | 메모 |
Rocky3 SSH 설정 예시
항목 값 설명
| Host Port | 2223 | 맥북에서 사용할 포트 |
| Type | TCP | 프로토콜 |
| VM IP Address | 192.168.100.20 | VM의 IP (본인 환경에 맞게 변경) |
| VM Port | 22 | SSH 기본 포트 |
| Description | rocky3_ssh | 메모 |
중요: VM IP Address는 본인이 VMware에서 사용하고 있는 실제 IP를 입력하세요.
설정 완료
Apply 버튼 클릭
OK로 창 닫기
4. VM에 새 네트워크 적용
VM 설정 변경
1. VMware Fusion에서 VM 선택 (종료 상태)
2. Settings (⚙️) 클릭
3. Network Adapter 선택
4. Custom 섹션에서 방금 만든 vmnet2 선택
5. OK
VM 부팅
이제 VM을 켜세요!
5. 맥북 IP 확인 (중요)
터미널에서 확인
# 방법 1: WiFi 인터페이스 IP 보기
ifconfig en0 | grep "inet "
# 방법 2: 전체 IP 보기
ifconfig | grep "inet " | grep -v 127.0.0.1
# 출력 예시 (실제 값은 다를 수 있음)
inet 192.168.1.100 netmask 0xfffff000 broadcast 192.168.1.255
^^^^^^^^^^^^
여기가 여러분의 맥북 IP입니다
참고: 실제 IP는 본인의 네트워크 환경에 따라 10.x.x.x, 172.16.x.x, 192.168.x.x 등 다양합니다.
GUI로 확인
Option 키 누른 채로 WiFi 아이콘 클릭
→ IP Address 확인
6. VM 내부에서 SSH 서비스 확인
Rocky2/Rocky3에서 실행
# 1. IP 확인
ip addr show | grep "inet "
# 또는
hostname -I
# 2. SSH 서비스 확인
sudo systemctl status sshd
# 3. SSH 서비스 시작 (안 켜져있으면)
sudo systemctl start sshd
sudo systemctl enable sshd
# 4. 방화벽 SSH 허용
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
# 5. SSH 포트 열려있는지 확인
sudo ss -tlnp | grep :22
7. 테스트 - 3단계 검증
테스트 1: localhost 접속 (맥북 터미널)
# Port Forwarding 작동 확인
nc -zv 127.0.0.1 2222
# 출력: Connection to 127.0.0.1 port 2222 [tcp/*] succeeded!
nc -zv 127.0.0.1 2223
# 출력: Connection to 127.0.0.1 port 2223 [tcp/*] succeeded!
테스트 2: SSH 접속 (맥북 터미널)
# Rocky2 접속
ssh -p 2222 user@127.0.0.1
# 또는
ssh -p 2222 user@localhost
# Rocky3 접속
ssh -p 2223 user@127.0.0.1
참고: user 부분은 본인의 VM 사용자명으로 변경하세요.
테스트 3: 맥북 IP로 접속 (맥북 터미널)
# 내 맥북 IP 확인
ifconfig en0 | grep "inet "
# 맥북 IP로 접속 (예시)
ssh -p 2222 user@192.168.1.100
ssh -p 2223 user@192.168.1.100
테스트 4: 다른 기기에서 접속 (같은 WiFi)
# iPhone, 다른 맥북, 윈도우 PC 등에서
# (같은 WiFi 연결 필수!)
ssh -p 2222 user@[맥북IP주소]
8. 외부 접속 활성화 (공인 IP)
현재 상태
- 같은 WiFi 내에서 접속 가능
- 외부(카페, 회사 등)에서 접속 불가
외부 접속 방법
방법 1: 공유기 Port Forwarding (집에서)
공유기 관리페이지 접속 (보통 192.168.0.1 또는 192.168.1.1)
→ 포트포워딩 설정
→ 외부 포트: 2222 → 내부 IP: [맥북IP] → 내부 포트: 2222
주의: 보안 위험 있음! 강력한 비밀번호 필수
방법 2: ngrok 사용 (추천)
# ngrok 설치
brew install ngrok
# TCP 터널 생성
ngrok tcp 2222
# 출력 예시
Forwarding tcp://0.tcp.ngrok.io:12345 -> localhost:2222
^^^^^^^^^^^^^^^^^^^^^^
이 주소로 전세계 어디서든 접속 가능
# 접속 방법
ssh -p 12345 user@0.tcp.ngrok.io
9. 문제 해결 (Troubleshooting)
Connection refused
# VM 내부에서
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
Operation timed out
# Port Forwarding 재확인
VMware Fusion → Settings → Network
→ vmnet2 → Port Forwarding...
→ 규칙이 제대로 있는지 확인
# VMware 재시작
VM 종료 → VMware Fusion 종료 (⌘Q) → 재시작
No route to host
# VM이 실제로 vmnet2를 사용하는지 확인
VM Settings → Network Adapter → vmnet2 선택됐는지 확인
스냅샷으로 복구
Virtual Machine → Snapshots → Restore Snapshot
→ "포트포워딩 설정 전" 선택
10. 최종 검증 스크립트
맥북에서 실행 (복사해서 붙여넣기)
#!/bin/bash
echo "=== 맥북 IP 확인 ==="
MY_IP=$(ifconfig en0 | grep "inet " | awk '{print $2}')
echo "맥북 IP: $MY_IP"
echo ""
echo "=== Port Forwarding 테스트 ==="
echo "Rocky2 (2222 포트):"
nc -zv 127.0.0.1 2222 2>&1 | grep succeeded && echo "성공" || echo "실패"
echo "Rocky3 (2223 포트):"
nc -zv 127.0.0.1 2223 2>&1 | grep succeeded && echo "성공" || echo "실패"
echo ""
echo "=== SSH 접속 명령어 ==="
echo "localhost: ssh -p 2222 user@127.0.0.1"
echo "맥북 IP: ssh -p 2222 user@$MY_IP"
echo "다른 기기: ssh -p 2222 user@$MY_IP (같은 WiFi만)"
실행 방법
# 1. 파일로 저장
nano port_test.sh
# 2. 위 스크립트 붙여넣기
# 3. Ctrl+O (저장) → Enter → Ctrl+X (나가기)
# 4. 실행 권한 부여
chmod +x port_test.sh
# 5. 실행
./port_test.sh
설정 요약표
구분 Rocky2 Rocky3
| VM IP | 192.168.100.10 | 192.168.100.20 |
| Host Port | 2222 | 2223 |
| VM Port | 22 | 22 |
| localhost 접속 | ssh -p 2222 user@127.0.0.1 | ssh -p 2223 user@127.0.0.1 |
| 맥북 IP 접속 | ssh -p 2222 user@[맥북IP] | ssh -p 2223 user@[맥북IP] |
참고: 위 표의 IP 주소는 모두 예시이며, 실제 환경에 맞게 변경하세요.
핵심 정리
Port Forwarding이란?
"외부에서 내 컴퓨터 안의 가상머신에 접속할 수 있게 해주는 문"
인터넷
↓
맥북 ([맥북IP]:2222) ← 외부에서 여기로 접속
↓ Port Forwarding
VM Rocky2 ([VM IP]:22) ← 실제 SSH 서버
왜 필요한가?
- NAT 모드는 VM → 외부는 되지만, 외부 → VM은 안 됨
- Port Forwarding으로 외부 → VM 접속 가능하게 만듦
실무 활용
- 집에서 서버 띄우고 회사/카페에서 접속
- 팀원들과 VM 공유
- 원격 개발 환경 구축
보안 주의사항
반드시 지켜야 할 것
- 강력한 비밀번호 사용
passwd # 비밀번호 변경
- SSH 키 인증 사용 (비밀번호보다 안전)
# 맥북에서 키 생성
ssh-keygen -t rsa -b 4096
# VM에 공개키 복사
ssh-copy-id -p 2222 user@127.0.0.1
# 이제 비밀번호 없이 접속 가능
ssh -p 2222 user@127.0.0.1
- fail2ban 설치 (무차별 대입 공격 방어)
sudo dnf install fail2ban -y
sudo systemctl enable --now fail2ban
- 실제 IP 정보는 절대 온라인에 공개하지 마세요
- 사설 IP라도 네트워크 구조 노출 위험
- 같은 네트워크 사용자로부터 공격 가능
- 블로그나 SNS에 공유 금지
마무리: 이제 여러분은 VMware Fusion에서 Port Forwarding 설정을 완료했습니다. 외부에서 VM에 안전하게 접속할 수 있습니다.
'리눅스' 카테고리의 다른 글
| [Linux 7주차 수업정리] Linux 메일 서버 + NIC Bonding 구축 실습 정리 (0) | 2026.03.08 |
|---|---|
| [Linux: 5주차 2차시] Linux 네트워크 서비스 학습 정리 (Samba & DHCP 실습 트러블슈팅) (0) | 2026.02.13 |
| [Linux] 4주차 수업 정리 (디스크 쿼터, 백업, 방화벽, 쉘 스크립트) (0) | 2026.02.03 |
| [Linux: Docker] Docker 초보자를 위한 기초 명령어 및 실습 코드 - 클로드 이용 (0) | 2026.01.30 |
| [Linux] Linux 디스크 쿼터(Quota) 설정 실습 공부 기록 (0) | 2026.01.29 |