proper ip address aliasing

Rick Stevens rstevens at vitalstream.com
Thu Feb 3 18:42:52 UTC 2005


Ken Scott wrote:
> On Wed, 2005-02-02 at 19:20, Rick Stevens wrote:
> 
>>Ken Scott wrote:
>>
>>>On Wed, 2005-02-02 at 12:59, Rick Stevens wrote:
>>>
>>>
>>>>jdyke wrote:
>>>>
>>>>
>>>>>I need to add a group of virutal ips to a single interface on FC3. I've 
>>>>>used
>>>>>`ip addr add 192.168.2.XX dev eth0` to add the ips which worked fine, 
>>>>>but what is the best/proper way to add them at boot up.  I'd assume i 
>>>>>could add them in rc.local which should work?  but is that right?
>>>>
>>>>The proper way is to create additional scripts in the
>>>>"/etc/sysconfig/network-scripts" directory.  They should be named
>>>>"ifcfg-eth0:x", with "x" being the alias number.  If you're adding 3
>>>>aliases to eth0, for example, the files would be:
>>>>
>>>>	ifcfg-eth0	(primary, leave it alone)
>>>>	ifcfg-eth0:1	(first alias)
>>>>	ifcfg-eth0:2	(second alias)
>>>>	ifcfg-eth0:3	(third alias)
>>>>
>>>>Inside those "ifcfg-eth0:x" scripts, you only need four lines:
>>>>
>>>>	DEVICE=eth0:x		(replace "x" with the alias number)
>>>>	IPADDR=xxx.xxx.xxx.xxx
>>>>	NETMASK=xxx.xxx.xxx.xxx
>>>>	ONBOOT=yes
>>>>
>>>>The first one, "ifcfg-eth0" should be left alone, as it sets up the
>>>>base device.
>>>>
>>>>That's the "official" way to do it and the way "system-config-network"
>>>>or "Fedora Icon->System Settings->Network" do it, which would allow you
>>>>to manage them via the GUI system.
>>>
>>>
>>>I have not had occasion to use this "virtual IP" technique but I
>>>appreciate the procedure.
>>
>>Technically it's called "IP aliasing".
>>
>>
>>>                           Does this mean that I can take my development
>>>box (192.168.0.100) and assign it a virtual IP on a different subnet
>>>(say 192.168.2.100)  so that it could talk to a another box I  have on
>>>the local network temporarily (which I am working on for someone else)? 
>>>My machine only has a single network card in it.
>>
>>Yes you can, but you have to be careful as your switch/router may not
>>allow you to cross subnet boundries.  For most people it'll work fine.
>>
>>
>>>That would be great if true, I could leave both my machine's IP alone
>>>and the other device's IP as well and simply change the virtual IP so
>>>that they could talk.
>>
>>We do it a lot, but again, watch your routers and switches.  Also
>>remember that your _default_ route will remain the same.  It will add
>>another _network_ route, but not a default one.
>>
>>
>>>Seems so elegant that it probably does work that way (since it is after
>>>all Linux)!
>>
>>Simple is elegant.  That's Unix/Linux in a nutshell.
>>
>>
>>>I know that I can change my internal IP to match the target machine but
>>>that solution doesn't allow concurrent web access.
>>
>>This is the cheap solution.
>>
>>Historical note:  Before hostheaders were invented in HTTP 1.1, this is
>>how you got a web server to handle multiple websites.  Each site got an
>>individual IP address and you aliased the NIC card out the wazoo.
> 
> 
> Thanks a lot.  That is very helpful and informative.  One last perhaps
> slightly off-forum question, is the configuration procedure above
> specific to Red Hat/Fedora or does it apply more generally to other
> Linux distributions (specifically Debian)?

Probably most Linuxen have something similar.  You should check the
"/etc/rc.d/init.d/network" script and see how it brings up the network.
If you see a reference something like:

	cd /etc/sysconfig/network-scripts

then the odds are it uses a similar thing.  If you analyze the script,
you'll see where it finds the alias stuff (it's an "ls" command
followed by a rather involved egrep/awk script).
----------------------------------------------------------------------
- Rick Stevens, Senior Systems Engineer     rstevens at vitalstream.com -
- VitalStream, Inc.                       http://www.vitalstream.com -
-                                                                    -
- ...Had this been an actual emergency, we would have fled in terror -
-                      and you'd be on your own, pal!                -
----------------------------------------------------------------------




More information about the Redhat-install-list mailing list