Notice
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 오블완
- 커밋 이력
- virtualbox
- vm
- ubuntu 20.04
- IOT
- GitHub
- Type of Attacks
- tftpd-hpa
- 네트워크
- 티스토리챌린지
- 통신 프로토콜
- 라즈베리파이5
- mosquitto
- Samba
- Git
- Submodule
- 공유기 포트포워딩
- 가상머신
- Principles of Security
- 명령어
- protocol
- bfg repo-cleaner
- 부팅 스크립트
- 리눅스
- rfc 1350
- 라즈비안 os
- 스피커
- mqtt
- tftp
Archives
신짱구의 개발일지
[VM] VirtualBox 네트워크 인터페이스 본문
더보기
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 간 데이터 공유가 필요할 때 유용하다.
'DevTools > VM' 카테고리의 다른 글
[VM] VM에서 Ubuntu 22.04 LTS 설치 (3) | 2024.12.23 |
---|