A quick Internet search showed a couple top-level matches that didn’t quite work for me, so I’m documenting how I got my multiple IP assignments on one interface to stick. This was work done for my Raspberry Pi, but it should apply to any Debian Linux system.
This was work done for my Raspberry Pi, but it should apply to any Debian Linux host. I made my file /etc/network/interfaces look as follows:
auto lo auto eth0 auto eth0:0 iface lo inet loopback # DrJ change: make IP static # somewhat inspired by http://www.techiecorner.com/486/how-to-setup-static-ip-in-debian/ - DrJ 1/8/13 #iface eth0 inet dhcp iface eth0 inet static address 192.168.2.100 gateway 192.168.2.1 netmask 255.255.255.0 network 192.168.2.0 broadcast 192.168.2.255 # virtual IP on eth0 iface eth0:0 inet static address 10.31.42.11 netmask 255.255.255.0 network 10.31.42.0 broadcast 10.31.42.255
I think the key statement which is missing on some people’s examples are the lines at the top of the file:
auto lo auto eth0 auto eth0:0
When I didn’t have those I was finding that my primary IP was defined upon reboot, but not my virtual IP, although the virtual IP could be dynamically created with a simple
sudo ifup eth0:0
Still, I wanted it to survive a reboot and adding the auto lines did the trick.
A few of the pages you will find on the Internet may give incomplete information on how to configure virtual IPs in Debian Linux. The approach outlined above should work. Additional virtual IPs would just require sections like eth0:1, eth0:2, etc modelled after what was done for eth0:0
I present some basic information on one way to get started on the Pi without an external monitor (yes, it can be done) here!
If you think you like networking, you will learn a lot of useful tips in this posting which describes how to turn your Raspberry Pi into a full-blown router.