윈도우 VMware의 macOS 12.6에서 갤럭시 USB 테더링으로 인터넷 연결하기

2026. 7. 17. 21:24IT&모바일&컴퓨터

반응형

윈도우 VMware의 macOS 12.6에서 갤럭시 USB 테더링으로 인터넷 연결하기

윈도우 노트북에 VMware를 설치한 뒤, VMware 안에서 실행되는 macOS에 갤럭시 안드로이드 휴대폰의 USB 테더링을 연결해 보았습니다.

 

최종적으로 만들고 싶은 연결 구조는 다음과 같습니다.

갤럭시 모바일 데이터 → USB 테더링 → VMware의 macOS → 윈도우 호스트에서 인터넷 공유받기

 

다만 이번 글에서는 전체 구성 중 1단계, 즉 VMware 안의 macOS가 갤럭시 USB 테더링으로 인터넷에 연결되는 과정까지만 정리합니다.

 

VMware macOS의 인터넷을 다시 윈도우 호스트로 넘기는 역방향 인터넷 공유는 별도의 네트워크 구성이 필요하므로 후속 글에서 다룰 예정입니다.

이번 글에서 확인한 범위

  • 윈도우 노트북에서 VMware Workstation 실행
  • VMware에 설치된 macOS 12.6 부팅
  • 갤럭시 USB 장치를 윈도우가 아닌 macOS 가상머신에 연결
  • HoRNDIS 설치 및 macOS 보안 설정 변경
  • macOS에서 Android 네트워크 인터페이스 생성 확인
  • DHCP로 IP 주소를 받은 뒤 실제 인터넷 접속 확인

 

참고로 안드로이드 USB 테더링용으로 널리 사용되던 HoRNDIS는 오래된 Kext 방식의 드라이버입니다. 제가 확인한 환경에서는 macOS Monterey 12.6.1에서 우회적으로 연결할 수 있었지만, 최신 macOS에서는 보안 정책과 드라이버 호환성 문제로 같은 방법이 동작하지 않을 가능성이 큽니다.

 

또한 아래 과정에는 SIP와 AMFI 관련 보안 설정을 낮추는 단계가 포함되어 있어, 본인의 책임하에 작업하시기 바랍니다.


<A. 전체 연결 구조 이해하기>

이번 구성은 VMware의 일반적인 NAT 연결과 방향이 반대입니다.

보통 VMware NAT는 윈도우 호스트의 인터넷을 가상머신이 공유받는 방식입니다. 하지만 이번 실험에서는 갤럭시의 모바일 데이터가 먼저 macOS 가상머신으로 들어옵니다.

갤럭시 휴대폰의 모바일 데이터
→ USB 케이블
→ 윈도우 노트북의 USB 포트
→ VMware USB 패스스루
→ macOS 12.6 게스트
→ HoRNDIS 네트워크 인터페이스
→ DHCP로 IP 주소 할당
→ VMware 안의 macOS에서 인터넷 연결

 

따라서 휴대폰 USB 장치의 제어권을 윈도우 호스트가 아니라 VMware의 macOS 게스트가 가져가야 합니다.


<A. VMware에서 갤럭시 USB 장치를 macOS 가상머신에 연결>

먼저 VMware에서 macOS 가상머신을 실행합니다.

갤럭시 휴대폰을 USB 케이블로 윈도우 노트북에 연결한 뒤 VMware 메뉴에서 다음 경로를 확인합니다.

VM → Removable Devices → Samsung Android 또는 Android Device → Connect

 

이 작업을 하면 해당 USB 장치의 제어권이 윈도우 호스트에서 macOS 가상머신으로 넘어갑니다. 하나의 USB 장치를 호스트와 게스트가 동시에 독점해서 사용할 수는 없습니다.

USB 장치가 나타나지 않거나 연결이 끊기는 경우 다음을 확인합니다.

  • 가상머신 설정에 USB Controller가 추가되어 있는지 확인
  • USB 호환성을 USB 3.1에서 USB 2.0으로 낮춰 재시도
  • 충전 전용이 아닌 데이터 통신 가능한 USB 케이블 사용
  • 윈도우의 Samsung USB Driver 또는 Smart Switch가 장치를 점유하고 있지 않은지 확인
  • Windows 서비스에서 VMware USB Arbitration Service가 실행 중인지 확인
  • 가상머신을 완전히 종료한 뒤 USB Controller를 제거하고 다시 추가

<B. HoRNDIS 설치를 위한 macOS 보안 설정 변경>

