How do I setup a virtualbox server with a static ip?

I'm trying to get a Virtualbox instance running with a very specific networking setup.

Here's what I have right now:

I have a laptop running Ubuntu, hosting a Debian Virtualbox. My loptop regularly has dhcp addresses assigned to it's wireless card in either the 192.168.*.*** range or 10.***.***.*** range. I've set up my Debian VB with a bridged network adapter connected to my laptops's wlan0 connection.

The Debian machine always grabs a dynamic address, so if I want to access virtual hosts running on it, or want to ssh into it, I must first run ifconfig to find its ip address.

Here's what I want:

I want to set up the Debian virtual machine with another network adapter on a private network between my laptop and it, that will always have a static ip, no matter what dhcp address my laptop has.

How do I do this?


Solution 1:

Change the virtualbox network settings to Host-only networking and edit the following file in the virtual machine:

 /etc/network/interfaces

You can that change it to have a static IP like this:

iface eth0 inet static
       address 192.168.2.10
       netmask 255.255.255.0
       network 192.168.2.0
       broadcast 192.168.2.255
       gateway 192.168.2.1

Then, you should change the settings for the virtual Network Adaptor in Ubuntu to also have a static IP (192.168.2.1 in this example).

Solution 2:

If like me, you happen to be on a Redhat based system like CentOS, just edit /etc/sysconfig/network-scripts/ifcfg-eth1 with the following:

DEVICE=eth1
BOOTPROTO=static
IPADDR=192.168.56.101
NETMASK=255.255.255.0

I've assigned the static IP to eth1 but you need to change it according to what ifconfig tell you. To see these changes take effect restart the network service with service network restart.