이번 글에서는 VirtualBox를 사용하여 Ubuntu 가상 머신을 생성하며 알게된 네트워크 개념들을 정리해보겠습니다.
Host-only, NAT, Briged
VirtualBox의 가상 머신 설정에는 다음과 같은 GUI가 있습니다.

이 중에서 Host-only, NAT, Briged 모드에 대해서 알아봅니다.
Host-only
- 가상 머신과 호스트 컴퓨터 간에만 통신이 가능합니다.
- 외부 네트워크와는 격리되어 있어 인터넷 접속이 불가능합니다.
- 보안성이 높고 테스트 환경 구축에 적합합니다.
- 호스트 컴퓨터에 가상 네트워크 어댑터가 생성됩니다.
NAT (Network Address Translation)
- 가상 머신이 호스트의 IP 주소를 공유하여 외부 네트워크에 접속합니다.
- 가상 머신은 외부에서 직접 접근할 수 없지만, 외부로의 접속은 가능합니다.
- 호스트가 라우터 역할을 하여 가상 머신의 트래픽을 변환합니다.
- 기본적인 인터넷 사용이 필요한 경우에 적합합니다.
Bridged
- 가상 머신이 호스트의 네트워크 어댑터를 직접 사용하여 네트워크에 연결됩니다.
- 가상 머신이 실제 네트워크상의 독립적인 장치처럼 동작합니다.
- 고유한 IP 주소를 할당받아 외부에서 직접 접근이 가능합니다.
- 서버 운영 등 네트워크 서비스 제공에 적합합니다.
DHCP
VirtualBox의 도구 - 네트워크의 호스트 전용 네트워크 탭에는 다음과 같은 GUI가 있습니다.

DHCP(Dynamic Host Configuration Protocol)는 네트워크 장치에 IP 주소를 자동으로 할당하는 프로토콜입니다. VirtualBox에서 DHCP 서버는 다음과 같은 역할을 합니다:
- 가상 머신에 자동으로 IP 주소를 할당합니다.
- NAT 및 Host-only 네트워크에서 주로 사용됩니다.
- IP 주소 외에도 서브넷 마스크, 게이트웨이, DNS 서버 정보 등을 제공합니다.
VirtualBox의 DHCP 서버 설정:
- 도구 - 네트워크에서 NAT 네트워크나 호스트 전용 네트워크를 선택하고 DHCP 서버를 활성화할 수 있습니다.
- IP 주소 범위, 서브넷 마스크 등을 설정할 수 있습니다.
DHCP를 사용하면 가상 머신의 네트워크 설정을 수동으로 구성할 필요가 없어 편리합니다.
Port forwarding
VirtualBox의 도구 - 네트워크의 NAT 네트워크 탭에는 다음과 같은 GUI가 있습니다.

포트 포워딩은 NAT 네트워크에서 외부에서 내부 네트워크의 특정 서비스에 접근할 수 있게 해주는 기술입니다.
VirtualBox에서의 포트 포워딩
- NAT 모드에서 주로 사용됩니다.
- 호스트 시스템의 특정 포트를 가상 머신의 특정 포트로 연결합니다.
설정 방법
- 가상 머신 설정 - 네트워크 - 고급 - 포트 포워딩
- 규칙 추가: 프로토콜, 호스트 IP, 호스트 포트, 게스트 IP, 게스트 포트 지정
사용 예시
- SSH 접속을 위해 호스트의 101 포트를 가상 머신의 22 포트로 포워딩
- 호스트의 3307 포트를 가상 머신의 3306 포트로 포워딩하여 MySQL 접근
- 호스트의 8080 포트를 가상 머신의 80 포트로 포워딩하여 웹 서버 접근