HoRNDIS는 최신 DriverKit 기반 드라이버가 아니라 예전 방식의 커널 확장 프로그램(Kext)입니다. 따라서 macOS 12.6에서도 기본 보안 설정 상태에서는 설치 또는 로드가 차단될 수 있습니다.

 

아래 화면은 VMware에서 실행 중인 macOS 복구 터미널입니다. 화면 하단의 sw_vers 결과로 macOS 12.6.1 환경임을 확인할 수 있습니다.

 

가상머신을 macOS 복구 모드로 부팅한 뒤 터미널에서 다음 명령을 사용했습니다.

(캡쳐한게 편집중에 사라졌네요 ㅠㅠ 아래 명령을 넣는다고 그 결과 특별한건 안나오니 걱정마시기 바랍니다.)

csrutil disable

 

전체 SIP를 해제하지 않고 Kext 제한만 완화하려면 다음 명령을 시도할 수 있습니다.(전안함)

csrutil enable --without kext

 

오래된 서명 방식의 커널 확장 프로그램이 AMFI에 의해 차단되는 경우에는 다음 부팅 인수를 추가했습니다. (전안함)

nvram boot-args="amfi_get_out_of_my_way=1"

주의

위 명령은 macOS의 시스템 보호 기능을 약화시킵니다. 혹시 중요한 시스템이라면 먼저 스냅샷을 만들어 두는 것이 좋습니다.

 

설정을 적용한 뒤 macOS를 재부팅합니다.

혹시 필요하다면, 보안 설정 상태는 다음 명령으로 확인할 수 있습니다.

csrutil status
nvram boot-args

<C. HoRNDIS 설치 파일 실행>

재부팅한 뒤 다운로드 폴더에서 HoRNDIS 설치 패키지를 실행합니다.

위 화면은 macOS의 보안 및 개인 정보 보호 → 개인 정보 보호 → 손쉬운 사용 항목입니다. 처음에는 vmware-tools-daemon의 접근 권한이 꺼져 있습니다.

자물쇠를 해제한 뒤 vmware-tools-daemon을 허용합니다. 이 설정은 VMware Tools가 macOS 게스트 내부에서 정상적으로 동작하도록 하기 위한 것입니다.

처음에는 다운로드 폴더가 비어 보일 수 있습니다.

설치 파일을 복사하거나 다운로드하면 HoRNDIS-9.2.pkg가 나타납니다.

HoRNDIS 설치 프로그램을 실행해 설치를 진행합니다.


<D. 차단된 시스템 확장 프로그램 허용>

설치 과정에서 “시스템 확장 프로그램이 업데이트됨” 또는 “시스템 소프트웨어가 차단됨”과 같은 메시지가 나타날 수 있습니다.

메시지에서 보안 환경설정 열기를 선택합니다.

자물쇠를 클릭하고 macOS 계정 암호를 입력해 설정을 변경할 수 있는 상태로 만듭니다.

허용을 눌러주면 됩니다.

화면 아래쪽에 표시된 개발자 Joshua Wise의 시스템 소프트웨어에 대해 허용을 누릅니다.

새로운 시스템 확장 프로그램을 사용하기 전에 재시동해야 한다는 안내가 표시되면 재시동을 선택합니다.

 

제 환경에서는 설치 프로그램 마지막 화면에 설치에 실패했습니다라는 메시지가 표시되기도 했습니다. 하지만 이 메시지만 보고 바로 포기하지 않고, Kext 파일이 실제로 복사되었는지와 수동 로드 가능 여부를 확인했습니다. (원래 그랬다고 하네요)


<E. HoRNDIS Kext 권한 수정 및 수동 로드>

HoRNDIS가 /Library/Extensions/HoRNDIS.kext에 복사되어 있다면 터미널에서 소유권과 권한을 조정한 뒤 수동으로 로드할 수 있습니다.

sudo chown -R root:wheel /Library/Extensions/HoRNDIS.kext
sudo chmod -R 755 /Library/Extensions/HoRNDIS.kext
sudo kextload -t /Library/Extensions/HoRNDIS.kext

 

화면에는 josh-wise.com 관련 Kext가 제외되거나 로드되지 않았다는 문구가 나타날 수 있습니다. 이 경우 앞 단계의 시스템 소프트웨어 허용 여부, 재부팅 여부, SIP 및 AMFI 설정을 다시 확인합니다.

 

로드 상태는 다음 명령으로 확인할 수 있습니다.(안함)

kmutil showloaded | grep -i rndis

 

구형 macOS에서는 다음 명령으로 표시되는 경우도 있습니다. (안함)

kextstat | grep -i rndis

