Ubuntu static IP alias (dhcp/router independent)
I am currently working on a project that involves three independent modules running on three separate machines (currently done in 3 different VMs) that all must talk to each other. An annoyance that I'm running into is that when I transfer the VMs to a different computer or to a different network, the VMs acquire different IP addresses than what has been hardcoded into each module.
I feel that there has to be an easier, more portable way to do this. Is it possible to assign each VM an alias IP in, say, the 10.0.0.x subnet and refer to them by that address instead of their actual 192.168.1.x address? Each VM and the host is running Ubuntu 9.04 64-bit.
Thanks in advance, Dave McClelland
Edit: Copying my /etc/network/interfaces file instead of commenting it below -- it got mangled
auto eth0
iface eth0 inet dhcp
iface eth0:0 inet static
address 192.168.14.21
network 192.168.14.0
netmask 255.255.255.0
broadcast 192.168.14.255
gateway 192.168.14.1
Edit /etc/network/interfaces:
iface eth0 inet static
address 192.168.0.10
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
Change to suit your preferred network subnet/settings.
To make an alias on the DHCP'd eth0:
# The primary network interface
auto eth0
iface eth0 inet dhcp
iface eth0:0 inet static
address 192.168.0.10
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
Bring the interface up:
$ sudo ifup eth0:0
$ ifconfig eth0:0
eth0:0 Link encap:Ethernet HWaddr 00:0c:29:b0:fe:76
inet addr:192.168.0.10 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:19 Base address:0x2000