VirtualBox is a high-performance, cross-platform virtualization engine for use on computers running Windows, Linux distributions, and others. Designed for use on Intel and AMD x86 systems, VM VirtualBox can be deployed on desktop or server hardware. As a hosted hypervisor, it extends the existing operating system installed on the hardware rather than replacing it.
VirtualBox includes a hypervisor for the host platform, an application programming interface (API) and software development kit (SDK) for managing guest virtual machines, a command-line tool for managing guests locally, a web service for remote management of guests, a wizard-style graphical tool to manage guests, a graphical console for displaying guest applications on the local host, and a built-in Remote Desktop Protocol (RDP) server that provides complete access to a guest from a remote client.
VirtualBox API = VBoxMananger = CLI
VBoxMananger is the command line interface to VirtualBox. If you put a command from VBoxMananger into the console, is possible see all commands and how they interact with the VirtualBox API.
The command to list all VMs is:
$ VBoxManage list vms
It is possible to create VMs with the command line, but is necessary to have ISO to the system operation that you want installed.
VBoxMananger is the tool that Vagrant uses for samples to create environments.
There are three types of networks:
- NAT with port forwarding.
- Bridged networking.
- Internal networking.
- Host-only networking.
- NAT = Networking Address Translation.
- Each VM has your own sub-network with your public IP.
- Share the same resources of that host.
- VMs cannot see each other.
- IP, Gateway, and DNS cannot be changed.
- VMs and the host are in the same network.
- VMs have access to the physical network in the same way the host does.
- Can be found in the physical network.
- Isolated network.
- Only VMs are within a private network.
- Host can’t see the private network.
- Hybrid between bridge and internal networks.
- Private Network to the host and VMs.
- VMs can’t see external networks.
- Host has private IP to the internal network.
In this post, I focused on one difficult point people I know tend to bring up (VirtualBox API and VirtualBox Network). These solutions are what worked for me. Let me know what you think in the comments below.