UTM - Network
UTM을 사용하면 네트워크 연결을 안했는데 Local환경과 연결은 물론 VM끼리도 자동적으로 연결이 되어있음을 확인 할 수 있다.
다른 VM소프트웨어 VirtualBox에서는 SSH 접속을 위해서는 포트포워딩이 필요하지만 UTM은 달랐다.
이번 포스팅에서는 UTM에서는 어떤식으로 VM과 로컬의 네트워크가 연결되어있는지와 UTM에서 사용하는 네트워크 옵션들을 살펴보려한다.
*MacOS, Apple Silicon와 QEMU를 사용했습니다.
UTM에서는 기본값으로 어떤 네트워크를 사용할까?
UTM에서 다른 설정을 하지않았다면 Shared Network
를 사용한다.
Shared Network
는 호스트와 게스트(VM)이 같은 VLAN을 공유하도록 만들어준다. 별도의 네트워크 구성이 필요없으며 NAT(Network Address Translation)게이트웨이를 통해 외부네트워트와도 통신하게 해준다.
호스트는 NAT장치 역할을 수행하여 위의 기술들이 가능하게 만들어준다. 이 뜻은 외부에서 내부 네트워크로 접근 할 수 가 없다는뜻이다.
보안적으로 이점이 있지만 만약 외부에서 VM에 접근할 일이 필요하다면 Bridged Network를 통해야한다.
UTM에서 다른 네트워크 설정들
이번 파트에서는 총 Shared Network를 제외한 3가지 인터넷 옵션에 대해 설명한다.
Emulated VLAN
VM마다 각각의 VLAN을 가지는 모드.Shared Network
는 호스트가 제공하는 하나의 VLAN위에서 작동했다면Emulated VLAN
은 VM마다마다 VLAN을 가지기때문에 VM끼리의 통신이 불가능하다. VM간 네트워크 분리와 보안 테스트 환경을 세팅해준다.Host Only
Shared Network
과 비슷하지만 NAT게이트웨이가 제거된 상태. 외부 인터넷과 연결없이 내부 통신만 가능하다.Shared Network
와 유사하게 다른 VM끼리 통신도 가능하다.
서로다른 네트워크모드로 통신이 가능할까?
각각 다른 네트워크 모드가 있는데 이때 VM을 서로 다른 네트워크 모드로 설정하고 VM끼리 통신이 될까? 하는 궁금증이 생겼다.
한번 서로 다른 네트워크모드로 실험을 해봤지만 아쉽게 호스트에서 각각 네트워크모드마다 이미 대역폭을 할당해놓았기 때문에 서로 다른 네트워크 모드로 통신하는건 가능하지 않았다.
- Bridged
위의 3개모드는 모두 가상의 네트워크장치를 생성하는거였다면 이 모드는 호스트의 물리적 네트워크 카드에 직접 연결하는 모드이다. 호스트는 VM만을 위한 다른 레이어 인터페이스를 생성한다. 이로 인해 VM은 독립적인 네트워크 장치로 동작한다
처리과정을보면 중간에 호스트를 거치지만 브리지는 패킷을 단순히 내보내는 역할만 한다.물리적 네트워크 <--> 호스트의 물리적 네트워크 카드 <--> 네트워크 브리지 <--> 가상 머신의 네트워크 인터페이스
외부 네트워크와 직접연결되기 때문에 보안부터 여러가지 신경을 써줘야한다. 말그대로 고급사용자 모드이다.