Unix Technical Forum

I ment multiple IP addresses assigne to one interface when I said alias

This is a discussion on I ment multiple IP addresses assigne to one interface when I said alias within the Slackware Linux Support forums, part of the Unix Operating Systems category; --> When i say aliass I mean multiple IP addresses for one interface. For example on eth0 I want to ...


Go Back   Unix Technical Forum > Unix Operating Systems > Slackware Linux Support

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 02-19-2008, 07:20 AM
Jeff Turley
 
Posts: n/a
Default I ment multiple IP addresses assigne to one interface when I said alias

When i say aliass I mean multiple IP addresses for one interface. For
example on eth0 I want to have multiple addresses for example eth0:0
192.168.1.1 eht0:1 192.168.1.2 etc. The rcinet1.conf file has no examples
of this type of config in its comments. Thanks Jeff Turley


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 02-19-2008, 07:20 AM
Jurgen Philippaerts
 
Posts: n/a
Default Re: I ment multiple IP addresses assigne to one interface when I said alias

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wed, Jan 07, 2004 at 06:18:06PM PST, Jeff Turley wrote
in article <y53Lb.22120$P%1.21346301@newssvr28.news.prodigy.c om>:

> When i say aliass I mean multiple IP addresses for one interface. For
> example on eth0 I want to have multiple addresses for example eth0:0
> 192.168.1.1 eht0:1 192.168.1.2 etc. The rcinet1.conf file has no examples
> of this type of config in its comments. Thanks Jeff Turley


i'd just put them in rc.local
edit rc.local, and add the needed ifconfig commands to it.

ofcourse, you can add them to one of the other scripts also


Jurgen.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE//NtJ1ucXIiwNwbURAk0eAKDsroR3WBQDDxg7MXAJFQxMX39tEwC gt+NI
GEdcrs/igRCOsPEyHsB0bvY=
=IOGY
-----END PGP SIGNATURE-----
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 02-19-2008, 07:20 AM
Alan Hicks
 
Posts: n/a
Default Re: I ment multiple IP addresses assigne to one interface when I said alias

In alt.os.linux.slackware, Jurgen Philippaerts dared to utter,
> i'd just put them in rc.local
> edit rc.local, and add the needed ifconfig commands to it.


That's the quick and dirty way. It'll work, but it's kinda ugly.

> ofcourse, you can add them to one of the other scripts also


This is the elegant way of course, but will require a little more work
and possibly a lot more knowledge. The place I'd look to do things
would be rc.inet1 and rc.inet1.conf. You'd have to add a variable to
tell rc.inet1 exactly what interface (real or virtual) you want the
variables to apply to, and hack rc.inet1 to check for this variable.
It's probably a lot more work than it's worth though.

--
It is better to hear the rebuke of the wise,
Than for a man to hear the song of fools.
Ecclesiastes 7:5
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 02-19-2008, 07:22 AM
Tom Neilson
 
Posts: n/a
Default Re: I ment multiple IP addresses assigne to one interface when I said alias


"Jeff Turley" <jaturley@sbcglobal.net> wrote in message
news:y53Lb.22120$P%1.21346301@newssvr28.news.prodi gy.com...
> When i say aliass I mean multiple IP addresses for one interface. For
> example on eth0 I want to have multiple addresses for example eth0:0
> 192.168.1.1 eht0:1 192.168.1.2 etc. The rcinet1.conf file has no examples
> of this type of config in its comments. Thanks Jeff Turley
>
>

# rc.inet1 This shell script boots up the base INET system and
# ipchains firewall gateway
# ------------------------------------------------------------------
#
# Attach the loopback device.
echo "Attaching loopback:"
ifconfig lo 127.0.0.1
route add -net 127.0.0.0 netmask 255.0.0.0 lo

#
# Setup Variables
echo "Setting system variables:"
ipaddr="127.0.0.1"
netmask="255.255.255.0"
network="127.0.0.0"
broadcast=""
gateway=""
ex_if="eth1"
int_if="eth0"
int_ip="192.168.1.21"
in_net="192.168.1.0/16"


#
# To use DHCP instead of a static IP, set this value to "yes":
DHCP="yes"

