리눅스

[Linux] 맥북 VMware Fusion에서 Port Forwarding 설정 완벽 가이드

palantirops 2026. 2. 3. 15:08

맥북 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 공유
  • 원격 개발 환경 구축

보안 주의사항

반드시 지켜야 할 것

  1. 강력한 비밀번호 사용
passwd  # 비밀번호 변경
  1. 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
  1. fail2ban 설치 (무차별 대입 공격 방어)
sudo dnf install fail2ban -y
sudo systemctl enable --now fail2ban
  1. 실제 IP 정보는 절대 온라인에 공개하지 마세요
  • 사설 IP라도 네트워크 구조 노출 위험
  • 같은 네트워크 사용자로부터 공격 가능
  • 블로그나 SNS에 공유 금지

마무리: 이제 여러분은 VMware Fusion에서 Port Forwarding 설정을 완료했습니다. 외부에서 VM에 안전하게 접속할 수 있습니다.