<F. 갤럭시에서 USB 테더링 켜기>

macOS 가상머신이 다시 시작되면 갤럭시의 USB 연결 모드를 확인합니다.

갤럭시에서는 일반적으로 다음 경로에서 USB 테더링을 켤 수 있습니다.

설정 → 연결 → 모바일 핫스팟 및 테더링 → USB 테더링

 

USB 테더링 메뉴가 회색으로 비활성화되어 있다면 다음을 확인합니다.

  • 휴대폰이 VMware의 macOS 게스트에 실제로 연결되어 있는지
  • USB 케이블이 데이터 통신을 지원하는지
  • 휴대폰 화면 잠금을 해제했는지
  • USB 연결 용도를 파일 전송/Android Auto로 한 번 변경했는지
  • 다른 USB 포트 또는 VMware USB 2.0 호환 모드로 연결했는지

<G. macOS 네트워크에서 Android 장치가 나타날 때까지 기다리기>

USB 테더링을 켠 직후에는 macOS의 네트워크 설정에 Android 장치가 바로 나타나지 않을 수 있습니다.

HoRNDIS가 USB 장치를 네트워크 인터페이스로 등록하고, 갤럭시의 DHCP 서버에서 IP 주소를 받아오는 데 시간이 걸리기 때문입니다. 따라서 장치가 바로 보이지 않더라도 잠시 기다려 봅니다.

정상적으로 등록되면 macOS 네트워크 목록에 Android, RNDIS, SAMSUNG_Android 또는 이와 비슷한 이름의 새 네트워크 서비스가 나타납니다.

위 화면에서는 SAMSUNG_Android 인터페이스가 생성되었고, DHCP를 사용해 사설 IP 주소를 받은 상태를 확인할 수 있습니다.

핵심은 장치 인식인터넷 연결이 서로 다른 단계라는 점입니다.

  1. VMware가 갤럭시 USB 장치를 인식
  2. HoRNDIS가 USB 장치를 네트워크 인터페이스로 생성
  3. DHCP를 통해 IP, 게이트웨이, DNS 정보를 수신
  4. 네트워크 상태가 초록색 연결됨으로 변경

<H. DHCP에서 IP 주소를 못 받아올 때 해결 방법>

제가 시도한 과정에서는 Android 네트워크 장치가 생성되었는데도 DHCP에서 IP 주소를 받아오지 못하는 경우가 종종 있었습니다.

이때는 갤럭시의 USB 기능을 한 번 전환하면 비교적 쉽게 해결되었습니다.

제가 해결한 순서

  1. 갤럭시의 USB 테더링을 끔
  2. USB 연결 용도를 파일 전송으로 변경
  3. 몇 초 기다림
  4. 다시 USB 테더링을 켬
  5. macOS 네트워크 화면에서 IP 주소가 할당되는지 확인

 

이 방법이 효과가 있는 이유는 USB 기능을 전환할 때 장치가 다시 열거되고, HoRNDIS 인터페이스와 DHCP 요청도 함께 새로 시작되기 때문으로 보입니다.

 

안드로이드가 잡히는 데 시간이 조금 걸릴 수 있으니 바로 실패로 판단하지 말고 기다리는 것이 좋습니다.

정상적으로 연결되면 Android 네트워크 서비스가 초록색으로 바뀌고 연결됨 상태가 표시됩니다.

IP를 받지 못할 때 추가로 확인할 항목은 다음과 같습니다.

H1. DHCP 임대 갱신

macOS 네트워크 설정에서 해당 Android 인터페이스의 세부사항 또는 고급 메뉴로 들어가 DHCP 임대 갱신을 실행합니다.

터미널에서는 다음 명령으로 인터페이스와 기본 경로를 확인할 수 있습니다.

ifconfig
route -n get default

H2. VMware에서 USB 연결 해제 후 재연결

VM → Removable Devices → Samsung Android → Disconnect
다시 같은 메뉴에서 Connect 실행

 

H3. 가상 USB 컨트롤러 버전 변경

USB 3.x에서 장치 인식이 불안정하면 가상머신을 종료하고 VMware의 USB 호환성을 USB 2.0으로 낮춰 봅니다. 속도는 느릴 수 있지만 구형 macOS와 오래된 HoRNDIS 조합에서는 USB 2.0이 더 안정적인 경우가 있습니다.

H4. macOS 네트워크 서비스 삭제 후 다시 생성

네트워크 목록에 Android 인터페이스가 남아 있지만 연결되지 않는 경우 해당 서비스를 삭제한 뒤 USB 테더링을 다시 켜 새로 생성되도록 합니다.

