데이터 통신

[Data Communication] Virtual Machine 에서의 네트워크 구성

짱일모 2023. 5. 9. 23:05

도커 아키텍쳐에 대해서도 알아보아야겠지만, Virtual Box 등의 Virtual Machine 을 만들어 사용할 때 네트워크 구성방법은 다음과 같다.

 

  • 내부 네트워크
  • Bridge
  • NAT
  • NAT Network

 

용어

가상머신 = 게스트OS

호스트OS = 가상머신을 설치한 컴퓨터

내부 네트워크

내부 네트워크 연결 방식은 호스트 컴퓨터 내의 가상 머신들끼리만 통신할 수 있는 네트워크를 만들어 연결하는 방식이다.

따라서, 게스트 OS 는 외부와 통신할 수 없다.

 

내부 네트워크 연결 방식

 

Bridge

브릿지 방식은 호스트 OS 가 브릿지가 되어 가상 머신과 호스트 OS 가 연결된 라우터를 등위로 연결시키는 방식이다. 즉, 가상 머신은 라우터에 연결된 컴퓨터가 된다. 따라서, 외부와의 통신, 호스트 OS 와의 통신이 모두 가능하다.

 

Bridge 방식으로 가상 머신 네트워크를 구성한 상태

 

NAT

NAT 연결 방식은 호스트 OS 가 게스트 OS 의 NAT 가 되어 네트워크를 구성하는 방식이다. NAT 와 NAT Network 은 구분하여야 하는데, NAT 방식으로 네트워크를 구성하면, Virtual Machine 하나마다 NAT 가 생기는 방식이다.

 

NAT 연결의 경우, 게스트 OS -> 호스트 OS 로의 통신은 기본적으로 제한된다. 불가능한 것이 아니라, Default 설정이 그렇다. 외부에서 게스트 OS 로의 통신은 포트 포워딩 설정을 통해 수행할 수 있다.

 

또한, NAT 연결의 경우 각각의 가상 머신이 독립된 LAN 을 이루게 되므로, 가상 머신간의 통신이 불가능하다.

 

NAT 로 구성한 네트워크. 가상 머신마다 부여된 Private IP 가 10.0.0.2 로 같다. NAT 가 개별적으로 부여되었기 때문이다.

NAT Network

NAT Network 방식은 NAT 방식과 유사하나, 하나의 NAT 를 여러 가상 머신이 공유한다는 점이 다르다. 공유기 한 대에 여러개 컴퓨터가 몰려있는 형태를 호스트 OS 안의 가상머신에 적용한 것과 유사하다.

 

NAT Network 도 NAT 연결과 마찬가지로 기본적으로 게스트 -> 호스트로의 통신은 불가능하지는 않지만 Default 로 제한된다.

 

하지만, NAT 방식과 달리 하나의 NAT 을 여러 가상머신이 공유하므로 가상 머신간 통신이 가능하다.

 

NAT Network 방식으로 가상머신 네트워크를 구성한 형태.

 

이상으로 Virtual Machine 을 생성할 때 네트워크를 구성하는 방법에 대해 알아보았다. 최근에는 도커를 사용할 일이 잦은데 도커에서는 Overlay 라는 네트워크를 보았는데, 이에 대해서는 추가로 정리해볼 계획이다.