# Setup the interface:
if [ "$DHCP" = "yes" ]; then # use DHCP to set everything up:
echo "Attempting to configure eth1 by contacting a Comcast DHCP
server,
good luck..."
dhcpcd -h c-24-15-251-182 $ex_if
elif [ ! "$ipaddr" = "127.0.0.1" ]; then # set up IP statically:
# Set up the ethernet card:
echo "Configuring $ex_if as ${ipaddr}..."
ifconfig $ex_if ${ipaddr} broadcast ${broadcast} netmask ${netmask}
fi
ifconfig $int_if $int_ip broadcast 192.168.1.255 netmask
255.255.255.0

# ------------------------------------------------------------------
# The following is for multicast and named services. Do NOT invoke
# unless you are running the NAMED server.

echo "Setting up multicast server addresses:"

ifconfig $int_if:0 192.168.1.22 broadcast 192.168.1.255 netmask
255.255.255.0
ifconfig $int_if:1 192.168.1.23 broadcast 192.168.1.255 netmask
255.255.255.0
ifconfig $int_if:2 192.168.1.24 broadcast 192.168.1.255 netmask
255.255.255.0
ifconfig $int_if:3 192.168.1.25 broadcast 192.168.1.255 netmask
255.255.255.0
ifconfig $int_if:4 192.168.1.26 broadcast 192.168.1.255 netmask
255.255.255.0
ifconfig $int_if:5 192.168.1.27 broadcast 192.168.1.255 netmask
255.255.255.0
ifconfig $int_if:6 192.168.1.40 broadcast 192.168.1.255 netmask
255.255.255.0

