#!/bin/bash
###################################################
#          CONFIGURATION IP AUTOMATIQUE
#             laurent@moreau-fr.net
#           http://www.moreau-fr.net
###################################################
conf ()
{
clear
	echo ===============================================
	echo "      Details des paramètres IP demandés :"
	echo ===============================================
	echo
	echo "Adresse IP = [$adresse]"
	echo "Masque de sous reseau = [$mask]"
	echo "Route par defaut = [$gate]"
	echo "DNS primaire = [$dns1]"
	echo "Domaine de recherche = [$search]"
	echo
	echo
echo "Je verifie que l'adresse [$adresse] n'est pas utilisée sur le reseau"
echo "Patience ..."
echo
ping -c 2 -w 10 $adresse >/dev/null 2>&1
TEST=$?
while [ "$TEST" = "0" ]
do
	echo
	echo ===============================================
	echo "                 PROBLEME !"
	echo ===============================================
	echo
	echo "l'adresse  [$adresse] est deja utilisée sur le reseau !"
	echo
        echo "Veuillez specifier une nouvelle adresse:"
	echo
        read adresse
        ping -c 2 -w 10 $adresse >/dev/null 2>&1
        TEST=$?
done
clear
echo
echo " J'applique les paramètres que vous demandez "
echo " Patience ... "
/sbin/ifconfig eth0 $adresse netmask $mask
/sbin/route del default
/sbin/route add default gateway $gate
echo nameserver $dns1 > /etc/resolv.conf
echo search $search >> /etc/resolv.conf
	clear
	echo
	echo ===============================================
	echo "        Test des nouveaux paramètres :"
	echo ===============================================
	echo
	echo "Je verifie votre acces au reseau local en "pinguant" votre passerelle [$gate]:"
	echo "Patience ..."
	echo
ping -c 4 -w 10 $gate >/dev/null 2>&1
if [ "$?" = "0" ]
then
	echo "Ok, votre passerelle [$gate] a correcetement répondu au PING"
	echo "Votre access au réseau local est opérationel"
else
	clear
	echo
	echo ===============================================
	echo "                  PROBLEME !"
	echo ===============================================
	echo
	echo "la passerelle [$gate] ne réponds pas au PING"
	echo "Verifier votre connexion au reseau local ..."
	echo
	echo "Fin du script"
	echo ===============================================
	echo
	exit 0
fi
clear
echo
echo "Je vérifie maintenant votre acces au reseau internet en "pinguant" [$ping]:"
echo "Patience ..."
echo
ping -c 4 -w 10 $ping >/dev/null 2>&1
if [ "$?" = "0" ]
then
	clear
	echo "Ok, le serveur [$ping] a correctement repondu au PING"
	echo
	echo "votre accès au réseau internet est opérationnel."
	echo "Bon surf "
	echo
	echo "Fin du script, bye !"
	echo
	exit 0
else
	clear
	echo ===============================================
	echo "                PROBLEME !"
	echo ===============================================
	echo
	echo "$ping ne réponds pas aux pings lui étant destinés."
	echo "Verifier votre acces internet ..."
	echo
	echo "Fin du script, bye !"
	echo
  	exit 0
fi
}
##########################################################
# Fin de fonction
##########################################################
clear
echo "======================================="
echo
echo "      CONFIGURATION IP AUTOMATIQUE"
echo "         laurent@moreau-fr.net"
echo "       http://www.moreau-fr.net"
echo
echo  "======================================="
echo
echo MENU:
echo
echo "1 - MAISON"
echo "2 - SLIS"
echo "3 - PINGOO"
echo "4 - EXTRANET"
echo "5 - IUFM"
echo
echo  "======================================="
echo
echo "Quelle configuration reseau voulez-vous appliquer ?"
echo 
echo "Faites votre choix [1-5]"
echo
read choix
case $choix in
##########################################################
# MAISON
##########################################################
	1)

declare adresse=192.168.0.5
declare mask=255.255.255.0
declare gate=192.168.0.1
declare ping=yahoo.fr
declare dns1=192.168.0.1
declare search=ac-grenoble.fr
conf
;;
        2)
##########################################################
# SLIS
##########################################################
declare adresse=172.16.0.254
declare mask=255.255.0.0
declare gate=172.16.0.1
declare ping=yahoo.fr
declare dns1=172.16.0.1
declare search_s=ac-grenoble.fr
conf
;;
        3)
##########################################################
# PINGOO
##########################################################
declare adresse=192.168.17.200
declare mask=255.255.0.0
declare gate=192.168.0.1
declare ping=yahoo.fr
declare dns1=192.168.0.1
declare search=ac-grenoble.fr
conf
;;
        4)
##########################################################
# IUFM
##########################################################
declare adresse=192.168.17.200
declare mask=255.255.0.0
declare gate=192.168.0.1
declare ping=yahoo.fr
declare dns1=192.168.0.1
declare search=ac-grenoble.fr
conf
;;
        5)
##########################################################
# EXTRANET
##########################################################
declare adresse=0.0.0.0
declare mask=0.0.0.0
declare gate=0.0.0.0
declare ping=yahoo.fr
declare dns1=0.0.0.0
declare search=ac-grenoble.fr
conf
;;
esac
exit 0