VirtualBox 네트워크 설정: 완전 가이드

현대 비즈니스 세계에서 네트워킹은 대화형 컴퓨터 작업의 중요한 구성 요소입니다. 모든 것이 빠르게 변화하는 세상에서 네트워크 없이 컴퓨터 간 데이터를 교환하는 방법을 상상하는 것은 어렵습니다. 하드웨어 가상화의 중심적인 핵심 아이디어 중 하나는 물리적 컴퓨터를 사용할 수 있는 모든 경우에 거의 가상 머신을 사용할 수 있는 가능성입니다.

따라서 가상 머신은 가상 네트워크 어댑터를 사용하여 물리적 및 가상 네트워크에 연결할 수 있어야 합니다. VirtualBox에서 실행되는 가상 머신은 다양한 네트워크에 연결할 수 있습니다. VirtualBox는 가상 머신용 다양한 네트워크 모드를 제공합니다. 이 블로그 포스트에서는 사용자의 요구에 맞게 VirtualBox를 최적으로 구성하는 데 도움이 되는 VirtualBox 네트워크 설정을 다룹니다.

가상 네트워크 어댑터

각 VirtualBox VM은 최대 여덟 개의 가상 네트워크 어댑터를 사용할 수 있으며, 각각은 네트워크 인터페이스 컨트롤러(NIC)로 참조됩니다. 네 개의 가상 네트워크 어댑터는 VirtualBox GUI(그래픽 사용자 인터페이스)에서 구성할 수 있습니다. 모든 가상 네트워크 어댑터(최대 8개)는 VBoxManage modifyvm 명령을 사용하여 구성할 수 있습니다. VBoxManage는 VirtualBox의 모든 설정을 구성하는 데 사용할 수 있는 VirtualBox의 명령 줄 관리 도구입니다. VirtualBox 네트워크 어댑터 설정은 가상 머신 설정에서 액세스할 수 있습니다(VM 선택 후 설정을 클릭하고 VM 설정 창에서 네트워크 섹션으로 이동).

가상 머신 생성 후 기본적으로 활성화되는 하나의 가상 네트워크 어댑터가 있습니다. “네트워크 어댑터 사용” 체크박스를 선택하여 어댑터를 활성화하고 체크박스 선택을 해제하여 비활성화할 수 있습니다(이 체크박스는 가상 네트워크 어댑터 장치가 VM에 연결되어 있는지 여부를 정의합니다).

고급을 눌러 VirtualBox 네트워크 어댑터 설정을 확장합니다.

VirtualBox에서의 가상 네트워크 어댑터 유형

A virtual network adapter is a software-emulated physical device. There are six virtual adapter types that can be virtualized by VirtualBox.

  • AMD PCnet-PCI II (Am79C970A). 이 네트워크 어댑터는 AMD 칩을 기반으로 하며 많은 상황에서 사용할 수 있습니다. 윈도우 게스트의 경우, 이 네트워크 어댑터는 윈도우 2000과 같은 오래된 윈도우 버전에 사용할 수 있습니다. 왜냐하면 윈도우 7, 8, 10과 같은 새로운 윈도우 버전들은 이 어댑터에 대한 내장 드라이버를 포함하고 있지 않기 때문입니다. 원래 Am79C970A PCI 장치는 단일 칩 10-Mbit 컨트롤러를 포함하고 있었고 DMA 엔진이 통합되어 있었습니다. 이 네트워크 어댑터는 또한 원격 부팅을 위한 AMD의 Magic Packet 기술을 지원합니다.
  • AMD PCnet-FAST III (Am79C973). 이 가상화된 네트워크 어댑터는 VirtualBox에서 실행할 수 있는 거의 모든 게스트 운영 체제에서 지원됩니다. GRUB(부트 로더)은 이 어댑터를 네트워크 부팅에 사용할 수 있습니다. 이전 네트워크 어댑터와 마찬가지로, 이 어댑터도 AMD 칩을 기반으로 합니다.
  • Intel PRO/1000 MT Desktop (82540EM). 이 어댑터는 윈도우 비스타 및 그 이후 버전의 윈도우와 완벽하게 작동합니다. 대부분의 리눅스 배포판도 이 어댑터를 지원합니다.
  • 인텔 PRO/1000 T 서버 (82543GC). Windows XP는 추가 드라이버를 설치하지 않고도 이 어댑터를 인식합니다.
  • 인텔 PRO/1000 MT 서버 (82545EM). 이 어댑터 모델은 다른 플랫폼에서 OVF 템플릿을 가져오는 데 유용하며 가져오기 프로세스를 용이하게 할 수 있습니다.
  • 파라가상화 네트워크 어댑터 (virtio-net)은 특수한 경우입니다. 대부분의 운영 체제에서 지원하는 네트워킹 하드웨어를 가상화하는 대신, 게스트 운영 체제는 가상화된 환경을 위한 특수한 소프트웨어 인터페이스를 제공해야 합니다. 이 접근 방식을 사용하면 네트워킹 하드웨어 에뮬레이션의 복잡성을 피할 수 있으며 결과적으로 네트워크 성능을 향상시킬 수 있습니다.