H5. 재부팅 순서

계속 실패하면 다음 순서로 범위를 줄여 봅니다.

  1. USB 테더링 끄기/켜기
  2. USB 케이블 분리/재연결
  3. VMware USB 장치 연결 해제/재연결
  4. macOS 가상머신 재부팅
  5. VMware 종료 후 재실행
  6. 윈도우 호스트 재부팅

<I. 실제 인터넷 접속 확인>

네트워크 상태가 초록색으로 표시되면 브라우저를 열어 실제 웹사이트에 접속해 봅니다.

단순히 IP 주소가 할당되었다고 해서 인터넷과 DNS가 모두 정상이라는 뜻은 아니므로 다음 순서로 확인하면 좋습니다.

ping -c 4 8.8.8.8
ping -c 4 google.com

 

첫 번째 명령은 되지만 두 번째 명령이 실패한다면 DNS 설정 문제일 가능성이 있습니다.

위 화면처럼 VMware 안의 macOS 브라우저에서 Google 페이지가 열리면 갤럭시 USB 테더링을 통한 인터넷 연결이 완료된 것입니다.


<J. 다음 단계: macOS의 인터넷을 윈도우 호스트에 공유할 수 있을까?>

여기까지는 갤럭시의 인터넷을 VMware 안의 macOS가 사용하는 데 성공한 것입니다.

하지만 일반적인 VMware NAT는 윈도우 호스트 → 가상머신 방향으로 동작합니다. 현재 필요한 것은 반대로 macOS 게스트 → 윈도우 호스트 방향으로 인터넷을 전달하는 것입니다.

다음 단계에서는 아래와 같은 구성을 별도로 만들어야 합니다.

  • macOS의 첫 번째 네트워크: 갤럭시 HoRNDIS 인터넷 입력
  • macOS의 두 번째 네트워크: VMware Host-only 네트워크
  • macOS 인터넷 공유 기능: HoRNDIS → Host-only 어댑터로 공유
  • 윈도우의 VMware 가상 어댑터: macOS를 게이트웨이로 사용

위 VMware 가상머신 설정 화면처럼 Host-only와 NAT 등 가상 네트워크 어댑터를 추가할 수 있습니다. 다만 역방향 공유를 실제로 구성하려면 macOS Internet Sharing, DHCP 충돌, 기본 게이트웨이와 DNS 설정까지 함께 조정해야 합니다.

이번 글에서는 우선 갤럭시 테더링이 VMware 내부 macOS까지 정상적으로 들어오는 것을 확인한 것으로 마무리합니다.


<<결론: VMware의 macOS 12.6에서 갤럭시 USB 테더링 연결 성공>>

윈도우 노트북에서 VMware를 실행한 뒤 갤럭시 휴대폰의 USB 장치를 macOS 가상머신으로 넘기고, HoRNDIS를 설치하여 인터넷 연결을 확인했습니다.

오래된 Kext 드라이버를 사용하기 때문에 설치가 간단하지 않았고, SIP와 AMFI 관련 보안 설정을 조정해야 했습니다. 설치 프로그램이 실패로 표시되더라도 Kext가 복사되어 있다면 권한 조정과 수동 로드를 확인할 필요가 있었습니다.

또한 Android 네트워크 인터페이스가 나타난 뒤에도 DHCP에서 IP 주소를 받아오기까지 시간이 걸리거나 실패할 수 있었습니다. 이때 갤럭시의 USB 연결 모드를 USB 테더링 → 파일 전송 → USB 테더링 순서로 전환하면 장치와 DHCP가 다시 초기화되면서 연결되는 경우가 있었습니다.

<요약>

  1. VMware에서 갤럭시 USB 장치를 macOS 게스트로 직접 연결한다.
  2. macOS 12.6에서 HoRNDIS 설치를 위해 SIP/Kext 관련 설정을 조정한다.
  3. 보안 및 개인 정보 보호에서 차단된 시스템 소프트웨어를 허용한다.
  4. 필요하면 HoRNDIS Kext의 권한을 수정하고 수동으로 로드한다.
  5. 갤럭시에서 USB 테더링을 켠다.
  6. Android 네트워크 인터페이스가 나타나고 DHCP IP를 받을 때까지 기다린다.
  7. IP를 받지 못하면 파일 전송 모드로 바꿨다가 USB 테더링을 다시 켠다.
  8. VMware 안의 macOS에서 실제 웹사이트 접속까지 확인한다.
  9. macOS 인터넷을 윈도우 호스트로 재공유하는 과정은 별도 설정이 필요하다.

참고 링크

반응형