DevTools/VM
[VM] VirtualBox 네트워크 인터페이스
신짱구개발자
2025. 2. 15. 20:56
더보기
1. VirtualBox 네트워크 인터페이스 종류
2. NAT (Network Address Translation)
3. 브리지 어댑터 (Bridged Adapter)
4. 내부 네트워크 (Internal Network)
5. 호스트 전용 어댑터 (Host-Only Adapter)
VM을 자주 사용하지만, 네트워크 인터페이스에 대해서는 얕게 알고 있는 것 같아 정리한다. VirtualBox에서는 VM이 네트워크에 연결되는 여러 가지 방식을 제공한다.
VirtualBox 네트워크 인터페이스 종류
- NAT(Network Address Translation)
- NAT 네트워크 (NAT Network)
- 브리지 어댑터 (Bridge Adapter)
- 내부 네트워크 (Internal Network)
- 호스트 전용 어댑터 (Host-Only Adapter)
1. NAT (Network Address Translation)
NAT은 인터넷 연결이 필요하지만 외부에서 VM에 접근할 필요가 없는 경우 사용된다. VM에서 기본적으로 사용하는 방식이다.
- VM이 호스트의 네트워크를 공유하여 인터넷에 접속한다.
- NAT은 호스트 네트워크를 공유하면서도 자체적인 가상 네트워크(10.0.2.x)를 사용하는데, 그 이유는 다음과 같다.
- VM을 호스트 네트워크와 직접 연결하지 않음으로써 보안을 강화
- IP 충돌을 방지
- 예를 들어, 호스트 네트워크가 192.168.1.x 대역을 사용한다고 가정하면 VM이 직접 이 네트워크를 사용하면 동일한 IP를 할당받아 충돌이 발생할 가능성이 있다.
- VirtualBox는 VM마다 고유한 사설 네트워크를 생성(10.0.2.x)함으로써 이런 문제를 방지하는 것이다.
- VM을 외부에서 접근할 수 없도록 차단(기본적으로 방화벽 역할)
- 사용자가 직접 포트 포워딩을 통해서만 가능하다.
- NAT은 호스트 네트워크를 공유하면서도 자체적인 가상 네트워크(10.0.2.x)를 사용하는데, 그 이유는 다음과 같다.
- 외부에서 VM으로 직접 접속이 불가능하다.
- 외부에서 VM으로 접속하려면 호스트에서 포트 포워딩을 설정하면 된다.
왜 VirtualBox는 NAT 모드에서 자체 가상 네트워크(10.0.2.x)를 사용할까?
NAT은 호스트 네트워크를 공유하면서도 자체적인 가상 네트워크(10.0.2.x)를 사용하는데, 그 이유는 다음과 같다.
- VM을 호스트 네트워크와 직접 연결하지 않음으로써 보안을 강화
- IP 충돌을 방지
- 예를 들어, 호스트 네트워크가 192.168.1.x 대역을 사용한다고 가정하면 VM이 직접 이 네트워크를 사용하면 동일한 IP를 할당받아 충돌이 발생할 가능성이 있다.
- VirtualBox는 VM마다 고유한 사설 네트워크를 생성(10.0.2.x)함으로써 이런 문제를 방지하는 것이다.
- VM을 외부에서 접근할 수 없도록 차단(기본적으로 방화벽 역할)
- 사용자가 직접 포트 포워딩을 해야만 외부에서 접근이 가능하다.
NAT 모드에서의 인터넷 연결
아래와 같은 과정으로 VM 입장에서는 마치 공유기를통해 인터넷을 사용하는 것처럼 보인다.
- 예를 들어, VM이 10.0.2.15 IP를 할당 받음
- VM이 인터넷에 접속하려 하면, VirtualBox의 NAT 엔진(10.0.2.2)이 가로채서 호스트의 네트워크를 통해 요청을 보냄
- 외부 서버(Google, YouTube 등)는 이 요청을 호스트의 IP 주소로 인식하고 응답을 보냄
- NAT 엔진이 다시 응답을 가로채서 VM(10.0.2.15)에게 전달함
2. NAT 네트워크 (NAT Network)
여러 VM이 같은 NAT 네트워크에서 통신해야 할 경우 사용된다.
- NAT과 유사하지만, 동일한 NAT 네트워크에 속한 VM 끼리는 통신 가능하다.
- 외부에서 VM으로 직접 접속이 불가능하다.
- 여러 VM이 내부적으로 통신하면서 인터넷을 사용해야할 때 유용하다.
3. 브리지 어댑터 (Bridged Adapter)
VM이 실제 네트워크에 물리적 컴퓨터처럼 연결되어야 할 경우 사용된다.
- VM이 물리적 네트워크에 직접 연결된다.
- 물리적 네트워크에서 실제 컴퓨터처럼 동작하며, DHCP 서버로부터 IP할당받을 수 있다.
- VM을 독립적인 네트워크 장치로 사용해야할 때 유용하다.
- 특히, VM을 서버로 쓰거나 독립적인 PC 환경에서 테스트가 필요할 경우
4. 내부 네트워크 (Internal Network)
VM 간의 네트워크 통신만 필요할 경우에 사용된다. 외부 연결은 불가능하다.
- 같은 내부 네트워크를 사용하는 VM들끼리만 통신이 가능하다.
- 인터넷 및 호스트와의 통신이 불가능하다.
- 여러 VM 간의 독립적인 네트워크 환경이 필요할 때 유용하다.
5. 호스트 전용 어댑터 (Host-Only Adapter)
VM과 호스트 간의 네트워크 연결만 필요할 경우 사용된다. 외부 연결은 불가능하다.
- VM과 호스트 컴퓨터만 통신 가능하다.
- 외부 네트워크 및 인터넷과는 연결되지 않는다.
- 호스트와 VM 간 데이터 공유가 필요할 때 유용하다.