산업 표준 virtIO 네트워킹 드라이버는 VirtualBox에서 지원됩니다. VirtIO 네트워킹 드라이버는 KVM 프로젝트의 일부이며 오픈 소스입니다. 이 드라이버는 리눅스 커널 2.6.25 이상 및 Windows를 포함하여 Windows 2000, XP 및 Vista와 같은 이전 버전용으로 제공됩니다.

Jumbo 프레임 지원

VirtualBox는 Jumbo 프레임을 제한적으로 지원합니다 (패킷 크기가 1,500 바이트를 초과하는 Ethernet 프레임). Jumbo 프레임을 사용해야 하는 경우 인텔 가상화된 네트워크 어댑터를 선택하고 해당 어댑터를 브리지 모드로 구성하십시오. AMD 기반 가상 네트워크 어댑터는 Jumbo 프레임을 지원하지 않습니다. AMD 기반 가상 네트워크 어댑터에 대해 Jumbo 프레임을 활성화하려고 하면 입력 및 출력 트래픽에 대해 Jumbo 프레임이 무시되어 드롭됩니다. Jumbo 프레임은 기본적으로 비활성화됩니다.

VirtualBox 네트워크 모드

VirtualBox는 네트워크 모드 설정 중 하나의 흥미로운 특징으로, 다양한 네트워크 모드를 제공합니다. 각 가상 네트워크 어댑터는 별도로 다른 네트워크 모드로 구성할 수 있습니다. 예를 들어, 어댑터 1에는 NAT 모드, 어댑터 2에는 호스트 전용 모드를 설정할 수 있습니다. 연결된 항목 드롭다운 메뉴에서 네트워크 모드를 선택할 수 있습니다.

각 VirtualBox 네트워크 모드에 대해 자세히 살펴보겠습니다.

연결되지 않음

A virtual network adapter is installed in a VM, but the network connection is missing, much like when you unplug the Ethernet network cable when using a physical network adapter. This mode can be useful for testing. For example, you can enable this network mode for a short time to emulate unplugging the cable. When you disable the Not Attached mode by switching to another network mode, the network connection becomes available again. You can also check whether a DHCP client obtains the IP address correctly, whether the appropriate application can resume downloading after link interruption or packet loss, and so on.

다른 네트워크 모드 대신 연결되지 않음 네트워크 모드를 사용하는 대신, 케이블 연결됨 체크박스를 선택하지 않습니다. VM이 실행 중인 상태에서 체크박스를 선택/선택 취소할 수 있습니다(위의 스크린샷 참조). VM 네트워크 구성에 대한 변경 사항을 적용하려면 확인을 클릭하세요.

NAT

이 네트워크 모드는 기본적으로 가상 네트워크 어댑터에 사용 가능합니다. VM의 게스트 운영 체제는 가상 NAT(네트워크 주소 변환) 장치를 사용하여 물리적 지역 영역 네트워크(LAN)의 호스트에 액세스할 수 있습니다. 외부 네트워크, 인터넷을 포함하여 게스트 OS에서 외부 네트워크에 액세스할 수 있습니다. NAT 모드를 사용하는 VirtualBox 네트워킹에서 호스트 머신 또는 네트워크의 다른 머신에서 게스트 머신에 액세스할 수 없습니다. 이 기본 네트워크 모드는 VM을 인터넷 액세스만 위해 사용하려는 사용자에게는 충분합니다.

가상 머신 네트워크 어댑터의 IP 주소는 DHCP를 통해 얻으며 이 네트워크 모드에서 사용되는 네트워크의 IP 주소는 GUI에서 변경할 수 없습니다. VirtualBox에는 내장된 DHCP 서버와 NAT 엔진이 있습니다. 가상 NAT 장치는 VirtualBox 호스트의 물리적 네트워크 어댑터를 외부 네트워크 인터페이스로 사용합니다. NAT 모드에서 사용되는 가상 DHCP 서버의 기본 주소는 10.0.2.2입니다(이는 VM의 기본 게이트웨이 IP 주소입니다). 네트워크 마스크는 255.255.255.0입니다.

두 개 이상의 VM의 네트워크 어댑터를 NAT 모드로 구성하면 각 VM이 자체 격리된 네트워크에서 개인 가상 NAT 장치 뒤에서 10.0.2.15 IP 주소를 얻게 됩니다. 각 VM의 기본 게이트웨이는 10.0.2.2입니다. VirtualBox에서는 NAT 모드를 사용할 때 IP 주소가 변경되지 않습니다. 아래에서 확인할 수 있습니다:

VM에 대한 NAT 모드를 활성화하려면 VBoxManage를 사용하여 다음 명령을 실행하십시오:

VBoxManage modifyvm VM_name –nic1 nat

여기서:

  • VM_name은 가상 머신의 이름입니다;
  • nic1은 가상 네트워크 어댑터의 번호입니다;
  • nat은 설정해야 하는 VirtualBox 네트워크 모드의 이름입니다.

포트 포워딩은 위의 스크린샷에서 확인할 수 있는 포트 포워딩 버튼을 클릭하여 VirtualBox VM 네트워크 설정 창에서 직접 구성할 수 있습니다. VirtualBox 네트워크 설정에서 포트 포워딩을 구성하는 자세한 정보는 네트워크 모드 섹션 이후에 아래에서 찾을 수 있습니다.

NAT 네트워크

이 모드는 라우터를 구성할 때 사용하는 NAT 모드와 유사합니다. 여러 가상 머신에 NAT 네트워크 모드를 사용하면 네트워크를 통해 서로 통신할 수 있습니다. VM은 물리적 네트워크의 다른 호스트에 액세스할 수 있으며 인터넷을 포함한 외부 네트워크에도 액세스할 수 있습니다. 외부 네트워크의 장비와 호스트 머신이 연결된 물리적 네트워크의 장비는 NAT 네트워크 모드를 사용하는 VM에 액세스할 수 없습니다(집 네트워크에서 인터넷 액세스를 구성하는 경우와 유사합니다). NAT 네트워크 모드를 사용할 때 호스트 머신에서 게스트 머신에 액세스할 수 없습니다(전역 VirtualBox 네트워크 설정에서 포트 포워딩을 구성하지 않는 한). 내장 VirtualBox NAT 라우터는 VirtualBox 호스트의 물리적 네트워크 인터페이스 컨트롤러를 외부 네트워크 인터페이스로 사용합니다(NAT 모드와 같은 경우).

네트워크 주소와 이름은 전역 VirtualBox 환경 설정(파일 > 환경 설정)에서 변경할 수 있습니다. 환경 설정 창의 왼쪽 창에서 전역 VirtualBox 네트워크 설정에 액세스하려면 기존 NAT 네트워크를 두 번 클릭하여 설정을 편집하십시오(클릭하여 새 네트워크를 추가하거나 기존 네트워크를 삭제할 수도 있습니다 + 또는 x 아이콘).

표시되는 작은 팝업 창에서 DHCP, IPv6를 활성화/비활성화하고 포트 포워딩을 구성할 수도 있습니다.

NatNetwork의 기본 주소는 10.0.2.0/24입니다.

기본 게이트웨이 IP는 10.0.2.1입니다(기본 게이트웨이 IP를 할당하기 위해 x.x.x.1 템플릿을 사용합니다). 예를 들어, VirtualBox에서 NAT 네트워크 모드를 위한 새 가상 네트워크를 만들고 192.168.22.0/24 네트워크 주소를 설정한 경우, 이 네트워크의 게이트웨이 IP 주소는 192.168.22.1입니다. NAT 네트워크 모드에서 사용되는 네트워크의 게이트웨이 IP 주소를 변경하고 DHCP 서버가 발급하는 IP 주소의 범위를 변경할 수 없습니다. 마찬가지로, DHCP 서버의 IP 주소는 기본적으로 10.0.2.3입니다(x.x.x.3 템플릿을 사용합니다).

VirtualBox에서 가상 네트워크 어댑터를 구성한 Windows 7 VM의 IP 구성이 스크린샷에 표시됩니다.

GUI에서 VirtualBox 네트워크 설정을 편집하고 싶지 않은 경우, 다음 명령을 사용하여 VBoxManage로 새로운 NAT 네트워크를 추가할 수 있습니다:

VBoxManage natnetwork add –netname natnet1 –network “192.168.22.0/24” –enable

Where:

  • natnet1 은 NAT 네트워크의 이름입니다;
  • 192.168.22.0/24 은 해당 NAT 네트워크의 주소입니다.

VBoxManage를 사용하여 NAT 네트워크 모드를 사용하도록 VM 네트워크 어댑터를 구성하려면 다음 명령을 실행하십시오:

VBoxManage modifyvm VM_name –nic1 natnetwork

Where:

  • nic1 은 첫 번째 가상 네트워크 어댑터입니다(네트워크 인터페이스 컨트롤러);
  • natnetwork 은 VirtualBox 네트워크 모드의 이름입니다.

이러한 설정을 적용하기 전에 VM을 종료해야 할 수 있습니다.

