How To Set Static IP To VirtualBox VM

Table of Contents

  • 1 How to change network settings so you can ping the VM
  • 2 How to set static IP for VirtualBox’s VM

So you’ve installed a new VM on VirtualBox and everything went smoothly. When you boot up the VM and type

and here is what you got:

how to change ip address of virtual machine in virtualbox

You noticed that there isn’t any IP address that begins with 192.168! On your host machine, you type

for Windows, or

For Linux/Mac, you got something like this:

how to change ip address of virtual machine in virtualbox

You may even try to ping the VM’s address but no luck!

how to change ip address of virtual machine in virtualbox

Well, I’ll show you how to fix that.

How to change network settings so you can ping the VM

The first thing you do is going to Machine->Settings and click on Network then set the settings as below:

virtualbox VM change network settings to bridge mode

Attached to -> Bridge Adapter

Promiscuous Mode -> Allow All

Check Cable Connected.

Then click OK.

Wait for up to 1 minute for the VM to apply the changes. When you type

again, you should see there is one IP of the VM begins with 192.168

Default IP after applying new network settings.

And you can ping from the host machine to the VM:

how to change ip address of virtual machine in virtualbox

That’s great, however, the IP can be changed without you knowing it. That’s usually not a good thing. Next, I’m going to show you how to set a static (fixed) IP for the VM. No worries, it’s pretty quick!

How to set static IP for VirtualBox’s VM

Noticed that when you typed ip a , you see the network interface of your IP (begins with 192.168) is something like enp0s3 (yours could be different). You need to know this for the next step.

Next, type:

Since your VM is new, the file shouldn’t be available yet. The command above creates the file.

Next, use your favorite editor the put the following text in the file:

Replace enp0s3 with your VM’s network interface and 192.168.1.97 with your favorite IP address and save the file.

Here, I set the IP to 192.168.1.98 to make it different from what it currently is:

how to change ip address of virtual machine in virtualbox

You should see the IP updated as in the config:

how to change ip address of virtual machine in virtualbox

Now you have a static IP that you can ping from the host and other VM on your PC.

how to change ip address of virtual machine in virtualbox

I build softwares that solve problems. I also love writing/documenting things I learn/want to learn.

5 thoughts on “How To Set Static IP To VirtualBox VM”

Thank you for this article. My NAT settings occasionally fail and this is the only way I’ve found to reset it. After establishing a connection in Bridged Mode I can go back and set it to NAT again and it works.

Hi, thanks for this manual, as of march 2023, “gateway4:” is deprecated (manual an warning) one should use “default routes ” but now I’m out, could you update your manual to the new procedure to “noob understanding” form to cover the new situation? Thanks in advance

Sorry wrong formatting …

