네트워크 설정
이번 포스팅에서는 VM 네트워크의 구조를 알아보고, 설정해보도록 하겠습니다.
VM 네트워크는 호스트의 네트워크를 가상으로 나눠 쓰는 구조입니다. 그리고 그 네트워크에서 알아야 할 개념은 (1) bridge (2) NAT (3) Hosting-Only 세 가지입니다.
2. VM 네트워크의 종류
주요한 VM 네트워크의 종류로 총 3가지를 들 수 있습니다.
| 종류 | 설명 |
|---|---|
| 브리지 bridge | VM이 호스트 PC와 동일한 네트워크에 위치하게 함 |
| NAT | VM이 호스트 아래의 내부 사설망에 위치하며, 호스트를 통해 외부와 통신함 |
| Host-Only | 외부와 단절되고, VM과 호스트 간 통신만 가능 |
(1) 브리지 bridge
L2 스위치의 역할
bridge 방식은 VM을 LAN 네트워크에 직접 연결해주는 가상 스위치 역할을 합니다. 즉, VM이 마치 실제 PC와 같이, 호스트와 같은 레벨의 네트워크에 존재하게 됩니다.
1
2
3
4
5
6
7
8
9
10
11
[인터넷]
│
[공유기]
│
[호스트 NIC]
│
[Linux Bridge (br0)]
├─ VM (192.168.0.10)
├─ VM (192.168.0.11)
└─ VM (192.168.0.12)
bridge 네트워크는 아래와 같은 특징을 가집니다.
- VM이 공유기에서 직접 IP를 할당받음 (DHCP도 가능)
- 호스트와 VM이 동일한 네트워크 대역에 위치
- 동일 네트워크의 다른 PC에서 VM에 바로 접근 가능
- VM이 네트워크상에서 실제 물리 서버처럼 동작
따라서 아래와 같은 장점을 가집니다.
- 호스트-VM간 포트포워딩이 불필요함
- VM 내부 서비스 접근이 매우 쉬움
- VPN 서버, 웹서버, NAS 등 운영에 최적
반면에 다음과 같은 단점을 가집니다.
- VM이 네트워크 환경에 직접 노출되므로 보안 설정 필요
- 공유기 DHCP 설정에 영향을 받을 수 있음
NAT 네트워크
호스트가 라우터의 역할을 하여, VM들로 구성된 내부 사설 네트워크를 생성
Network Address Translation의 약자로, VM이 호스트 내부 사설망에 존재하면서, 호스트를 통해 외부 네트워크와 통신하는 방식입니다. 따라서 VM은 외부 또는 호스트 네트워크 대역에서 직접 보이지 않으며, 격리된 네트워크로 동작합니다.
1
2
3
4
5
6
7
8
9
10
[인터넷]
│
[공유기]
│
[호스트] (192.168.0.x)
└─ (NAT 변환)
[가상 네트워크]
├─ VM (10.0.2.x)
└─ VM (10.0.2.y)
NAT 네트워크는 아래와 같은 특징을 가집니다.
- VM 은 호스트 내에서 사설 IP만을 가짐
- 상위/외부 네트워크에서 VM으로 직접 접근은 불가능
- VM은 호스트를 통해 인터넷 접속 가능
- 격리된 네트워크 환경을 제공
또한 NAT 네트워크는 아래와 같은 장점을 가집니다.
- 네트워크가 격리되었기 때문에 보안성이 높음
- 별도 네트워크 구성 없이 바로 사용할 수 있음
- 개발이나 테스트 환경에 적합
반면에 아래와 같은 단점을 가집니다.
- 외부에서 VM으로 접속하려면 사전에 포트포워딩 세팅이 필요
Host-Only 네트워크
Host-Only 방식은, 외부 인터넷과 완전히 분리된 VM 네트워크를 말합니다.
1
2
3
4
5
6
[호스트] (192.168.0.x)
│
[Host-Only 네트워크]
├─ VM 1 (10.10.10.10)
└─ VM 2 (10.10.10.11)
Host-Only 방식은 아래와 같은 특징을 가집니다.
- VM ↔ 호스트 간 통신만 가능
- 인터넷 사용 불가
- 외부 네트워크와 완전히 차단됨
이러한 Host-Only 방식은 보안 테스트 환경, 악성코드 분석 환경, 완전히 격리된 실험용 시스템을 운용하기 위해 사용되는 경우가 많습니다.
정리
- 실제 호스트 네트워크 대역에서 서버처럼 사용하려면 → Bridge 방식
- 개발 및 테스트 용도나 호스트-VM간 통신만 필요하면 → NAT 방식
- 완전히 격리된 가상 서버를 만들기 위해서는 → Host-Only 방식
| 통신의 방향 | Bridge | NAT | Host-Only |
|---|---|---|---|
| VM → 외부 인터넷 | O | O | X |
| 외부 인터넷 → VM | O | △ (기본 불가, 포트포워딩시 가능) |
X |
| VM → Host | O | O | O |
| Host → VM | O | △ (기본 불가, 포트포워딩시 가능) |
O |
| VM ↔ VM (동일 네트워크 그룹인 경우) |
O | O | O |
Comments