가상 네트워크 어댑터의 네트워크 모드를 선택할 때 매번 VBoxManage 명령을 반복하지 않으려면 모든 가능한 VirtualBox 네트워크 모드의 이름을 고려하십시오: none, null, nat, natnetwork, bridged, intnet, hostonly, generic.

포트 포워딩은 이 창에서 액세스하고 구성할 수 있는 또 다른 옵션입니다. 포트 포워딩을 사용하여 호스트 머신 및 동일한 물리적 네트워크의 다른 호스트에서 VM 내부의 게스트 OS에서 실행 중인 서비스에 액세스를 구성할 수 있습니다(아래 세부 정보 참조). NAT 모드 및 NAT 네트워크 모드의 포트 포워딩 설정 위치가 VirtualBox GUI에서 다릅니다. NAT 모드의 포트 포워딩 설정은 VM > 설정 > 네트워크에서 사용할 수 있습니다. 반면 NAT 네트워크 모드의 포트 포워딩 설정은 파일 > 환경 설정 > 네트워크에서 구성할 수 있습니다. 이것은 NAT 모드의 포트 포워딩 규칙이 각 VM마다 개별적이고 NAT 네트워크 모드의 포트 포워딩 규칙이 해당 NAT 네트워크에 연결된 여러 VM에 대해 공통임을 의미합니다. 아래의 포트 포워딩 섹션에서 포트 포워딩 구성에 대한 자세한 내용을 참조하십시오.

브리지 어댑터

이 모드는 VM의 가상 네트워크 어댑터를 VirtualBox 호스트 머신의 물리적 네트워크에 연결하는 데 사용됩니다. VM 가상 네트워크 어댑터는 네트워크 연결을 위해 호스트 네트워크 인터페이스를 사용합니다. 간단히 말해서, 네트워크 패킷은 추가적인 라우팅 없이 가상 네트워크 어댑터로 직접 보내고 받습니다. VirtualBox는 브리지 네트워크 모드에 대해 특수한 넷 필터 드라이버를 사용하여 호스트의 물리적 네트워크 어댑터에서 데이터를 필터링합니다.

이 네트워크 모드는 물리적 로컬 영역 네트워크에서 완전히 접근할 수 있어야 하는 VM에서 서버를 실행하는 데 사용할 수 있습니다. VirtualBox의 브리지 네트워크 모드를 사용할 때, VM에서 호스트 머신, 물리적 네트워크의 호스트 및 외부 네트워크(인터넷 포함)에 액세스할 수 있습니다. VM은 호스트 머신 및 물리적 네트워크에 연결된 다른 호스트(및 VM)에서 액세스할 수 있습니다.

만약 호스트 머신에 여러 개의 물리 네트워크 어댑터가 있다면 VirtualBox 네트워크 설정에서 올바른 어댑터를 선택해야 합니다. 아래 스크린샷에서 이더넷 어댑터와 Wi-Fi 어댑터 두 개의 물리 네트워크 어댑터를 볼 수 있습니다. 무선 네트워크 어댑터에 대해 브리지 모드를 사용하는 경우, 게스트 운영 체제에서 해당 Wi-Fi 어댑터의 저수준 기능을 사용할 수 없습니다. 예를 들어, Wi-Fi 네트워크를 연결하거나 모니터링 모드를 활성화할 수 없습니다. 대신 호스트 머신에서 Wi-Fi 네트워크에 연결해야 합니다. 가상 머신의 게스트 운영 체제에서 Wi-Fi 어댑터의 모든 기능을 사용해야 하는 경우, VirtualBox에 Kali Linux 설치에 설명된대로 USB Wi-Fi 어댑터와 USB 패스스루 기능을 사용하십시오.

VirtualBox에서 브리지 모드를 사용할 때 VM 가상 네트워크 어댑터의 IP 주소는 호스트 머신의 물리 네트워크 어댑터의 IP 주소와 동일한 네트워크에 속할 수 있습니다. 물리 네트워크에 DHCP 서버가 있는 경우, VM의 가상 네트워크 어댑터는 브리지 모드에서 자동으로 IP 주소를 얻습니다(게스트 운영 체제의 네트워크 인터페이스 설정에서 IP 주소를 자동으로 얻도록 설정된 경우). 따라서 브리지 모드에서 작동하는 가상 네트워크 어댑터의 기본 게이트웨이는 호스트 머신의 것과 동일합니다. IP 주소가 포함된 간단한 예를 살펴보겠습니다.

물리 네트워크의 주소: 10.10.10.0/24

물리 네트워크의 기본 게이트웨이 IP 주소: 10.10.10.1물리 네트워크의 DHCP 서버 IP 주소: 10.10.10.1

물리 네트워크의 DHCP 서버의 IP 주소: 10.10.10.1