You should replace `gateway4: 192.168.1.1` with “yaml routes: – to: default via: 192.168.1.1 “` https://dothanhlong.org/virtualbox-assign-static-ip-to-vm/

Thanks for the tutorial. However, I encountered the problem that I couldn’t connect external network (ex. ping 8.8.8.8) after following the steps.

Here’s how I solve the problem. We cannot set the “favorite IP address” to any address. The first 3 part of the address should be the same as the gateway. For example, the gateway is 192.168.1.1, then we can only set favorite IP address to 192.168.1.X. We cannot set it to, for example, 192.168.56.101.

Please enlighten me if I’m wrong.

You are correct about setting the IP. However, the DNS server is different.

Leave a Comment Cancel reply

Save my name, email, and website in this browser for the next time I comment.

Explore top-rated data protection at an affordable price

  • Customer stories

Learn how organizations of all sizes and industries successfully protect data with NAKIVO

  • Product Datasheet
  • Backup Solution for MSPs
  • Backup for Virtualization
  • Microsoft 365 Backup
  • Ransomware Protection
  • Real-Time Replication BETA

Gartner® Magic QuadrantTM

Enterprise Backup and Recovery Solution

  • Virtual: VMware | Hyper-V | Nutanix AHV
  • Physical server: Windows | Linux
  • Workstations: Windows | Linux
  • SaaS: Microsoft 365
  • Cloud: Amazon EC2
  • File Share: NAS | File Server
  • Apps: SQL | Active Directory Exchange | Oracle Database
  • Virtual: VMware | Hyper-V
  • MSP SOLUTION
  • DISASTER RECOVERY
  • VMware Disaster Recovery
  • REAL-TIME REPLICATION beta
  • IT MONITORING
  • Backup Malware Scan
  • SMB | Enterprise | Education Remote Office Backup Hybrid Cloud Backup
  • Raspberry Pi
  • Western Digital
  • Backblaze B2
  • S3-Compatible Storage
  • EMC Data Domain
  • HPE StoreOnce
  • NEC HYDRAstor
  • Backup from HPE Storage Snapshots
  • Pricing and Editions
  • Pricing Calculator
  • Get a Quote
  • Find a Reseller
  • Find an MSP
  • Renew License

More growth opportunities with the NAKIVO Partner Program

  • Why Partner
  • Solution Partner Signup
  • Deal Registration

Grow your customer base with powerful BaaS and DRaaS

  • MSP Partner Signup
  • Technology Partners
  • Storage Certification Program
  • Log In to the Partner Portal
  • SUPPORT RESOURCES

Find answers to your questions in our technical documentation

  • Knowledge Base
  • Release Notes
  • API Reference Guide
  • SUPPORT CENTER

Reach out to our highly-rated support team about any issues

  • Send Support Bundle
  • How-to Videos

VirtualBox Network Settings: Complete Guide

In this modern business world, networking is a crucial component of interactive computer operations. It is difficult to imagine how to exchange data between computers without networks in a world where everything is changing at ever-growing speed. One of the central focal ideas behind hardware virtualization is the possibility to use virtual machines in nearly all cases where physical computers can also be used.

NAKIVO for Linux Machines Backup

NAKIVO for Linux Machines Backup

Fast and efficient backup for Linux servers and workstations. Anti-ransomware protection, multiple backup targets, flexible recovery options and much more!

Virtual Network Adapters

Each VirtualBox VM can use up to eight virtual network adapters, each of which in turn is referred to as a network interface controller (NIC). Four virtual network adapters can be configured in the VirtualBox GUI (graphical user interface). All virtual network adapters (up to 8) can be configured with the VBoxManage modifyvm command. VBoxManage is a command line management tool of VirtualBox that can be used for configuring all VirtualBox settings including VirtualBox network settings. VirtualBox network adapter settings can be accessed in the virtual machine settings (select your VM, hit Settings and go to the Network section in the VM settings window).

VirtualBox Network Settings for Adapter 1

There you should see four adapter tabs. One virtual network adapter is enabled by default after virtual machine creation. You can tick the “ Enable Network Adapter ” checkbox to enable the adapter and untick the checkbox to disable (this checkbox defines whether a virtual network adapter device is connected to a VM or not).

Hit Advanced to expand advanced VirtualBox network adapter settings.

Types of Virtual Network Adapters in 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) . This network adapter is based on AMD chip and can be used in many situations. As for Windows guests, this network adapter can be used for older Windows versions (such as Windows 2000) because newer Windows versions such as Windows 7, 8 and 10 do not contain a built-in driver for this adapter. Originally, the Am79C970A PCI device contained a single chip 10-Mbit controller and the DMA engine was integrated. This network adapter also supports AMD’s Magic Packet technology for remote wake-up.
  • AMD PCnet-FAST III (Am79C973) . This virtualized network adapter is supported by almost all guest operating systems that can run on VirtualBox. GRUB (the boot loader) can use this adapter for network boot. Similarly to the previous network adapter, this one is based AMD chip.
  • Intel PRO/1000 MT Desktop (82540EM) . This adapter works perfectly with Windows Vista and newer Windows versions. The most of Linux distributions support this adapter as well.
  • Intel PRO/1000 T Server (82543GC) . Windows XP recognizes this adapter without installing additional drivers.
  • Intel PRO/1000 MT Server (82545EM) . This adapter model is useful to import OVF templates from other platforms and can facilitate import process.
  • Paravirtualized Network Adapter (virtio-net) is a special case. Instead of virtualizing networking hardware that is supported by most operating systems, a guest operating system must provide a special software interface for virtualized environments. This approach allows you to avoid the complexity of networking hardware emulating and, as a result, can improve network performance.

The industry standard virtIO networking drivers are supported by VirtualBox. VirtIO networking drivers are a part of the KVM project and are open-source. These drivers are available for Linux with kernel 2.6.25 or later, and Windows including older versions such as Windows 2000, XP and Vista.

Jumbo frames support

VirtualBox provides limited support for jumbo frames (Ethernet frames that can carry packets which size is more than 1,500 bytes). If you need to use jumbo frames, select an Intel virtualized network adapter, and configure that adapter to work in bridged mode. AMD-based virtual networks adapters don’t support jumbo frames. If you try to enable jumbo frames for AMD-based virtual network adapters, jumbo frames will be dropped silently for input and output traffic. Jumbo frames are disabled by default.

VirtualBox Network Modes

VirtualBox provides a long list of network modes, which is one of the most interesting features of VirtualBox network settings. Each virtual network adapter can be separately configured to operate in a different network mode. For example, you can set the NAT mode for the adapter 1 and the Host-only mode for the adapter 2. You can select the network mode in the Attached to drop-down menu.

VirtualBox network settings – selecting a network mode for the virtual network adapter

Let’s consider each VirtualBox network mode in detail.

Not attached

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.

Instead of using the Not Attached network mode, you can use any other network mode without ticking the Cable Connected checkbox. You can tick/untick the checkbox when a VM is in the running state (see the screenshot above). Don’t forget to hit OK to apply changes in the VM network configuration.

This network mode is enabled for a virtual network adapter by default. A guest operating system on a VM can access hosts in a physical local area network (LAN) by using a virtual NAT (Network Address Translation) device. External networks, including the internet, are accessible from a guest OS. A guest machine is not accessible from a host machine, or from other machines in the network when the NAT mode is used for VirtualBox networking. This default network mode is sufficient for users who wish to use a VM just for internet access, for example.

The IP address of the VM network adapter is obtained via DHCP and the IP addresses of the network used in this network mode cannot be changed in the GUI. VirtualBox has a built-in DHCP server and NAT engine. A virtual NAT device uses the physical network adapter of the VirtualBox host as an external network interface. The default address of the virtual DHCP server used in the NAT mode is 10.0.2.2 (this is also the IP address of the default gateway for a VM). The network mask is 255.255.255.0.

If you configure the network adapters of two or more VMs to use the NAT mode, each VM will obtain the 10.0.2.15 IP address in its own isolated network behind a private virtual NAT device. The default gateway for each VM is 10.0.2.2. In VirtualBox IP addresses are not changed when the NAT mode is used, as you can see below:

VirtualBox network modes – how the NAT mode works

In order to enable the  NAT  mode for a VM with VBoxManage, execute the following command:

  • VM_name is the name of your virtual machine;
  • nic1 is the number of the virtual network adapter;
  • nat is the name of the VirtualBox network mode that you need to set.

Port forwarding can be configured right from the VirtualBox VM network settings window by clicking the Port forwarding button (seen in the screenshot above). Detailed information about configuring port forwarding in VirtualBox network settings, which you can find below after the Network Modes section.

NAT Network

This mode is similar to the NAT mode that you use for configuring a router. If you use the NAT Network mode for multiple virtual machines, they can communicate with each other via the network. The VMs can access other hosts in the physical network and can access external networks including the internet. Any machine from external networks as well as those from a physical network to which the host machine is connected cannot access the VMs configured to use the NAT Network mode (similarly to when you configure a router for internet access from your home network). You cannot access the guest machine from the host machine when using the NAT Network mode (unless you are configuring port forwarding in global VirtualBox network settings). A built-in VirtualBox NAT router uses a physical network interface controller of the VirtualBox host as an external network interface (as is the case for the NAT mode).

VirtualBox network settings – the NAT Network mode

The network address and name can be changed in the global VirtualBox preferences ( File > Preferences ). In the left pane of the Preferences window, select Network to access global VirtualBox network settings, then double click your existing NAT network to edit the settings (you can also add a new network or delete an existing network by clicking the + or x icons).

Global VirtualBox network settings – editing the settings of the NAT Network

In the small pop-up window that will appear, it is also possible to enable/disable DHCP, IPv6 and configure port forwarding.

VirtualBox network settings – configuring the NAT Network

The default address of the  NatNetwork  is 10.0.2.0/24.

The default gateway IP is 10.0.2. 1 (the x.x.x.1 template is used to assign the default gateway IP). For example, if you create a new virtual network for the NAT Network mode in VirtualBox and set the 192.168.22.0/24 network address, the IP address of the gateway in this network will be 192.168.22. 1 . You cannot change the IP address of the gateway for the network used in the NAT Network mode and change the range of IP addresses issued by the DHCP server. Similarly, the IP address of the DHCP server is 10.0.2.3 by default (the x.x.x.3 template is used).

The IP configuration of the Windows 7 VM running on VirtualBox with a virtual network adapter configured in the NAT Network mode is displayed on the screenshot.

A Windows 7 VM is configured to work in the NAT Network mode

If you don’t want to edit VirtualBox network settings in the GUI, you can add a new NAT network with VBoxManage by using the command:

  • natnet1  is the name of the NAT network;
  • 192.168.22.0/24  is the address of that NAT network.

If you want to configure a VM network adapter in order to use the  NAT Network  mode with VBoxManage, run the following command:

  • nic1  is the first virtual network adapter (network interface controller);
  • natnetwork  is the name of the VirtualBox network mode.

You may need to shut down the VM before applying these settings.

In order to avoid repeating the same command with VBoxManage when selecting a network mode for the virtual network adapter of a VM in each section of the article, consider the names of all possible VirtualBox network modes:  none, null, nat, natnetwork, bridged, intnet, hostonly, generic.

Port forwarding is one more option that can be accessed and configured from this window. Port forwarding can be used to configure access from the host machine and other hosts of the same physical network to the services running on the guest OS inside the VM (see details below). As you can see, the location of the port forwarding settings for the NAT mode and NAT Network modes are different in the VirtualBox GUI. Port forwarding settings for the NAT mode are available in VM > Settings > Network while port forwarding settings for the NAT Network mode can be configured in File > Preferences > Network . This is because port forwarding rules for the NAT mode are individual for each VM while port forwarding rules for the NAT Network mode are common for multiple VMs whose adapters are connected to the appropriate NAT network. See details about configuring port forwarding below in the Port Forwarding section.

Bridged Adapter

This mode is used for connecting the virtual network adapter of a VM to a physical network to which a physical network adapter of the VirtualBox host machine is connected. A VM virtual network adapter uses the host network interface for a network connection. Put simply, network packets are sent and received directly from/to the virtual network adapter without additional routing. A special net filter driver is used by VirtualBox for a bridged network mode in order to filter data from the physical network adapter of the host.

This network mode can be used to run servers on VMs that must be fully accessible from a physical local area network. When using the bridged network mode in VirtualBox, you can access a host machine, hosts of the physical network and external networks, including internet from a VM. The VM can be accessed from the host machine and from other hosts (and VMs) connected to the physical network.

If you have multiple physical network adapters on the host machine, you should select the correct adapter in VirtualBox network settings. On the screenshot below you can see two physical network adapters – Ethernet adapter and Wi-Fi adapter . If you use the bridged mode for a wireless network adapter, you cannot use low-level features of that Wi-Fi adapter in a guest operating system. For example, you cannot select Wi-Fi networks to connect to, enable the monitoring mode, etc. Instead, you need to connect to the Wi-Fi network on the host machine. If you have to use all features of the Wi-Fi adapter in the guest OS of the VM, use a USB Wi-Fi adapter and the USB Pass-through feature as explained in the blog post about installing Kali Linux on VirtualBox .

VirtualBox network settings – selecting an adapter for the Bridged network mode

In VirtualBox, the IP address of a VM virtual network adapter can belong to the same network as the IP address of the physical network adapter of the host machine when the bridged mode is used. If there is a DHCP server in your physical network, the virtual network adapter of the VM will obtain the IP address automatically in the bridged mode (if obtaining an IP address automatically is set in the network interface settings in a guest OS). Thus, the default gateway for a virtual network adapter operating in the bridged mode is the same as for your host machine. Let’s look at a simple example with IP addresses.

The address of the physical network: 10.10.10.0/24

The IP address of the default gateway in the physical network: 10.10.10.1

The IP address of the DHCP server in the physical network: 10.10.10.1

IP configuration of the host machine: The IP address – 10.10.10.72; netmask – 255.255.255.0; default gateway – 10.10.10.1.

IP configuration of the guest machine: The IP address – 10.10.10.91; netmask – 255.255.255.0; default gateway – 10.10.10.1.

VirtualBox network settings – bridged networking

Sometimes, you may find that you have multiple gateways in your physical network. You can use a host machine for connecting to necessary networks via one gateway and use a guest machine for connecting to other networks via the second gateway. You can also edit a routing table on your VM and add routes for using both gateways to connect to the appropriate networks. As you can see, the bridged network mode is a powerful option in VirtualBox network settings with a lot of use cases.

Promiscuous mode . This mode allows a network adapter to pass all received traffic, no matter to which adapter the traffic is addressed. In normal mode, a network adapter receives only frames that include the MAC address of this particular network adapter as the destination address in the header. The frames that are addressed to a MAC address which differs from the MAC address of the selected adapter (when traffic is not broadcast) are dropped when in normal mode. The promiscuous mode makes it possible for a physical network adapter to have multiple MAC addresses, allowing all incoming traffic to pass the physical network adapter of the host machine and reach the virtual network adapter of the VM which has its own MAC address that is represented on the host adapter, even if that traffic is not addressed to the virtual network adapter of that particular VM.

Most wireless network adapters don’t support the promiscuous mode. Bridging to Wi-Fi adapters is done in following way – VirtualBox replaces the appropriate MAC addresses in the headers of Ethernet frames that must be delivered to the virtual network adapter of the VM (the MAC address of the host Wi-Fi adapter must be used for that traffic). The promiscuous mode is useful for network testing and security audits. You can enable the promiscuous mode in VirtualBox network settings and monitor network traffic with a sniffer.

There are three options of using the promiscuous mode .

  • Deny . Any traffic that is not intended to the virtual network adapter of the VM is hidden from the VM. This option is set by default.
  • Allow VMs . All traffic is hidden from the VM network adapter except the traffic transmitted to and from other VMs.
  • Allow All . There are no restrictions in this mode. A VM network adapter can see all incoming and outgoing traffic.

The Promiscuous mode can be used not only for the Bridged network mode, but also for NAT Network , Internal Network and Host-Only Adapter modes.

Internal Network

Virtual machines whose adapters are configured to work in the VirtualBox Internal Network mode are connected to an isolated virtual network. VMs connected to this network can communicate with each other, but they cannot communicate with a VirtualBox host machine, or with any other hosts in a physical network or in external networks. VMs connected to the internal network cannot be accessed from a host or any other devices. The VirtualBox internal network can be used for modelling real networks.

For example, you can create three VMs, each of which has a virtual network adapter (Adapter 1) connected to the internal network. The IP addresses of these network adapters are defined from the subnet used for the VirtualBox internal network (you should define the subnet manually). One of these VMs ( VM1 ) also has a second virtual network adapter that is configured to operate in the NAT mode. The VM1 is configured as a router (one of the best solutions for creating a router is to install Linux and configure IPTABLES, but for the first time you can use simpler routing solutions in a case of VirtualBox network testing).

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 .

Network configuration used in this example:

VM1 . IP address – 192.168.23.1 (internal network mode); 10.0.2.15 (NAT mode), gateway 10.0.2.2 (the IP address of the built-in VirtualBox NAT device).

VM2 . IP address – 192.168.23.2 (internal network), gateway – 192.168.23.1

VM3 . IP address – 192.168.23.3 (internal network), gateway – 192.168.23.1

VirtualBox internal network subnet: 192.168.23.0/24

See the diagram below for more clarity.

VirtualBox network settings – using the Internal network mode in a combination with the NAT mode

Note : You can also deploy such virtual infrastructure for testing firewall rules in IPTABLES before implementing them in your real network infrastructure, but it is preferable to use the bridged mode and not the NAT mode for the second virtual network adapter of the VM1 when connecting to/from external networks.

Host-only Adapter

This network mode is used for communicating between a host and guests. A VM can communicate with other VMs connected to the host-only network, and with the host machine. The VirtualBox host machine can access all VMs connected to the host-only network.

VirtualBox network settings – VMs use the host-only network

The VirtualBox Host-Only virtual network adapter is created in a host operating system for use in the host-only network. You can edit settings of this VirtualBox network by going to File > Host Network Manager .

VirtualBox network settings - configuring the Host-Only network

In our case, the default network address of the host-only network is 192.168.56.0/24 and the IP address of the virtual network adapter on the host machine is 192.168.56.1. You can edit these IP addresses manually in the Adapter tab. A DHCP server can be enabled or disabled by ticking the appropriate checkbox. In the DHCP Server tab, you can set the IP address of the DHCP server, netmask and the range of IP addresses to be issued for DHCP clients.

VirtualBox network settings – configuring a DHCP server for a Host-Only network

The virtual network adapters of the VMs don’t have a gateway in their IP configuration because the Host-Only mode doesn’t allow you to connect to any devices outside the host-only network. It is also possible to create more than one VirtualBox host-only network adapter in order to use different host-only networks—just press the Create button. If the host-only network is no longer needed, simply select the adapter and hit Remove .

Generic Driver

This network mode allows you to share the generic network interface. A user can select the appropriate driver to be distributed in an extension pack or be included with VirtualBox.

Two sub-modes are available for VirtualBox Generic Driver mode – UDP Tunnel and VDE (Virtual Distributed Ethernet) Networking.

UDP Tunnel . Virtual machines that run on different hosts can communicate transparently by using an existing network infrastructure.

VDE Networking . Virtual machines can connect to a virtual distributed switch on Linux or FreeBSD hosts. You need to compile VirtualBox from sources to use VDE networking since standard VirtualBox packages don’t include this feature.

Comparison of VirtualBox Network Modes

For more convenience, let’s summarize all information about network modes supported by VirtualBox in this table:

VirtualBox network settings – Comparison oVirtualBox Network Modes

Port Forwarding

Port forwarding is a process of intercepting traffic addressed to the appropriate IP address and port in addition to redirecting that traffic to a different IP address and/or port. Special applications can be used on computers and other router devices to configure port forwarding. One of the most popular use cases for port forwarding is by providing access to particular network services that are hidden behind the NAT from external networks. After configuring port forwarding rules, clients can access the appropriate services from outside by connecting to the router’s (host’s) external IP address and specified port.

The packets are first intercepted by an application on the router, then the application reads the destination IP address and port number of the appropriate headers (IP packet headers, headers of TCP or UDP segments). If a combination of the destination IP address and/or port number in headers matches a condition set in a port forwarding rule, the routing application rewrites the header information (IP address and/or port number) and sends a packet/segment to another network interface according to the port forwarding rule.

By default, connecting to VirtualBox VMs whose network adapters are set to operate in the NAT or NAT Network mode is impossible from a VirtualBox host and other hosts in LAN, but VirtualBox provides a built-in port forwarding feature to enable such access.

Example 1 – SSH access

Let’s now consider configuring port forwarding for connecting to VirtualBox VMs using the example of connecting to an SSH server running on an Ubuntu Linux VM that is connected to the network by the NAT mode. You can read how to install Ubuntu on VirtualBox in  this blog post .

The input data:

Host IP:  10.10.10.72  (a physical NIC).

Ubuntu VM IP:  10.0.2.15  (NAT mode)

User name:  user1

1. Install the SSH server on the Ubuntu VM.

apt-get install openssh-server

2. Edit the SSH server configuration file.

vim /etc/ssh/sshd_config

3. Uncomment the string for enabling authentication with passwords.

PasswordAuthentication yes

4. Restart the SSH daemon (service).

/etc/init.d/ssh restart

5. Verify that the SSH server is working and try to connect to the SSH server from localhost (Ubuntu VM).

ssh [email protected]

6. If everything is OK, you can start configuring port forwarding in VirtualBox.

As you recall, you should open  VM settings  and select the  Network  section. Select your virtual network adapter that is configured to work in the  NAT  mode, expand  Advanced   settings and hit the  Port Forwarding  button. Click the  +  icon to add a new port forwarding rule in VirtualBox network settings of the VM.

VirtualBox network settings – configuring port forwarding for the NAT mode

An SSH server listens the 22-nd TCP port by default. Let’s create a rule that allows you to forward all connections to the VirtualBox host machine on port 8022 to the Ubuntu VM on port 22 that is listened by SSH server. First, you can create a rule that allows for connections only from the VirtualBox host.

The view of the port forwarding rules window in the VirtualBox GUI is shown on the screenshot below.

VirtualBox network settings – the SSH port forwarding rule is created

Open an SSH client (for example, PuTTY if you use Windows) on your VirtualBox host and connect to 127.0.0.1 on port 8022.

Other hosts in your physical network will be able to access the Ubuntu VM via SSH by connecting to the VirtualBox host machine on port 8022 if you create a similar port forwarding rule where the real IP address of your physical network adapter of the VirtualBox host will be defined instead of the localhost IP address (127.0.0.1). In this example, the IP address of the physical NIC on the VirtualBox host is 10.10.10.72.

Open an SSH client on your VirtualBox host or on another host attached to your LAN and connect to your VirtualBox host IP on port 8022.

Example 2 – HTTP access

If you want to deploy a web server on your VM and provide access to your web sites from outside, you can add another port forwarding rule. Let’s consider how to configure that port forwarding rule for accessing a web site deployed on an Ubuntu VM from a VirtualBox host machine and other machines connected to the physical local area network (LAN). Apache is used as a web server in this example.

First, install Apache on the Ubuntu VM running on VirtualBox.

apt-get install apache2

The ufw firewall is disabled in Ubuntu by default. If a firewall is enabled on your Ubuntu VM, make sure that access to the TCP 80 port is enabled.

After installing Apache, open a web browser on your Ubuntu VM and access the default Apache page by entering http://127.0.0.1 in the address bar. If everything is OK, you will see the Apache2 Ubuntu default page in your web browser.

This means that now you can configure a port forwarding rule in VirtualBox network settings for accessing your web site hosted on the Ubuntu VM. Open the Port Forwarding settings window by going to VM settings > Network > [select your adapter] > Port Forwarding (similarly as explained above). You can add a new rule by doing the following:

Open a web browser on your host machine or on any other machine connected to your physical network and enter the IP address of your VirtualBox host machine and port defined in the port forwarding rule created above:

http://10.10.10.72:8080

In the current example, 10.10.10.72 is the IP address of the VirtualBox host machine and 8080 is a TCP port listened on the VirtualBox host machine. A positive result of configuring port forwarding is shown on the screenshot below.

VirtualBox network settings – the HTTP port forwarding rule has been created successfully

You can also create similar rules for accessing a VM via RDP, FTP and other protocols.

Configuring port forwarding for VMs whose virtual network adapters work in the NAT Network mode functions similarly (see the section above where the NAT Network mode is explained for locating port forwarding settings for the NAT Network mode).

VirtualBox is a powerful virtualization solution that is flexible and provides a wide range of network settings. Each VM can use up to eight virtual network adapters, and each network adapter can be emulated as the appropriate model of real Intel and AMD network interface controllers (NICs). VirtualBox network adapter settings allow you to change the MAC address of each virtual NIC, plug or unplug the virtual network cable, and select the network mode. Setting the network mode for a virtual network adapter is one of the most interesting and important parts of VirtualBox network settings. There are six network modes, each of which can be utilized for different use cases. Port forwarding can be configured for external access to VMs whose network adapters operate in NAT or NAT Network modes.

NAKIVO for VMware vSphere Backup

NAKIVO for VMware vSphere Backup

Complete data protection for VMware vSphere VMs and instant recovery options. Secure backup targets onsite, offsite and in the cloud. Anti-ransomware features.

People also read

Picture

DeviceTests.com Logo

How To Set Static IP Address in VirtualBox Networking

Eric Buchanan

VirtualBox, an open-source virtualization software, allows you to create and manage virtual machines (VMs) on your physical machine. One of the key aspects of managing these VMs is networking. In this article, we’ll discuss how to set a static IP address in VirtualBox networking.

To set a static IP address in VirtualBox networking, you need to access the network settings of your virtual machine and modify the network connection to use a manual IP address configuration. Enter the desired static IP address, subnet mask, gateway address, and DNS server addresses, and save the changes. Restart the networking service or reboot the system for the changes to take effect.

Step 5: Save the Changes

Understanding virtualbox networking.

Before we delve into the process, it’s important to understand the basics of VirtualBox networking. VirtualBox provides various networking modes, such as NAT, Bridged Adapter, Internal Network, and Host-Only Adapter. Each mode has its own unique characteristics and use cases. However, for the purpose of this guide, we’ll focus on the Bridged Adapter mode, which allows your VM to appear as a separate device on your network.

Why Set a Static IP Address?

By default, VirtualBox assigns dynamic IP addresses to your VMs. While this is convenient, it can cause issues if you’re running services that require a consistent IP address, such as web servers or databases. By setting a static IP address, you ensure that the IP address remains constant, even after rebooting the VM.

Setting a Static IP Address

Now, let’s walk through the process of setting a static IP address on a VirtualBox VM. For this guide, we’ll assume you’re running an Ubuntu guest machine.

Step 1: Access Network Settings

First, open the network settings on your Ubuntu VM. You can do this by navigating to “Network Connections” in the Ubuntu GUI.

Step 2: Edit the Network Connection

Next, find the connection that corresponds to your network adapter. Click on “Edit” to modify its settings.

Step 3: Configure the IP Address

In the wired settings, change the connection type from “Automatic (DHCP)” to “Manual”. Then, click “Add” to create a new IP address configuration.

Step 4: Enter the IP Address Details

In the new configuration, enter your desired static IP address, subnet mask, and gateway address. If necessary, you can also specify DNS server addresses.

Finally, click “Save” to apply the new static IP address configuration. Your guest Ubuntu machine should now have a static IP address.

Troubleshooting

If you encounter any issues with saving the changes or enabling the static IP address, ensure that the “Save” button is enabled and that the DNS server addresses are correctly entered.

For different versions of Ubuntu or different network configurations, you may need to modify the network configuration files directly. Typically, these files are located at /etc/network/interfaces . In this file, you can specify the static IP address, subnet mask, gateway, and DNS server addresses.

Remember to restart the networking service or reboot the system for the changes to take effect.

Setting a static IP address in VirtualBox networking can be a straightforward process. By following these steps, you can ensure a consistent IP address for your VM, making it easier to manage and access your services. As always, remember to double-check your settings and test your configuration to ensure everything is working as expected. Happy networking!

VirtualBox is an open-source virtualization software that allows you to create and manage virtual machines on your physical machine.

A static IP address is a fixed IP address that does not change. It is useful for running services that require a consistent IP address, such as web servers or databases.

Setting a static IP address ensures that the IP address of your virtual machine remains constant, even after rebooting. This is useful for maintaining consistent network connections and running services that rely on a specific IP address.

The Bridged Adapter mode allows your virtual machine to appear as a separate device on your network. It uses the host’s physical network adapter to connect the virtual machine directly to the network.

Yes, you can set a static IP address in other VirtualBox networking modes as well. However, for this guide, we focus on the Bridged Adapter mode as it allows your virtual machine to be directly connected to the network.

In Ubuntu, you can access network settings by navigating to "Network Connections" in the Ubuntu GUI.

To modify the network connection settings in VirtualBox, you need to open the network settings of your virtual machine and edit the corresponding network connection.

If you encounter issues, ensure that the "Save" button is enabled and that the DNS server addresses are correctly entered. If necessary, you may need to modify the network configuration files directly.

The network configuration files in Ubuntu are typically located at /etc/network/interfaces . You can modify these files to specify the static IP address, subnet mask, gateway, and DNS server addresses.

Yes, after making changes to the network settings or configuration files, it is recommended to restart the networking service or reboot the system for the changes to take effect.

Related Posts

Person Holding A Mobile Phone And Credit Card

How To Change Cash App Back to Personal

Ubuntu 8

Fixing “Operation not permitted” error when pinging and connecting to the internet on Ubuntu

Ubuntu 21

How To Batch Remove Last 12 Characters of Filenames in Terminal

Ubuntu 19

How To Find Your Motherboard Model

Ubuntu 7

How To Use Grep for Two Different Lines

Ubuntu 21

Replace Multiple Lines with Single Word in File using Command Line: Sed, Awk, and Perl

About the author, eric buchanan, leave a comment cancel reply.

Your email address will not be published. Required fields are marked *

Save my name, email, and website in this browser for the next time I comment.

Eric is a writer and editor for DeviceTests. His favorite subjects are the how-tos of everyday life: from programming apps to building a gaming computer.

Ubuntu 4

Should the /etc/sudoers File Only Have Read-Only Permissions?

Ubuntu 7

Effortlessly Setting Up Chinese Pinyin Input on Ubuntu 22.04

Ubuntu 1

Fixing "sda3_crypt: cryptsetup failed" error after upgrading to Ubuntu 22.04

  • Skip to content
  • Accessibility Policy
  • Oracle blogs
  • Lorem ipsum dolor
  • VirtualBox ,

Oracle VM VirtualBox: Networking options and how-to manage them

how to change ip address of virtual machine in virtualbox

Networking in VirtualBox is extremely powerful, but can also be a bit daunting, so here's a quick overview of the different ways you can setup networking in VirtualBox, with a few pointers as to which configurations should be used and when.

Oracle VM VirtualBox 5.1 allows you to configure up to 8 virtual NICs (Network Interface Controllers) for each guest vm (although only 4 are exposed in the GUI) and for each of these NICs you can configure:

  • PCnet-PCI II (Am79C970A)
  • PCnet-Fast III (Am79C973)
  • Intel PRO/1000 MT Desktop (82540EM)
  • Intel PRO/1000 T Server (82543GC)
  • Intel PRO/1000 MT Server (82545EM)
  • Paravirtualized network adapter (virtio-net)

Network Address Translation (NAT)

  • Bridged networking
  • Internal networking
  • Host-only networking
  • NAT with Port-forwarding

The choice of NIC-type comes down to whether the guest has drivers for that NIC.  VirtualBox, suggests a NIC based on the guest OS-type that you specify during creation of the vm, and you rarely need to modify this.

But the choice of networking mode depends on how you want to use your vm (client or server) and whether you want other machines on your network to see it. So let's look at each mode in a bit more detail...

This is the default mode for new vm's and works great in most situations when the Guest is a "client" type of vm. (i.e. most network connections are outbound). Here's how it works:

NAT Networking

When the guest OS boots,  it typically uses DHCP to get an IP address. VirtualBox will field this DHCP request and tell the guest OS its assigned IP address and the gateway address for routing outbound connections. In this mode, every vm is assigned the same IP address (10.0.2.15) because each vm thinks they are on their own isolated network. And when they send their traffic via the gateway (10.0.2.2) VirtualBox rewrites the packets to make them appear as though they originated from the Host, rather than the Guest (running inside the Host).

This means that the Guest will work even as the Host moves from network to network (e.g. laptop moving between locations), and from wireless to wired connections too.

However, how does another computer initiate a connection into a Guest?  e.g. connecting to a web server running in the Guest. This is not (normally) possible using NAT mode as there is no route into the Guest OS. So for vm's running servers we need a different networking mode....

NAT Networking characteristics:

  • Guests sit on own private LAN
  • VirtualBox acts as a DHCP Server
  • VirtualBox NAT engine translates addresses
  • Destination servers see traffic originating from VirtualBox host
  • No configuration needed on Host or Guest
  • Great when guests are clients
  • Not good for guests as servers

Bridged Networking

Bridged Networking is used when you want your vm to be a full network citizen, i.e. to be an equal to your host machine on the network; in this mode, a virtual NIC is "bridged" to a physical NIC on your host.

The effect of this is that each VM has access to the physical network in the same way as your host. It can access any service on the network such as external DHCP services, name lookup services, and routing information just as the host does. Logically, the network looks like this:

Bridging to wired LAN

The downside of this mode is that if you run many vm's you can quickly run out of IP addresses or your network administrator gets fed up with you asking for statically assigned IP addresses. Secondly, if your host has multiple physical NICs (e.g. Wireless and Wired) you must reconfigure the bridge when your host jumps networks.

So what if you want to run servers in vm's but don't want to involve your network administrator? Maybe one of the next 2 modes is for you...or maybe a combination of more options, like one NAT vNIC + 1 Host-only vNIC.....

Bridged Networking characteristics:

  • VirtualBox bridges to Host Network
  • Good for clients or server guests
  • Consumes IP addresses
  • May involve configuration of guest
  • Best for production environments 

Internal Networking

When you configure one or more vm's to sit on an Internal network, VirtualBox ensures that all traffic on that network stays within the host and is only visible to vm's on that virtual network. Configuration looks like this:

Configuring Internal Networks

The internal network ( in this example "intnet" ) is a totally isolated network and so is very "quiet". This is good for testing when you need a separate, clean network, and you can create sophisticated internal networks with vm's that provide their own services to the internal network. (e.g. Active Directory, DHCP, etc). Note that not even the Host is a member of the internal network, but this mode allows vm's to function even when the Host is not connected to a network (e.g. on a plane).

Note that in this mode, VirtualBox provides no "convenience" services such as DHCP, so your machines must be statically configured or one of the vm's needs to provide a DHCP/Name service.

Multiple internal networks are possible and you can configure vm's to have multiple NICs to sit across internal and other network modes and thereby provide routes if needed.

But all this sounds tricky. What if you want an Internal Network that the host participates on with VirtualBox providing IP addresses to the Guests? Ah, then for this, you might want to consider Host-only Networking...

Internal Networking characteristic:

  • Guests can see other guests on same internal network
  • Host cannot see internal network
  • Network configuration needed
  • Functions even when Host disconnected
  • Can be used in conjunction with Bridged
  • Good for multi-tier solutions

Host-only Networking

Host-only Networking is like Internal Networking in that you indicate which network the Guest sits on, in this case, "vboxnet0":

All vm's sitting on this "vboxnet0" network will see each other, and additionally, the host can see these vm's too. However, other external machines cannot see Guests on this network, hence the name "Host-only".

Logically, the network looks like this:

Host-only networking

This looks very similar to Internal Networking but the host is now on "vboxnet0" and can provide DHCP services. To configure how a Host-only network behaves, look in the VirtualBox Manager...Preferences...Network dialog:

Configure Host-only Networks

Host-Only Networking characteristics:

  • VirtualBox creates a private internal network for guests and host
  • Host sees a new software NIC
  • VirtualBox provides a DHCP server
  • Guests cannot see outside world
  • Guests function even when host disconnected
  • Great for development

Port-Forwarding with NAT Networking

Now you may think that we've provided enough modes here to handle every eventuality but here's just one more...

What if you cart around a mobile-demo or dev environment on, say, a laptop and you have one or more vm's that you need  other  machines to connect into? And you are continually hopping onto different (customer?) networks.

In this scenario:

  • NAT - won't work because external machines need to connect in.
  • Bridged - possibly an option, but does your customer want you eating IP addresses and can your software cope with changing networks?
  • Internal - we need the vm(s) to be visible on the network, so this is no good.
  • Host-only - same problem as above, we want external machines to connect in to the vm's.

Enter Port-forwarding to save the day!

  • Configure your vm's to use NAT networking;
  • Add Port Forwarding rules;
  • External machines connect to "host":"port number" and connections are forwarded by VirtualBox to the guest:port number specified.

For example, if your vm runs a web server on port 80, you could set up rules like this: 

Port-forwarding

...which reads: "any connections on port 8080 on the Host will be forwarded onto this vm's port 80".

how to change ip address of virtual machine in virtualbox

 This provides a mobile demo system which won't need re-configuring every time you connect your laptop to a different LAN/Network.

VirtualBox has a very powerful set of options allowing you to set up almost any configuration your heart desires.  For more information, check out the VirtualBox User Manual on  Virtual Networking .

Simon Coter

Director, oracle linux and virtualization product management.

A 20-years Oracle veteran, Simon Coter is an experienced product manager and open source community member. He leads a team responsible for several Oracle Linux and Virtualization offerings, including Oracle Linux, the Unbreakable Enterprise Kernel for Oracle Linux, Oracle Cloud Native Environment, Oracle Linux KVM, Oracle Linux Virtualization Manager, Oracle Linux Automation Manager, Gluster, Oracle VM, and VirtualBox. Prior to this, Simon was a technical consultant focused on project management, architectures definition, sizing and implementation, best practices, and technical references for customers.

Previous Post

Oracle VM 3.4: Network installation of Oracle VM Server (pxe boot, tftpboot, kickstart)

Hands on backup utilities for oracle vm 3.4.

  • Analyst Reports
  • Cloud Economics
  • Corporate Responsibility
  • Diversity and Inclusion
  • Security Practices
  • What is Customer Service?
  • What is ERP?
  • What is Marketing Automation?
  • What is Procurement?
  • What is Talent Management?
  • What is VM?
  • Try Oracle Cloud Free Tier
  • Oracle Sustainability
  • Oracle COVID-19 Response
  • Oracle and SailGP
  • Oracle and Premier League
  • Oracle and Red Bull Racing Honda
  • US Sales 1.800.633.0738
  • How can we help?
  • Subscribe to Oracle Content
  • © 2024 Oracle
  • Privacy / Do Not Sell My Info

Stack Exchange Network

Stack Exchange network consists of 183 Q&A communities including Stack Overflow , the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

How to assign static IP to Ubuntu Server (VirtualBox)

Please see my setup here:

NAT is set up here:

enter image description here

Host-only adapter is enabled here:

enter image description here

network for virtual box is configured here:

enter image description here

then I set up interface on the server like this:

enter image description here

then I run sudo netplan apply and I should be all set. I can ping myself on the server:

enter image description here

but can't ping the server from my local computer:

enter image description here

Hence the network isn't actually connected to the Internet. What am I doing wrong here ?

network connection is now set to "bridged":

enter image description here

  • You can either set the network connection to Bridged or set port forwarding on host computer. –  John Ronald Apr 7, 2020 at 11:29
  • I've set connection to "bridged" but it didn't help. –  mr_incredible Apr 7, 2020 at 12:58
  • If you did so, your IP address should change and should be in the same network as hosted computer. Is that right ? –  John Ronald Apr 7, 2020 at 17:13
  • Well ... no, because I assigned static IP of 192.168.56.102 to the server should share the name network with the host. So the IP of the server is unchanged. But I need the server to have access to the Internet from host. Bridged connection is set but didn't make difference to the virtual machine. –  mr_incredible Apr 7, 2020 at 23:33
  • I know this setup should work hence I created a thread here. –  mr_incredible Apr 7, 2020 at 23:34

The answer is Yes if you assign a static ip from your router for your virtual box virtual machine. (This need specific ip address from your local router).

The answer is No if you aren't assign a static ip from your router for your virtual box virtual machine.

If not how can we access the virtual machine via our laptop terminal ?

This is the method how to do that !

Keep in mind this is temporary method and all settings are reset after you restart the virtual machine . This will also enable internet access on your virtual box sever.

According to your question ,

First configure NAT (Network Address Translation) setting for Network Adapter 1

NAT Configuration

Then configure Host-only Adapter setting for Network Adapter 2

Host-only Adapter configuration

After that manual IP address assignment

Manual ip address assignment

Here don't enable the DHCP server as below

enter image description here

These are the settings for your server virtual machine hardware (assume that your are using a Ubuntu server virtual machine) !

After that install the Ubuntu server on the virtual hard disk ...

After you log on to the Ubuntu server (i think you provided administrative credentials ) , you have to do the followings.

First issue the following command to see the ip settings assigned for network adapters on the virtual Ubuntu server

On my test server there are eth0 , eth1 network interface cards , I have selected eth1 for this because eth0 is already assigned with an ip address by system default.

On Ubuntu server switch to the root user as ,

Then the appear root user prompt as below ,

Then issue the following command

Once you done this exit from the root user by typing exit

Here don't turn off the virtual machine !

Then minimize the virtual machine and fireup a local terminal

After that issue ifconfig on the local terminal . Here you can see the various network adapters including the host only adaptor.

Then try to ping the ip address of the virtual machine as below

If this ping is success you can now ssh to the your virtual Ubuntu server as below

Here you can provide the virtual server password .

So I think this method is worked for you if you are interested .

Kaviranga's user avatar

You must log in to answer this question.

Not the answer you're looking for browse other questions tagged networking server virtualbox ..

  • The Overflow Blog
  • Down the rabbit hole in the Stack Exchange network
  • Featured on Meta
  • Upcoming privacy updates: removal of the Activity data section and Google...
  • Changing how community leadership works on Stack Exchange: a proposal and...
  • AI-generated content is not permitted on Ask Ubuntu
  • Goodbye Gunnar Hjalmarsson 1958.10.06 - 2023.12.20

Hot Network Questions

  • Magic: the Gathering – Scry-sort
  • Swap letter cases
  • Does this 8088 code in the Leisure Suit Larry 2 game actually do anything?
  • Can I use references when I am responding to Reviewer in Revisions
  • How to use sed to remove newlines above and below a string?
  • How do you make nice recess in a melamine board for IKEA shelf holders?
  • Is there any chance a Japanese person would understand this spoken line WITHOUT kanji? [Attack on Titan]
  • Could the bassist and the rhythm guitarist be the same person?
  • What do we mean when we say something is done "in hardware" versus "in software"?
  • Oxidation of compounds vs elements
  • Could relativity be consistent if there are multiple light-like fields with different invariant speeds?
  • Equation of Motion Invariance in Galilean Mechanics
  • Visualizing the reverse pyramid in a good way
  • Can "innate" magic exist without fostering elitism?
  • Should I put functions in .bashrc, .bash_aliases or .profile
  • Does the prohibiting of Kilayim apply to hydroponics
  • How could a speedster function in real life. Part 1:Acceleration
  • Divide rubies and diamonds on a necklace into 2 equal halves
  • What is a "consecutive stay plan"?
  • Why does the Falcon 9 first stage perform a burn at 60 km altitude?
  • What are advantages of chaos based image encryption methods over simply treating images as opaque bit strings?
  • 1990s/2000s live-action show with kids in tribes in a dystopian sci-fi/fantasy setting
  • Whether the default behavior of +-×÷ should be saturation instead of wrapping when overflow?
  • Names in The Water Margin

how to change ip address of virtual machine in virtualbox

Marcus Christie

My random musings

How to create a VirtualBox VM with a static IP and internet access

Introduction.

Recently I’ve been working on installing Apache Airavata in a VirtualBox VM running on my laptop using our “standalone” Ansible installation settings. The goal is to have a locally running instance of Airavata that I can connect to when developing the Airavata Django Portal which I’ve been working on. That means I need Django running on my laptop to be able to access the VM (host-to-guest access) and the VM does need to be able to access the internet (guest-to-internet access) since the Ansible playbooks that are executed against the VM download and install software from the internet.

It turns out that getting this set up is not so trivial, but also, it’s not that hard once you know what VirtualBox provides and how to configure it. In summary, the approach I’ll give here is to create a VirtualBox VM:

  • with the default NAT network adapter (for internet access)
  • and then add a host-only network adapter and configure the VM with a static IP address (for host-to-guest access)

A quick word about VirtualBox networking modes. You can read all about the various networking modes here but here’s a quick summary:

  • NAT – the networking mode of the default network adapter when you create a new VM. This gives internet access but applications running on the host can’t make network connections to the VM.
  • Bridged – with this mode VirtualBox uses a special driver for the host’s physical network interface to create a virtual network interface for the VM. The VM gets an IP on the same network that the host is physically connected to. Host-to-guest communication and internet access are available.
  • Host-only – with this mode VirtualBox creates a virtual network that the host and the VMs are connected to. This allows host-to-guest communication but this virtual network has no access to the internet.

Now you might be wondering, why not just use a bridged network adapter? Well, you can, but there is one substantial downside. Whenever the network the host is connected to changes, the IP address of the VM will change. This is exacerbated in my case by the fact that I exclusively use wireless networks on my laptop, so my network is regularly changing. Also, I really need a static IP address for the VM to configure the Ansible scripts and because part of the process is to generate a self-signed SSL certificate for the VM’s IP address. But, if you’re using a wired workstation or you don’t have a lot of configuration dependent on the VM’s IP address, bridged networking might be a good solution to get you both internet access and host-to-guest networking.

Installing CentOS 7

Creating a CentOS 7 VM is covered well in other places (I used Jeramy Singleton’s guide ), so I won’t cover all of the steps here. But here are some quick pointers:

  • Set the type of the VM to Linux and the version to Red Hat (64-bit)
  • Download a minimal ISO from https://www.centos.org/download/
  • Log in as root and change the working directory to /etc/sysconfig/network-scripts/ and edit the ifcfg-enp0s3 config file and set ONBOOT to yes . Then reboot the VM to get network access.

Also note that whereas in Jeramy Singleton’s instructions he has you create a port forward (2222->22) to be able to SSH into the VM, in the following we’ll add a host-only network instead and use that IP address to SSH into the VM on the standard port 22.

Configuring host-only network

First, make sure that there is a host-only network to connect to. In my case, a default one was already created, called vboxnet0 . To check if you already have one, start VirtualBox and then click on the Global Tools button and make sure you are on the Host Manager Network tab.

how to change ip address of virtual machine in virtualbox

Take note of the IP Address of the network and the network mask. In the screenshot above, the IP Address is 192.168.99.1 with network mask of 255.255.255.0 which means I can assign IP addresses 192.168.99.2-254 statically. I’ve disabled the DHCP server since I’ll assign IP addresses statically, but in theory you utilize static and dynamic IP assignment (if you do that note that the DHCP server will hand out IP addresses from 100-254 by default, so don’t use those).

Now add a host-only network adapter to the VM. First, make sure that the VM is shut down. Next, in the VirtualBox app select the VM and click on the Settings button. Click on the Network tab. Adapter 1 should be your NAT adapter. Click on the Adapter 2 subtab, select Host-only Adapter and the name of the host-only network ( vboxnet0 in this case).

how to change ip address of virtual machine in virtualbox

Click OK and start up the VM. Log in as root through VirtualBox console. Run

to find the name of the host-only network interface. In my case it was called enp0s8 .

how to change ip address of virtual machine in virtualbox

Create a file called ifcfg-enp0s8 in /etc/sysconfig/network-scripts/ and give it the following contents:

Where NETMASK should match the settings for your host-only network as obtained above and IPADDR should be an available IP address in the host-only network (again, typically in 2-254 range).

Now when you run

you should see the IP address you configured in the ifcfg-enp0s8

how to change ip address of virtual machine in virtualbox

You should now be able to SSH to the VM from the host OS:

You can now connect applications running on the host OS to network services running on the VM via the host-only network and the VM can also connect to the wider internet via the NAT interface.

  • Aaron Kili’s post on adding a host-only network adapter was very helpful. He also has instructions on how to configure a static IP on Debian-based distributions.
  • Red Hat Interface Configuration Files reference
  • Install a CentOS 7 Minimal Virtual Machine with VirtualBox

Leave a Reply Cancel reply

Leave a comment.

Stack Exchange Network

Stack Exchange network consists of 183 Q&A communities including Stack Overflow , the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Assign a Static IP Address to a VirtualBox Guest with a NAT Network Without Accessing the Guest

I am using VirtualBox 5.2.18 on Ubuntu Server 18.04. I have several VirtualBox guests machines sharing a NAT Network intnet . Currently, intnet has a DHCP server (set up by VirtualBox) that automatically assigns dynamic IP's to the guests. This works fine, but I would like the DHCP server to assign static IP's to specific guests based on their network interface's MAC address. Static IP's can be set inside the guests, but that takes time and is guest OS dependent. Is there a way, in VirtualBox, to assign static IP's to the guests?

There is a an executable in the VirtualBox installation folder called VBoxNetDHCP . Judging by the output of VBoxNetDHCP , it seems to allow for static IP assignment by MAC address. I cannot get it to work though, and documentation for it is virtually nonexistent.

  • ubuntu-server
  • ubuntu-18.04

Mohamed Laradji's user avatar

  • 2 When I do this I use another small VM to provide DHCP, DNS for a fake domain, etc. to my internal network. Using Debian 9 you can go as low as 128mb of ram and perhaps 1.5gb of disk use after install. –  ivanivan Aug 20, 2018 at 1:15
  • I'm leaning towards doing that, @ivanivan. Do you happen to have a tutorial at hand? –  Mohamed Laradji Aug 20, 2018 at 20:57
  • I'll post it as an answer, give me a few ... –  ivanivan Aug 21, 2018 at 0:01

3 Answers 3

Normally when I do things like this (and I do it a lot) I tend to use a VM acting as a network server that does things like DHCP, DNS - both caching for the world and locally spoofing fake.tld - etc.

Simplest way is to do a base, bare install of Debian via the netinstall image - select none of the package groups other than the ssh server option and perhaps "standard utilities".

Once it is up and running, to turn it into a DHCP server for your internal VM network, install the isc-dhcp-server package. Then edit /etc/dhcp/dhcpd.conf

Here's a simple example from mine. This sets a short lease time (5 minutes), sets the client search-domain, etc. to "fake.tld", points their dns queries to 192.168.1.2, and gives out addresses in the range of 10.99.98.80-100 with 24 bits of netmask. Note that the VM doing this must have an adapter configured with an IP within the 10.99.98.0/24 subnet.

In addition to the general pool, I give the device with the MAC address of 80:c1:6e:2b:b6:cd an explicitly defined lease (as well as any other option like a DNS server to use, gateway, etc) for the .110 ip. Any such "static leases" must be for addresses OUTSIDE of your dynamic range, but within the subnet configured in both the config file AND on the network adapter of the machine hosting the service.

When you add a new host and you want it to have a specific IP, simply add another host stanza - the host name doesn't need to match whatever the client sends but it does need to be unique in the file. After you've added it, restart the service service isc-dhcp-server restart

ivanivan's user avatar

  • This worked for me, except that: 1. My DHCP VM uses Ubuntu Server (which is based on Debian ) rather than Debian . I installed the same isc-dhcp-server package. 2. My internal network ( intnet in my question) is 192.168.1.0/24 , and I used option routers 192.168.1.1; and option domain-name-servers 192.168.1.1; . I was able to tell which IP to use by using nmap -sn 192.168.1.0/24 . 3. I defined the options routers and domain-name-servers globally by adding them to /etc/dhcp/dhcpd.conf after the line # option definitions common to all supported networks... . –  Mohamed Laradji Aug 21, 2018 at 1:11

This can be done in the internal VBOX DHCP server:

1.- FindOut network name for dhcp server:

2.- You need also the mac address of your VM's interface

3.- Setup Static Lease for that MAC.

./VBoxManage dhcpserver modify --ifname "VirtualBox Host-Only Ethernet Adapter" --mac-address=08:00:27:f8:31:fa --fixed-address=192.168.56.20

4.- Restart DHCP server to apply changes

./VBoxManage dhcpserver restart --ifname "VirtualBox Host-Only Ethernet Adapter"

And that's it. You can do it not only for host-only networks but for any Vbox network with an DHCP server attached

Community's user avatar

You do not need an addition DHCP Server software, with NAT Network intnet , we can setup VirtualBox dhcpserver

Copy guest MAC address from Settings as seen in screenshot

enter image description here

Within our dhcpserver, lets add an Individual Config section

P.S. I remember the dhcpserver failed to assign the first IP address of our subset's range, then I tried last IP and it worked, since then I only use the last IP as static.

Reboot or Start your Guest VM

On a Linux based Guest, you can check if DHCP assigned an IP, such as from terminal

If you do not see an IP released, you need to edit the adapter config file, such as

Usually adding ONBOOT=yes fixes this issue, and off course one of reboots systemctl restart network systemctl restart network.service , shutdown -h now , reboot now :)

AamirR's user avatar

You must log in to answer this question.

Not the answer you're looking for browse other questions tagged networking virtualbox dhcp ubuntu-server ubuntu-18.04 ..

  • The Overflow Blog
  • Down the rabbit hole in the Stack Exchange network
  • Featured on Meta
  • Upcoming privacy updates: removal of the Activity data section and Google...
  • Changing how community leadership works on Stack Exchange: a proposal and...

Hot Network Questions

  • Can a decimal that is infinitely repeating in one base be nonrepeating in another?
  • Is it possible to download HTML versions of articles available on publishers' websites?
  • A canal between two rivers
  • A weird probability question
  • How to answer vague "tell me about x" questions from recruiter
  • What's the reason to live in this life?
  • Why deplane all passengers and not the troublemaker?
  • Order of sourcing scripts
  • Is TSA Pre check a security risk?
  • How do I handle white space in cards with varying amounts of information?
  • A set of rotated/reflected L-shapes
  • Oxidation of compounds vs elements
  • 1990s/2000s live-action show with kids in tribes in a dystopian sci-fi/fantasy setting
  • Short story in which time slips and the passenger pigeon reappears in North America
  • theorem Isosceles Triangle
  • Can an Eidetic Spellcaster benefit from the Geometer feature that allows one page per spell in the spellbook?
  • Will MLE always produce Biased Variance Estimates?
  • Newbie: How to identify a chip on a board, what is the best strategy?
  • Is it coincidence that the earth's rotation and revolution are in the same direction?
  • Will there be another joint International Space Station (ISS) after the current is retired?
  • Could the bassist and the rhythm guitarist be the same person?
  • Can "innate" magic exist without fostering elitism?
  • How to prove that the following series converges?
  • What will it take to start measuring the rotation rate and direction of exoplanets? Which instrument(s) current or future are most likely to do it?

how to change ip address of virtual machine in virtualbox

DEV Community

DEV Community

Paula

Posted on Mar 27, 2023

How to configure a static IP address on CentOS 7 with VirtualBox

This article aims to explain how to configure a static IP address on a CentOS 7 virtual machine using VirtualBox.

We will go step by step, and at the end of this blog, you will be able to ssh into your virtual machine using a never-changing IP.

What is a static IP?

Every computer has a random local IP address unless you have specified the contrary. These addresses are not fixed. It means that they could change.

In most cases, you don’t care about the IP address, but you usually do with virtual machines.

If you have a MySQL service running on a virtual machine, you would want to save the connection configuration once and re-use it every time. If the IP address changes, you have to modify the connection settings.

Another approach is to use port-forwarding. This approach is okay until you have 3 or more virtual machines with multiple services and ports to keep track of.

The following image shows the ideal local development environment with static IP addresses.

Image description

Configure VirtualBox Networking

The app VirtualBox has some networking settings we have to set before changing the VM Linux configuration.

We want our VM to have the following:

  • Access to the internet
  • Access to our host computer

And we also want to be able to access the VM by IP.

Step 1: Stop the VM

You have to stop the VM before doing the following steps.

Step 2: Create Ethernet Adapter

Click on Tools - Networks and make sure you have an ethernet adapter created. Write down the IPv4 Prefix, because the static IP will be in this range.

Image description

In the image above:

  • The gateway is 192.168.56.1
  • The network mask is 255.255.255.0 (24 bits)

The static IP of my VM will be in the 192.168.56.xx range.

Step 3: Change adapters

Right-click on the virtual machine and choose the “Network” tab. We are going to add 2 adapters:

  • The first one is going to be a NAT. This way the VM will have internet access.
  • The second one has to be a “Host-only Adapter” with the ethernet adapter of the previous step. This is the adapter that will have the static IP assigned.

Image description

Configure VM Centos 7

Now that we have configured the VirtualBox networking, we will configure the inner VM networking settings.

Step 1: Start the VM

Double-click on the VM or right-click and start.

Step 2: Get the connection name

We know the static IP will be assigned to the second adapter, the Host-only Adapter.

Let’s check the vm networking using ip addr | head -n 20 :

Image description

  • enp0s3: NAT Adapter
  • enp0s8: Host-Only Adapter

Now we know we have to assign an IP to the enp0s8 device. To get its connection name, you have to execute the following statement:

nmcli -p device

Image description

The connection name is “Ethernet connection 1”.

Step 3: Configure connection IP

There are two ways of doing it:

  • Graphically with nmtui
  • With bash statements and nmcli

In our case, we will execute some statements in the console.

If we execute ip addr | head -n 20 again, we will see the previous IP address.

Image description

Step 4: Reboot

The last step is to reboot the VM

Test the connection

Now we can connect to the VM using the command ssh [email protected]

Top comments (0)

pic

Templates let you quickly answer FAQs or store snippets for re-use.

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink .

Hide child comments as well

For further actions, you may consider blocking this person and/or reporting abuse

kacperlukawski profile image

What is Hybrid Search?

Kacper Łukawski - Feb 6

surajondev profile image

GitHub Security Best Practices Every Developer Should Know

Suraj Vishwakarma - Feb 22

adhikareeprayush profile image

The Ultimate Roadmap to a Full-Stack Developer

Prayush Adhikari - Feb 22

ghostaram profile image

How to set and customize horizontal and vertical scrollbars with CSS

Felix Owino - Feb 7

Once suspended, pauladj will not be able to comment or publish posts until their suspension is removed.

Once unsuspended, pauladj will be able to comment and publish posts again.

Once unpublished, all posts by pauladj will become hidden and only accessible to themselves.

If pauladj is not suspended, they can still re-publish their posts from their dashboard.

Once unpublished, this post will become invisible to the public and only accessible to Paula.

They can still re-publish the post if they are not suspended.

Thanks for keeping DEV Community safe. Here is what you can do to flag pauladj:

pauladj consistently posts content that violates DEV Community's code of conduct because it is harassing, offensive or spammy.

Unflagging pauladj will restore default visibility to their posts.

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

1.1.5-lab---installing-the-virtual-machines

  • Computer Science

IMAGES

  1. How to Configure Internal Network Between Virtual Machines in VirtualBox

    how to change ip address of virtual machine in virtualbox

  2. How To Set Static IP To VirtualBox VM

    how to change ip address of virtual machine in virtualbox

  3. Configure an IP address on a virtual machine

    how to change ip address of virtual machine in virtualbox

  4. How to: Change the IP Address of the Virtual Machine

    how to change ip address of virtual machine in virtualbox

  5. How to Change the DHCP IP Address Range for VMware Workstation Virtual

    how to change ip address of virtual machine in virtualbox

  6. VirtualBox Network Settings: All You Need to Know

    how to change ip address of virtual machine in virtualbox

VIDEO

  1. How Change IP Address Desktop

  2. How to change DHCP to static IP by cmd in VMware on FotiGate firewall

  3. he thought he pulled my ip but I had a vpn on #shorts

  4. How to Create a VirtualBox VM Inside a VirtualBox VM

  5. Oracle Virtual Machine in VirtualBox

  6. ✅ How to Configure IP Address, Rename Windows Server 2008

COMMENTS

  1. How To Set Static IP To VirtualBox VM

    Shell 1 1 ifconfig For Linux/Mac, you got something like this: You may even try to ping the VM's address but no luck! Well, I'll show you how to fix that. How to change network settings so you can ping the VM The first thing you do is going to Machine->Settings and click on Network then set the settings as below: Change:

  2. networking

    3 Answers Sorted by: 4 Instead of setting a static IP like others suggested, I simply enabled "Bridged Adapter Mode" under "Network Connections", and then this made it such that each new virtual machine I made automatically had a new IP address.

  3. VirtualBox Network Settings: All You Need to Know

    VirtualBox network adapter settings can be accessed in the virtual machine settings (select your VM, hit Settings and go to the Network section in the VM settings window). There you should see four adapter tabs. One virtual network adapter is enabled by default after virtual machine creation.

  4. Assign IP address to a virtual machine using virtualbox

    Open VirtualBox, go to Preferences (Windows it's under File, Mac under the application name), and go to the Network tab. You should already be on the NAT Network tab. Click the button with the + to create the network. If you want to rename it, hit the screwdriver icon.

  5. How To Set Static IP Address in VirtualBox Networking

    Step 3: Configure the IP Address. In the wired settings, change the connection type from "Automatic (DHCP)" to "Manual". Then, click "Add" to create a new IP address configuration. Step 4: Enter the IP Address Details. In the new configuration, enter your desired static IP address, subnet mask, and gateway address.

  6. How to configure static ip in Ubuntu running on virtual box?

    The easiest method is through network manager: 1- From the top of the screen select the network icon, next to the clock and volume, then click Edit Connections. 2- From the window that opens, go to Wired tab, select your connection (there should be only one connection, if you didn't touch anything). Then click Edit.

  7. Assign different ip's to vm's and clones created using virtual box

    1 I am using windows 7. I installed virtual box and created a ubuntu 16.04 vm. it has the ip of 192.168..10 But all my clones also have the same ip. I tried different ways to change the ip, but nothing seems to be working The contents of the my /etc/network/interfaces file is as follows

  8. How do I access Virtualbox internal IP from host machine?

    How do I access Virtualbox internal IP from host machine? Ask Question Asked 9 years, 3 months ago Modified 4 years, 9 months ago Viewed 80k times 23 I've been trying to learn more about security by following http://www.pentesterlab.com/bootcamp/week2/, but I'm struggling to access my VM's internal IP localhost from the host machine.

  9. virtual machine

    In my tests, when the VM obtained an IP (I used dhcp for this, don't know how relevant that is), the 'guestproperty' command line you're using does seem to report the correct IP address. Perhaps the easiest way is just to check inside the VM and see if it actually has got an IP address? -

  10. Network Configuration in VirtualBox

    Network Modes For network configuration, VirtualBox 4.* provides the following network modes: [2] "Not attached" mode (not connected) Network Address Translation (NAT) Bridged networking (network bridge) Internal networking (internal network) Host-only networking (Host-only adapter) Generic networking "Not attached" mode

  11. Oracle VM VirtualBox: Networking options and how-to manage them

    When the guest OS boots, it typically uses DHCP to get an IP address. VirtualBox will field this DHCP request and tell the guest OS its assigned IP address and the gateway address for routing outbound connections. In this mode, every vm is assigned the same IP address (10.0.2.15) because each vm thinks they are on their own isolated network.

  12. networking

    2 Answers Sorted by: 5 The Virtualbox manual has a section describing how to adjust the default NAT interface behavior, Fine-tuning the VirtualBox NAT engine. You can alter the IP address range and submask, change the behavior of the DNS resolver, and other things.

  13. VirtualBox

    How to Set Static IP Address in Linux CentOS/RHEL Virtual Machine in VirtualBoxIP Address keeps changing for the Virtual Machine Linux CentOS. This becomes a...

  14. set different IP address for Vms in bridge mode in Virtualbox

    1 Answer Sorted by: 0 If you clone a VM, you get an exact copy. So all IP settings will be copied as well. You will need to edit the network settings in the clones and assign new IP addresses. If you are using DHCP, assigning a new (unique) MAC address to the network interface of each virtual machine will help. Share Improve this answer Follow

  15. How to assign static IP to Ubuntu Server (VirtualBox)

    Here don't turn off the virtual machine ! Then minimize the virtual machine and fireup a local terminal. After that issue ifconfig on the local terminal . Here you can see the various network adapters including the host only adaptor. Then try to ping the ip address of the virtual machine as below. user@user-laptop:~$ ping 192.168.188.101

  16. How to assign static IP to virtual machine on VirtualBox

    It's super easy. 1. Choose Bridged Adapter2. Pick a fake MAC ID3. Allow all incoming connections4. Optionally, give your VM a name so you don't have type ip ...

  17. How to Set Different Ip's to Virtual machine in Vbox

    0:00 / 9:00 How to Set Different Ip's to Virtual machine in Vbox LaGran (Tech Hill) 118 subscribers Subscribe Subscribed 467 Share 69K views 7 years ago When we clone a VM in Vbox,we get same...

  18. virtualbox

    1 @myaut Ah. Okay, I thought it was bridged by default. But, even despite NAT; if the VM is receiving it's LAN connection, and it's route to the internet, from the main host; surely, the main host must have some kind of record of that link in the IP chain.

  19. How to create a VirtualBox VM with a static IP and internet access

    Whenever the network the host is connected to changes, the IP address of the VM will change. This is exacerbated in my case by the fact that I exclusively use wireless networks on my laptop, so my network is regularly changing.

  20. Assign a Static IP Address to a VirtualBox Guest with a NAT Network

    I am using VirtualBox 5.2.18 on Ubuntu Server 18.04. I have several VirtualBox guests machines sharing a NAT Network intnet.Currently, intnet has a DHCP server (set up by VirtualBox) that automatically assigns dynamic IP's to the guests. This works fine, but I would like the DHCP server to assign static IP's to specific guests based on their network interface's MAC address.

  21. How to configure a static IP address on CentOS 7 with VirtualBox

    Step 3: Change adapters. Right-click on the virtual machine and choose the "Network" tab. We are going to add 2 adapters: The first one is going to be a NAT. This way the VM will have internet access. The second one has to be a "Host-only Adapter" with the ethernet adapter of the previous step. This is the adapter that will have the ...

  22. Converting VirtualBox OVA to QCOW2 for QEMU/KVM Deployment

    Export Your VirtualBox Machine/Appliance to OVA (OVF 1.0): The first step in preparing your VirtualBox virtual machine for conversion is to export it as an OVA file, specifically in the OVF 1.0 format to ensure compatibility. You can achieve this in two ways: using the command line or through the VirtualBox GUI.

  23. 1.1.5-lab---installing-the-virtual-machines (docx)

    Lab - Installing the Virtual Machines b. Download the cyberops_workstation.ova and security_onion.ova image files and note the location of the downloaded VM. Part 2: Import the Virtual Machine into the VirtualBox Inventory In Part 2, you will import the virtual machine image into VirtualBox and start the virtual machine. Step 1: Import the virtual machine file into VirtualBox.