# ------------------------------------------------------------------
# Older kernel versions need this to set up the $ex_if routing table:
kversion=`uname -r | cut -f 1,2 -d .`
if [ "$kversion" = "1.0" -o "$kversion" = "1.1" \
-o "$kversion" = "1.2" -o "$kversion" = "2.0" -o "$kversion"
= "
" ]; then
route add -net ${network} netmask ${netmask} mss 3584 window
655
36 dev $ex_if
fi

route add -net 192.168.1.0 netmask 255.255.255.0 mss 3584 window
65536 d
ev $int_if

# ------------------------------------------------------------------
# The following is for multicast and named services.
echo "Adding multicast host routes:"
route add -host 192.168.1.22 dev $int_if:0
route add -host 192.168.1.23 dev $int_if:1
route add -host 192.168.1.24 dev $int_if:2
route add -host 192.168.1.25 dev $int_if:3
route add -host 192.168.1.26 dev $int_if:4
route add -host 192.168.1.27 dev $int_if:5
route add -host 192.168.1.40 dev $int_if:6

# ------------------------------------------------------------------
# If there is a gateway defined, then set it up:
if [ ! "$gateway" = "" ]; then
echo "Adding default gateway:"
route add default gw ${gateway} netmask 0.0.0.0 metric 1
fi

# End of rc.inet1

Hope you find this useful ...


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 02-19-2008, 07:38 AM
Nikolas Hagelstein
 
Posts: n/a
Default Re: I ment multiple IP addresses assigne to one interface when I said alias

Hi,

the following rc.inet1 is able to handle ip aliases.
It's modified one from a slackware 9.1

rc.inet1.conf has to look like (e.g.):

-----------
DEV[0]="eth0"
IPADDR[0]="192.168.0.1"
NETMASK[0]="255.255.255.0"
USE_DHCP[0]=""
DHCP_HOSTNAME[0]=""

DEV[1]="eth0:0"
IPADDR[1]="192.168.0.2"
NETMASK[1]="255.255.255.0"
USE_DHCP[1]=""
DHCP_HOSTNAME[1]=""
-----------------------

Comments are welcome.
Regards,
Nikolas


# /etc/rc.d/rc.inet1
# This script is used to bring up the various network interfaces.
#
# @(#)/etc/rc.d/rc.inet1 9.1 Tue Aug 26 13:34:58 PDT 2003 (pjv)


############################
# READ NETWORK CONFIG FILE #
############################


# Get the configuration information from /etc/rc.d/rc.inet1.conf:
.. /etc/rc.d/rc.inet1.conf


######################
# LOOPBACK FUNCTIONS #
######################


# Function to bring up the loopback interface. If loopback is
# already up, do nothing.
lo_up() {
if grep lo: /proc/net/dev 1> /dev/null ; then
if ! /sbin/ifconfig | grep "^lo" 1> /dev/null ; then
/sbin/ifconfig lo 127.0.0.1
/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo
fi
fi
}


# Function to take down the loopback interface:
lo_down() {
if grep lo: /proc/net/dev 1> /dev/null ; then
/sbin/ifconfig lo down
fi
}


######################
# ETHERNET FUNCTIONS #
######################


# Function to bring up an Ethernet interface. If the interface is
# already up or does not yet exist (perhaps because the kernel driver
# is not loaded yet), do nothing.
eth_up() {
# If the interface isn't in the kernel yet (but there's an alias for
it in
# modules.conf), then it should be loaded first:
if ! grep $(echo ${DEV[$1]} | sed -e "s/\:.*//"): /proc/net/dev 1>
/dev/null ; then # no interface yet
if /sbin/modprobe -c | grep -w "alias ${DEV[$1]}" | grep -vw
"alias ${DEV[$1]} off" > /dev/null ; then
/sbin/modprobe eth${1}
fi
fi
if grep $(echo ${DEV[$1]} | sed -e "s/\:.*//"): /proc/net/dev 1>
/dev/null ; then # interface exists
if ! /sbin/ifconfig | grep "${DEV[$1]} " 1> /dev/null ; then #
interface not up
if [ "${USE_DHCP[$1]}" = "yes" ]; then # use DHCP to bring
interface up
if [ ! "${DHCP_HOSTNAME[$1]}" = "" ]; then
/sbin/dhcpcd -t 10 -h ${DHCP_HOSTNAME[$1]} -d ${DEV[$1]}
else
/sbin/dhcpcd -t 10 -d ${DEV[$1]}
fi
else # bring up interface using a static IP address
if [ ! "${IPADDR[$1]}" = "" ]; then # skip unconfigured
interfaces
# Determine broadcast address from the IP address and
netmask:
BROADCAST=`/bin/ipmask ${NETMASK[$1]} ${IPADDR[$1]} | cut -f
1 -d ' '`
# Set up the ethernet card:
echo "Configuring ${DEV[$1]}:"
echo "/sbin/ifconfig ${DEV[$1]} ${IPADDR[$1]} broadcast
${BROADCAST} netmask ${NETMASK[$1]}"
/sbin/ifconfig ${DEV[$1]} ${IPADDR[$1]} broadcast
${BROADCAST} netmask ${NETMASK[$1]}
else
if [ "$DEBUG_ETH_UP" = "yes" ]; then
echo "${DEV[$1]} interface is not configured in
/etc/rc.d/rc.inet1.conf"
fi
fi
fi
else
if [ "$DEBUG_ETH_UP" = "yes" ]; then
echo "${DEV[$1]} is already up, skipping"
fi
fi
else
if [ "$DEBUG_ETH_UP" = "yes" ]; then
echo "${DEV[$1]} interface does not exist (yet)"
fi
fi
}


# Function to take down an Ethernet interface:
eth_down() {
if grep ${DEV[$1]}: /proc/net/dev 1> /dev/null ; then
if [ "${USE_DHCP[$1]}" = "yes" ]; then
/sbin/dhcpcd -k -d ${DEV[$1]}
sleep 1
else
/sbin/ifconfig ${DEV[$1]} down
fi
fi
}


#####################
# GATEWAY FUNCTIONS #
#####################


# Function to bring up the gateway if there is not yet a default
route:
gateway_up() {
if ! /sbin/route | grep "^default" 1> /dev/null ; then
if [ ! "$GATEWAY" = "" ]; then
/sbin/route add default gw ${GATEWAY} metric 1
fi
fi
}


# Function to take down an existing default gateway:
gateway_down() {
if /sbin/route | grep "^default" 1> /dev/null ; then
/sbin/route del default
fi
}


############
### MAIN ###
############


case "$1" in
'start') # "start" brings up all available interfaces:
lo_up
eth_up 0
eth_up 1
eth_up 2
eth_up 3
gateway_up
;;
'stop') # "stop" takes down all existing interfaces:
gateway_down
eth_down 3
eth_down 2
eth_down 1
eth_down 0
lo_down
;;
*) # The default is to bring up all interfaces:
lo_up
eth_up 0
eth_up 1
eth_up 2
eth_up 3
gateway_up
esac


# End of /etc/rc.d/rc.inet1
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 08:30 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
www.UnixAdminTalk.com