호스트 머신의 IP 구성: IP 주소 – 10.10.10.72; 넷마스크 – 255.255.255.0; 기본 게이트웨이 – 10.10.10.1.

게스트 머신의 IP 구성: IP 주소 – 10.10.10.91; 넷마스크 – 255.255.255.0; 기본 게이트웨이 – 10.10.10.1.

가끔씩 물리 네트워크에 여러 게이트웨이가 있는 것을 발견할 수 있습니다. 필요한 네트워크에 호스트 머신을 사용하여 한 게이트웨이를 통해 연결하고 다른 네트워크에 게스트 머신을 사용할 수 있습니다. 또한 VM에서 라우팅 테이블을 편집하고 두 게이트웨이를 사용하여 적절한 네트워크에 연결하기 위한 경로를 추가할 수 있습니다. 브리지 네트워크 모드가 VirtualBox 네트워크 설정에서 다양한 사용 사례를 가진 강력한 옵션임을 알 수 있습니다.

프로미스큐어스 모드. 이 모드는 네트워크 어댑터가 주소화된 어댑터에 관계없이 수신된 모든 트래픽을 전달할 수 있게 합니다. 일반 모드에서는 네트워크 어댑터가 헤더의 대상 주소로 이 특정 네트워크 어댑터의 MAC 주소를 포함하는 프레임만 수신합니다. 일반 모드에서는 트래픽이 브로드캐스트되지 않을 때 선택된 어댑터의 MAC 주소와 다른 MAC 주소로 주소 지정된 프레임은 삭제됩니다. 프로미스큐어스 모드를 사용하면 물리 네트워크 어댑터가 여러 MAC 주소를 가질 수 있어 호스트 머신의 물리 네트워크 어댑터를 통해 모든 수신 트래픽이 전달되고 해당 트래픽이 해당 VM의 가상 네트워크 어댑터로 주소 지정되지 않더라도 호스트 어댑터에 표시된 고유 MAC 주소를 가진 VM의 가상 네트워크 어댑터에 도달할 수 있습니다.

대부분의 무선 네트워크 어댑터는 promiscuous 모드를 지원하지 않습니다. Wi-Fi 어댑터에 대한 브리징은 다음과 같은 방식으로 수행됩니다 – VirtualBox는 가상 네트워크 어댑터로 전달되어야 하는 이더넷 프레임의 헤더에서 적절한 MAC 주소를 대체합니다 (해당 트래픽에는 호스트 Wi-Fi 어댑터의 MAC 주소를 사용해야 함). promiscuous 모드는 네트워크 테스트와 보안 감사에 유용합니다. VirtualBox 네트워크 설정에서 promiscuous 모드를 활성화하고 스니퍼로 네트워크 트래픽을 모니터링할 수 있습니다.

promiscuous 모드를 사용하는 세 가지 옵션이 있습니다.

  • Deny. 가상 네트워크 어댑터에 대상이 아닌 모든 트래픽은 VM에서 숨겨집니다. 이 옵션은 기본으로 설정됩니다.
  • Allow VMs. 다른 VM과 통신하는 트래픽을 제외한 모든 트래픽은 VM 네트워크 어댑터에서 숨겨집니다.
  • Allow All. 이 모드에서는 제한이 없습니다. VM 네트워크 어댑터는 모든 수신 및 발신 트래픽을 볼 수 있습니다.

Promiscuous 모드는 Bridged 네트워크 모드뿐만 아니라 NAT Network, Internal NetworkHost-Only Adapter 모드에도 사용할 수 있습니다.

Internal Network

가상 머신의 어댑터가 VirtualBox 내부 네트워크 모드로 구성된 경우, 격리된 가상 네트워크에 연결됩니다. 이 네트워크에 연결된 가상 머신들은 서로 통신할 수 있지만, VirtualBox 호스트 머신이나 외부 네트워크의 다른 호스트들과 통신할 수 없습니다. 내부 네트워크에 연결된 가상 머신들은 호스트나 다른 장치들로부터 접근할 수 없습니다. VirtualBox 내부 네트워크는 실제 네트워크 모델링에 사용될 수 있습니다.

예를 들어, 내부 네트워크에 연결된 가상 네트워크 어댑터 (어댑터 1)를 갖는 세 개의 VM을 생성할 수 있습니다. 이러한 네트워크 어댑터의 IP 주소는 VirtualBox 내부 네트워크에 사용되는 서브넷에서 정의됩니다 (서브넷은 수동으로 정의해야 합니다). 이 VM 중 하나인 (VM1)은 또한 NAT 모드로 구성된 두 번째 가상 네트워크 어댑터를 갖습니다. VM1은 라우터로 구성되어 있습니다 (라우터를 생성하는 가장 좋은 솔루션 중 하나는 Linux를 설치하고 IPTABLES를 구성하는 것이지만, 처음 시도할 때는 VirtualBox 네트워크 테스트의 경우 간단한 라우팅 솔루션을 사용할 수 있습니다).

