#!/bin/sh
#
# Sample site overrides for network configuration
CDROOT_CONFIG_NETWORK=NO
CDROOT_HOST=""
CDROOT_IP=""
CDROOT_NETMASK=""
CDROOT_DEFROUTE=""
CDROOT_NAMESRV=""
CDROOTNETIF=""
HOSTDB=/usr/hosts.db
lookup_host() {
if [ -f "$HOSTDB" ]; then
HOSTINFO=`grep $1 $HOSTDB | awk '$1 != "#" { printf "%s %s\n", $1, $2 }'`
HOSTIP=`echo $HOSTINFO | cut -f1 -d' '`
HOSTNAME=`echo $HOSTINFO | cut -f2 -d' '`
echo "$HOSTIP $HOSTNAME"
return 0
else
return 1
fi
}
get_network_info() {
CDROOT_NETIF=""
NET_INTERFACES=`ifconfig -l`
if [ -n "$NET_INTERFACES" ]; then
CDROOT_NETIF=`echo "$NET_INTERFACES" | cut -f1 -d' '`
fi
CDROOT_CONFIG_NETWORK=NO
if [ -n "$CDROOT_NETIF" ]; then
echo "I see you have a network interface ($CDROOT_NETIF)"
yesno YES "Do you wish to configure it?"
if [ "$answ" = "YES" ]; then
DO_LOOKUP=YES
CDROOT_CONFIG_NETWORK=YES
CDROOT_HOST=""
CDROOT_IP=""
CDROOT_NETMASK=""
CDROOT_DEFROUTE=""
fini=0
while [ $fini -eq 0 ]; do
echo
respond CDROOT_HOST "Enter hostname >"
if [ "$DO_LOOKUP" = "YES" ]; then
HOSTINFO=`lookup_host $CDROOT_HOST`
rc=$?
DO_LOOKUP=NO
if [ "$rc" -ne 0 ]; then
echo "Can't find $CDROOT_HOST in host information."
echo "You'll need to specify the following information:"
DO_NETINFO=YES
else
DO_NETINFO=NO
echo "HOSTINFO=$HOSTINFO"
CDROOT_IP=`echo $HOSTINFO | cut -f1 -d' '`
CDROOT_HOST=`echo $HOSTINFO | cut -f2 -d' '`
A=`echo $CDROOT_IP | cut -f1 -d'.'`
B=`echo $CDROOT_IP | cut -f2 -d'.'`
C=`echo $CDROOT_IP | cut -f3 -d'.'`
D=`echo $CDROOT_IP | cut -f4 -d'.'`
CDROOT_NAMESRV=10.16.149.6
if [ "$A.$B" = "10.14" ]; then
if [ "$C" = "0" ]; then
CDROOT_DEFROUTE="$A.$B.0.1"
else
CDROOT_DEFROUTE="$A.$B.$C.1"
fi
CDROOT_NETMASK="255.255.255.0"
CDROOT_NAMESRV=10.14.0.12
elif [ "$A" = "10" ]; then
CDROOT_DEFROUTE="$A.$B.0.1"
CDROOT_NETMASK="255.255.0.0"
elif [ "$A.$B" = "192.168" ]; then
CDROOT_DEFROUTE="$A.$B.$C.1"
CDROOT_NETMASK="255.255.255.0"
elif [ "$A.$B" = "172.16" ]; then
CDROOT_DEFROUTE="$A.$B.$C.1"
CDROOT_NETMASK="255.255.255.0"
else
echo "Found your host, but cannot determine the netmask or route"
echo "Hostname = $CDROOT_HOST"
echo "IP Address = $CDROOT_IP"
respond CDROOT_NETMASK "Enter network mask >"
respond CDROOT_DEFROUTE "Enter default route >"
fi
fi
else
DO_NETINFO=YES
fi
if [ "$DO_NETINFO" = "YES" ]; then
if [ -z "$CDROOT_NAMESRV" ]; then
CDROOT_NAMESRV="10.16.149.6"
fi
respond CDROOT_IP "Enter ip address >"
respond CDROOT_NETMASK "Enter network mask >"
respond CDROOT_DEFROUTE "Enter default route >"
respond CDROOT_NAMESRV "Enter nameserver >"
respond CDROOT_NETIF "Enter network interface >"
fi
cat <<EOF
Hostname = $CDROOT_HOST
IP Address = $CDROOT_IP
Network Mask = $CDROOT_NETMASK
Default Route = $CDROOT_DEFROUTE
Nameserver = $CDROOT_NAMESRV
Network Interface = $CDROOT_NETIF
EOF
yesno YES "Is this correct?"
if [ "$answ" = YES ]; then
fini=1
else
yesno YES "Do you want to re-lookup host information?"
if [ "$answ" = YES ]; then
DO_LOOKUP=YES
else
DO_LOOKUP=NO
fi
fi
done
else
CDROOT_CONFIG_NETWORK=NO
echo "Not configuring a network."
fi
fi
echo
}
syntax highlighted by Code2HTML, v. 0.9.1