A VM2 and VM3 whose network adapters are connected only to the VirtualBox internal network can have access to external networks if the IP address of the internal network adapter of the VM1 are set as a gateway in the network settings of VM2 and VM3.

이 예에서 사용된 네트워크 구성은 다음과 같습니다:

VM1. IP 주소 – 192.168.23.1 (내부 네트워크 모드); 10.0.2.15 (NAT 모드), 게이트웨이 10.0.2.2 (내장 VirtualBox NAT 장치의 IP 주소).

VM2. IP 주소 – 192.168.23.2 (내부 네트워크), 게이트웨이 – 192.168.23.1

VM3. IP 주소 – 192.168.23.3 (내부 네트워크), 게이트웨이 – 192.168.23.1

VirtualBox 내부 네트워크 서브넷: 192.168.23.0/24

아래 다이어그램을 참조하면 더욱 명확합니다.

주의: 실제 네트워크 인프라에 적용하기 전에 IPTABLES에서 방화벽 규칙을 테스트하기 위해 이러한 가상 인프라를 배포할 수도 있지만, 외부 네트워크에 연결할 때 브리지 모드를 사용하고 NAT 모드를 사용하지 않는 것이 좋습니다. VM1의 두 번째 가상 네트워크 어댑터에 대해.

호스트 전용 어댑터

이 네트워크 모드는 호스트와 게스트 간 통신에 사용됩니다. VM은 호스트 전용 네트워크에 연결된 다른 VM 및 호스트 머신과 통신할 수 있습니다. VirtualBox 호스트 머신은 호스트 전용 네트워크에 연결된 모든 VM에 액세스할 수 있습니다.

VirtualBox의 호스트 전용 가상 네트워크 어댑터는 호스트 전용 네트워크에서 사용하기 위해 호스트 운영 체제에 만들어집니다. 이 VirtualBox 네트워크의 설정을 편집하려면 파일 > 호스트 네트워크 관리자로 이동하십시오.

우리의 경우, 호스트 전용 네트워크의 기본 네트워크 주소는 192.168.56.0/24이며 호스트 머신의 가상 네트워크 어댑터의 IP 주소는 192.168.56.1입니다. 이러한 IP 주소를 어댑터 탭에서 수동으로 편집할 수 있습니다. DHCP 서버를 활성화하거나 비활성화하려면 해당 확인란을 선택하십시오. DHCP 서버 탭에서 DHCP 서버의 IP 주소, 넷마스크 및 DHCP 클라이언트에 대한 IP 주소 범위를 설정할 수 있습니다.

가상 머신의 가상 네트워크 어댑터는 호스트 전용 네트워크 외부의 장치에 연결할 수 없기 때문에 IP 구성에 게이트웨이가 없습니다. 호스트 전용 모드에서는 호스트 전용 네트워크 외의 장치에 연결할 수 없습니다. 또한 다른 호스트 전용 네트워크를 사용하기 위해 VirtualBox 호스트 전용 네트워크 어댑터를 여러 개 생성할 수도 있습니다. 그냥 생성 버튼을 누르십시오. 호스트 전용 네트워크가 더 이상 필요하지 않은 경우 어댑터를 선택하고 제거를 클릭하십시오.

일반 드라이버

이 네트워크 모드를 사용하면 일반 네트워크 인터페이스를 공유할 수 있습니다. 사용자는 확장 팩에 포함되거나 VirtualBox와 함께 제공될 적절한 드라이버를 선택할 수 있습니다.

VirtualBox의 일반 드라이버 모드에는 두 가지 하위 모드가 있습니다 – UDP 터널 및 VDE(Virtual Distributed Ethernet) 네트워킹입니다.

UDP 터널. 다른 호스트에서 실행되는 가상 머신들은 기존의 네트워크 인프라를 사용하여 투명하게 통신할 수 있습니다.

VDE 네트워킹. 가상 머신들은 Linux 또는 FreeBSD 호스트의 가상 분산 스위치에 연결할 수 있습니다. VDE 네트워킹을 사용하려면 VirtualBox를 소스로부터 컴파일해야 합니다. 표준 VirtualBox 패키지에는 이 기능이 포함되어 있지 않습니다.

VirtualBox 네트워크 모드 비교

더 편리하게 VirtualBox에서 지원하는 네트워크 모드에 관한 모든 정보를 이 테이블에 요약해 보겠습니다:

포트 포워딩

포트 포워딩은 해당 IP 주소와 포트로 전송된 트래픽을 가로채고 해당 트래픽을 다른 IP 주소 및/또는 포트로 리디렉션하는 프로세스입니다. 특수 응용 프로그램을 사용하여 컴퓨터 및 다른 라우터 장치에서 포트 포워딩을 구성할 수 있습니다. 포트 포워딩의 가장 인기 있는 사용 사례 중 하나는 외부 네트워크에서 숨겨진 특정 네트워크 서비스에 액세스를 제공하는 것입니다. 포트 포워딩 규칙을 구성한 후에는 클라이언트가 라우터(호스트)의 외부 IP 주소 및 지정된 포트에 연결하여 외부에서 해당 서비스에 액세스할 수 있습니다.

패킷은 먼저 라우터의 응용 프로그램에 의해 가로채지고, 그런 다음 응용 프로그램은 해당 헤더(IP 패킷 헤더, TCP 또는 UDP 세그먼트의 헤더)의 대상 IP 주소 및 포트 번호를 읽습니다. 헤더에서 대상 IP 주소 및/또는 포트 번호의 조합이 포트 포워딩 규칙에 설정된 조건과 일치하면 라우팅 응용 프로그램은 헤더 정보(IP 주소 및/또는 포트 번호)를 다시 쓰고 포트 포워딩 규칙에 따라 다른 네트워크 인터페이스로 패킷/세그먼트를 보냅니다.

기본적으로, VirtualBox VM의 네트워크 어댑터가 NAT 또는 NAT 네트워크 모드로 설정된 경우 VirtualBox 호스트 및 LAN의 다른 호스트에서는 연결할 수 없지만, VirtualBox는 이러한 액세스를 가능하게 하는 내장형 포트 포워딩 기능을 제공합니다.

예제 1 – SSH 액세스

VirtualBox VM에 연결하기 위한 포트 포워딩 구성을 고려해 봅시다. 여기서는 네트워크에 NAT 모드로 연결된 우분투 리눅스 VM에서 실행 중인 SSH 서버에 연결하는 예제를 살펴보겠습니다. VirtualBox에 우분투를 설치하는 방법은 이 블로그 포스트에서 확인할 수 있습니다.

입력 데이터:

호스트 IP: 10.10.10.72 (물리적 NIC).

우분투 VM IP: 10.0.2.15 (NAT 모드)

사용자 이름: user1

1. 우분투 VM에 SSH 서버 설치하기.

apt-get install openssh-server

2. SSH 서버 구성 파일 편집하기.

vim /etc/ssh/sshd_config

3. 비밀번호로 인증을 활성화하는 문자열 주석 해제하기.

PasswordAuthentication yes

4. SSH 데몬(서비스) 재시작하기.

/etc/init.d/ssh restart

5. SSH 서버가 작동하는지 확인하고 localhost(우분투 VM)에서 SSH 서버에 연결을 시도합니다.

ssh [email protected]

6. 모든 것이 정상이라면, VirtualBox에서 포트 포워딩을 구성할 수 있습니다.

다음과 같이 진행해주십시오. 먼저 VM 설정을 열고 네트워크 섹션을 선택하십시오. NAT 모드로 구성된 가상 네트워크 어댑터를 선택하고 고급 설정을 확장한 다음 포트 포워딩 버튼을 누르십시오. VirtualBox VM의 네트워크 설정에서 새 포트 포워딩 규칙을 추가하려면 + 아이콘을 클릭하십시오.

SSH 서버는 기본적으로 22번 TCP 포트에서 수신 대기합니다. VirtualBox 호스트 머신으로의 모든 연결을 포트 8022에서 SSH 서버가 수신 대기하는 Ubuntu VM으로 전달하는 규칙을 생성해 봅시다. 먼저, VirtualBox 호스트로부터의 연결만 허용하는 규칙을 만들 수 있습니다.

이름 프로토콜 호스트 IP 호스트 포트 게스트 IP 게스트 포트
Ubuntu-SSH TCP 127.0.0.1 8022 10.0.2.15 22

VirtualBox GUI에서 포트 포워딩 규칙 창의 모습은 아래 스크린샷에 나와 있습니다.

가상 환경 호스트에서 SSH 클라이언트(예: Windows에서 PuTTY 사용)를 열고 127.0.0.1의 포트 8022에 연결하십시오.

가상박스 호스트 머신에서 8022 포트로 가상박스 호스트의 실제 물리 네트워크 어댑터의 실제 IP 주소가 로컬호스트 IP 주소(127.0.0.1) 대신 정의된 경우, 가상머신을 통해 가상박스 VM에 SSH를 통해 다른 호스트들이 가상 네트워크에 액세스 할 수 있습니다. 이 예에서, 가상박스 호스트의 물리 NIC의 IP 주소는 10.10.10.72입니다.
이러한 포트 포워딩 규칙을 생성하면 물리적 로컬 네트워크에 연결된 다른 호스트들도 가상박스 호스트 머신의 가상 머신에 SSH를 통해 액세스 할 수 있습니다.

이름 프로토콜 호스트 IP 호스트 포트 게스트 IP 게스트 포트
Ubuntu-SSH TCP 10.10.10.72 8022 10.0.2.15 22

가상박스 호스트 또는 로컬 영역 네트워크(LAN)에 연결된 다른 호스트에서 SSH 클라이언트를 열고 8022 포트로 가상박스 호스트 IP에 연결하십시오.

예제 2 – HTTP 액세스

VM에 웹 서버를 배포하고 외부에서 웹 사이트에 액세스를 제공하려면 다른 포트 포워딩 규칙을 추가할 수 있습니다. 가상박스 호스트 머신 및 물리적 로컬 영역 네트워크(LAN)에 연결된 다른 기계에서 Ubuntu VM에 배포된 웹 사이트에 액세스하기 위해 해당 포트 포워딩 규칙을 구성하는 방법을 고려해 봅시다. 이 예제에서는 웹 서버로 Apache를 사용합니다.

먼저, VirtualBox에서 실행 중인 Ubuntu VM에 Apache를 설치하십시오.

apt-get install apache2

ufw 방화벽은 기본적으로 Ubuntu에서 비활성화되어 있습니다. Ubuntu VM에서 방화벽이 활성화된 경우 TCP 80 포트에 대한 액세스가 활성화되어 있는지 확인하십시오.

Apache를 설치한 후에는 Ubuntu VM의 웹 브라우저를 열고 주소 표시 줄에 http://127.0.0.1을 입력하여 기본 Apache 페이지에 액세스합니다. 모든 것이 정상적으로 작동하면 웹 브라우저에서 Apache2 Ubuntu 기본 페이지가 표시됩니다.

이제 Ubuntu VM에서 호스팅된 웹 사이트에 액세스하기 위해 VirtualBox 네트워크 설정에서 포트 포워딩 규칙을 구성할 수 있습니다. 다음을 수행하여 포트 포워딩 설정 창을 엽니다. VM 설정 > 네트워크 > [원하는 어댑터 선택] > 포트 포워딩 (위와 비슷하게 설명한 대로). 다음을 수행하여 새 규칙을 추가할 수 있습니다:

이름 프로토콜 호스트 IP 호스트 포트 게스트 IP 게스트 포트
Ubuntu-HTTP80 TCP 10.10.10.72 8080 10.0.2.15 80

호스트 기계나 물리적 네트워크에 연결된 다른 기계에서 웹 브라우저를 열고 위에서 생성한 포트 포워딩 규칙에서 정의된 VirtualBox 호스트 기계의 IP 주소와 포트를 입력하십시오:

http://10.10.10.72:8080

현재 예에서 10.10.10.72는 VirtualBox 호스트 머신의 IP 주소이며 8080은 VirtualBox 호스트 머신에서 수신 대기하는 TCP 포트입니다. 포트 포워딩을 구성한 긍정적인 결과가 아래 스크린샷에 표시되어 있습니다.

또한 VM에 RDP, FTP 및 기타 프로토콜을 통한 액세스를 위한 유사한 규칙을 생성할 수 있습니다.

NAT 네트워크 모드에서 작동하는 가상 네트워크 어댑터를 가진 VM에 대한 포트 포워딩 구성은 비슷한 방식으로 작동합니다(위에서 NAT 네트워크 모드가 설명된 섹션에서 NAT 네트워크 모드의 포트 포워딩 설정을 찾으십시오).

결론

VirtualBox는 유연하고 다양한 네트워크 설정을 제공하는 강력한 가상화 솔루션입니다. 각 VM은 최대 여덟 개의 가상 네트워크 어댑터를 사용할 수 있으며 각 네트워크 어댑터는 실제 인텔 및 AMD 네트워크 인터페이스 컨트롤러(NIC)의 적절한 모델로 에뮬레이트될 수 있습니다. VirtualBox 네트워크 어댑터 설정을 통해 각 가상 NIC의 MAC 주소를 변경하거나 가상 네트워크 케이블을 연결하거나 끊을 수 있으며 네트워크 모드를 선택할 수 있습니다. 가상 네트워크 어댑터의 네트워크 모드를 설정하는 것은 VirtualBox 네트워크 설정의 가장 흥미로우면서 중요한 부분 중 하나입니다. 여섯 가지 네트워크 모드 중 하나를 선택하여 다양한 사용 사례에 활용할 수 있습니다. NAT 또는 NAT 네트워크 모드에서 네트워크 어댑터가 작동하는 VM에 대한 외부 액세스를 위해 포트 포워딩을 구성할 수 있습니다.

Source:
https://www.nakivo.com/blog/virtualbox-network-setting-guide/