| Line 1... |
Line 1... |
| 1 |
#!/bin/bash
|
1 |
#!/bin/bash
|
| 2 |
# $Id: alcasar.sh 781 2011-12-12 21:22:09Z richard $
|
2 |
# $Id: alcasar.sh 784 2011-12-18 14:33:56Z richard $
|
| 3 |
|
3 |
|
| 4 |
# alcasar.sh
|
4 |
# alcasar.sh
|
| 5 |
# by Franck BOUIJOUX, Pascal LEVANT and Richard REY
|
5 |
# by Franck BOUIJOUX, Pascal LEVANT and Richard REY
|
| 6 |
# This script is distributed under the Gnu General Public License (GPL)
|
6 |
# This script is distributed under the Gnu General Public License (GPL)
|
| 7 |
|
7 |
|
| Line 79... |
Line 79... |
| 79 |
## - Test de la connectivité Internet ##
|
79 |
## - Test de la connectivité Internet ##
|
| 80 |
##################################################################
|
80 |
##################################################################
|
| 81 |
testing ()
|
81 |
testing ()
|
| 82 |
{
|
82 |
{
|
| 83 |
if [ $Lang == "fr" ]
|
83 |
if [ $Lang == "fr" ]
|
| 84 |
then echo -n "Tests des paramètres réseau :"
|
84 |
then echo -n "Tests des paramètres réseau : "
|
| 85 |
else echo -n "Network parameters tests : "
|
85 |
else echo -n "Network parameters tests : "
|
| 86 |
fi
|
86 |
fi
|
| - |
|
87 |
# We test eth0 config files
|
| - |
|
88 |
PUBLIC_IP=`grep IPADDR /etc/sysconfig/network-scripts/ifcfg-$EXTIF|cut -d"=" -f2`
|
| - |
|
89 |
PUBLIC_GATEWAY=`grep GATEWAY /etc/sysconfig/network-scripts/ifcfg-$EXTIF|cut -d"=" -f2`
|
| - |
|
90 |
if [ `echo $PUBLIC_IP|wc -c` -lt 7 ] || [ `echo $PUBLIC_GATEWAY|wc -c` -lt 7 ]
|
| - |
|
91 |
then
|
| - |
|
92 |
if [ $Lang == "fr" ]
|
| - |
|
93 |
then
|
| - |
|
94 |
echo "Échec"
|
| - |
|
95 |
echo "La carte réseau connectée à Internet ($EXTIF) n'est pas correctement configurée."
|
| - |
|
96 |
echo "Renseignez les champs suivants dans le fichier '/etc/sysconfig/network-scripts/ifcfg-$EXTIF' :"
|
| - |
|
97 |
else
|
| - |
|
98 |
echo "Failed"
|
| - |
|
99 |
echo "The Internet connected network card ($EXTIF) isn't well configured."
|
| - |
|
100 |
echo "The folowing parametres must be set in the file '/etc/sysconfig/network-scripts/ifcfg-$EXTIF' :"
|
| - |
|
101 |
fi
|
| - |
|
102 |
echo "IPADDR="
|
| - |
|
103 |
echo "NETMASK="
|
| - |
|
104 |
echo "GATEWAY="
|
| - |
|
105 |
echo "DNS1="
|
| - |
|
106 |
echo "DNS2="
|
| - |
|
107 |
exit 0
|
| - |
|
108 |
fi
|
| - |
|
109 |
echo -n "."
|
| 87 |
# We test the Ethernet links state
|
110 |
# We test the Ethernet links state
|
| 88 |
for i in $EXTIF $INTIF
|
111 |
for i in $EXTIF $INTIF
|
| 89 |
do
|
112 |
do
|
| 90 |
/sbin/ip link set $i up
|
113 |
/sbin/ip link set $i up
|
| 91 |
sleep 3
|
114 |
sleep 3
|
| Line 104... |
Line 127... |
| 104 |
exit 0
|
127 |
exit 0
|
| 105 |
fi
|
128 |
fi
|
| 106 |
echo -n "."
|
129 |
echo -n "."
|
| 107 |
done
|
130 |
done
|
| 108 |
# On teste la présence d'un routeur par défaut (Box FAI)
|
131 |
# On teste la présence d'un routeur par défaut (Box FAI)
|
| 109 |
if [ `/sbin/route -n|grep -c ^0.0.0.0` -ne "1" ] ; then
|
132 |
if [ `ip route list|grep -c ^default` -ne "1" ] ; then
|
| 110 |
if [ $Lang == "fr" ]
|
133 |
if [ $Lang == "fr" ]
|
| 111 |
then
|
134 |
then
|
| 112 |
echo "Échec"
|
135 |
echo "Échec"
|
| 113 |
echo "Vous n'avez pas configuré l'accès à Internet ou le câble réseau n'est pas sur la bonne carte."
|
136 |
echo "Vous n'avez pas configuré l'accès à Internet ou le câble réseau n'est pas sur la bonne carte."
|
| 114 |
echo "Réglez ce problème puis relancez ce script."
|
137 |
echo "Réglez ce problème puis relancez ce script."
|
| Line 119... |
Line 142... |
| 119 |
fi
|
142 |
fi
|
| 120 |
exit 0
|
143 |
exit 0
|
| 121 |
fi
|
144 |
fi
|
| 122 |
echo -n "."
|
145 |
echo -n "."
|
| 123 |
# On traite le cas où l'interface configurée lors de l'installation est "eth1" au lieu de "eth0" (mystère sur certaines version de BIOS et de VirtualBox)
|
146 |
# On traite le cas où l'interface configurée lors de l'installation est "eth1" au lieu de "eth0" (mystère sur certaines version de BIOS et de VirtualBox)
|
| 124 |
if [ `/sbin/route -n|grep ^0.0.0.0|grep -c eth1` -eq "1" ] ; then
|
147 |
if [ `ip route list|grep ^default|grep -c eth1` -eq "1" ] ; then
|
| 125 |
if [ $Lang == "fr" ]
|
148 |
if [ $Lang == "fr" ]
|
| 126 |
then echo "La configuration des cartes réseau va être corrigée."
|
149 |
then echo "La configuration des cartes réseau va être corrigée."
|
| 127 |
else echo "The Ethernet card configuration will be corrected."
|
150 |
else echo "The Ethernet card configuration will be corrected."
|
| 128 |
fi
|
151 |
fi
|
| 129 |
/etc/init.d/network stop
|
152 |
/etc/init.d/network stop
|
| Line 301... |
Line 324... |
| 301 |
fi
|
324 |
fi
|
| 302 |
else
|
325 |
else
|
| 303 |
PRIVATE_IP_MASK=`grep PRIVATE_IP conf/etc/alcasar.conf|cut -d"=" -f2`
|
326 |
PRIVATE_IP_MASK=`grep PRIVATE_IP conf/etc/alcasar.conf|cut -d"=" -f2`
|
| 304 |
rm -rf conf/etc/alcasar.conf
|
327 |
rm -rf conf/etc/alcasar.conf
|
| 305 |
fi
|
328 |
fi
|
| 306 |
# Définition de la config réseau côté "LAN de consultation"
|
329 |
# Define Lan side Ethernet card
|
| 307 |
hostname $HOSTNAME
|
330 |
hostname $HOSTNAME
|
| 308 |
PRIVATE_NETWORK=`/bin/ipcalc -n $PRIVATE_IP_MASK | cut -d"=" -f2` # @ réseau de consultation (ex.: 192.168.182.0)
|
331 |
PRIVATE_NETWORK=`/bin/ipcalc -n $PRIVATE_IP_MASK | cut -d"=" -f2` # @ réseau de consultation (ex.: 192.168.182.0)
|
| 309 |
PRIVATE_NETMASK=`/bin/ipcalc -m $PRIVATE_IP_MASK | cut -d"=" -f2` # masque réseau de consultation (ex.: 255.255.255.0)
|
332 |
PRIVATE_NETMASK=`/bin/ipcalc -m $PRIVATE_IP_MASK | cut -d"=" -f2` # masque réseau de consultation (ex.: 255.255.255.0)
|
| 310 |
PRIVATE_IP=`echo $PRIVATE_IP_MASK | cut -d"/" -f1` # @ip du portail (côté réseau de consultation)
|
333 |
PRIVATE_IP=`echo $PRIVATE_IP_MASK | cut -d"/" -f1` # @ip du portail (côté réseau de consultation)
|
| 311 |
private_prefix=`/bin/ipcalc -p $PRIVATE_IP_MASK |cut -d"=" -f2` # prefixe du réseau (ex. 24)
|
334 |
private_prefix=`/bin/ipcalc -p $PRIVATE_IP_MASK |cut -d"=" -f2` # prefixe du réseau (ex. 24)
|
| Line 323... |
Line 346... |
| 323 |
private_dyn_ip_network=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`"."$private_dyn"."`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup_sup-5`
|
346 |
private_dyn_ip_network=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`"."$private_dyn"."`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup_sup-5`
|
| 324 |
PRIVATE_DYN_IP=`echo $private_dyn_ip_network | cut -d"." -f1-4`/$half_mask # @ réseau (CIDR) de la plage des adresses dynamiques (ex.: 192.168.182.128/25)
|
347 |
PRIVATE_DYN_IP=`echo $private_dyn_ip_network | cut -d"." -f1-4`/$half_mask # @ réseau (CIDR) de la plage des adresses dynamiques (ex.: 192.168.182.128/25)
|
| 325 |
private_dyn_ip_ending=`echo $private_dyn_ip_network | cut -d"." -f4`
|
348 |
private_dyn_ip_ending=`echo $private_dyn_ip_network | cut -d"." -f4`
|
| 326 |
PRIVATE_DYN_FIRST_IP=`echo $private_dyn_ip_network | cut -d"." -f1-3`"."`expr $private_dyn_ip_ending + 1` # 1ère adresse de la plage dynamique (ex.: 192.168.182.129)
|
349 |
PRIVATE_DYN_FIRST_IP=`echo $private_dyn_ip_network | cut -d"." -f1-3`"."`expr $private_dyn_ip_ending + 1` # 1ère adresse de la plage dynamique (ex.: 192.168.182.129)
|
| 327 |
PRIVATE_DYN_LAST_IP=`echo $PRIVATE_BROADCAST | cut -d"." -f1-3`"."`expr $private_broadcast_ending - 1` # dernière adresse de la plage dynamique (ex.: 192.168.182.254)
|
350 |
PRIVATE_DYN_LAST_IP=`echo $PRIVATE_BROADCAST | cut -d"." -f1-3`"."`expr $private_broadcast_ending - 1` # dernière adresse de la plage dynamique (ex.: 192.168.182.254)
|
| 328 |
# Récupération de la config réseau côté "Internet"
|
351 |
# Define Internet side Ethernet card
|
| 329 |
[ -e /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF ] || cp /etc/sysconfig/network-scripts/ifcfg-$EXTIF /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF
|
352 |
[ -e /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF ] || cp /etc/sysconfig/network-scripts/ifcfg-$EXTIF /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF
|
| 330 |
PUBLIC_IP=`grep IPADDR /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` # @ip du portail (côté Internet)
|
- |
|
| 331 |
DNS1=`grep DNS1 /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` # @ip 1er DNS
|
353 |
DNS1=`grep DNS1 /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` # @ip 1er DNS
|
| 332 |
DNS2=`grep DNS2 /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` # @ip 2ème DNS
|
354 |
DNS2=`grep DNS2 /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` # @ip 2ème DNS
|
| 333 |
DNS1=${DNS1:=208.67.220.220}
|
355 |
DNS1=${DNS1:=208.67.220.220}
|
| 334 |
DNS2=${DNS2:=208.67.222.222}
|
356 |
DNS2=${DNS2:=208.67.222.222}
|
| 335 |
PUBLIC_NETMASK=`grep NETMASK /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2`
|
357 |
PUBLIC_NETMASK=`grep NETMASK /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2`
|
| 336 |
PUBLIC_PREFIX=`/bin/ipcalc -p $PUBLIC_IP $PUBLIC_NETMASK |cut -d"=" -f2` # prefixe du réseau (ex. 24)
|
358 |
DEFAULT_PUBLIC_NETMASK=`ipcalc -m 192.168.182.2 | cut -d"=" -f2`
|
| - |
|
359 |
PUBLIC_NETMASK=${PUBLIC_NETMASK:=$DEFAULT_PUBLIC_NETMASK}
|
| 337 |
PUBLIC_GATEWAY=`grep GATEWAY /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2`
|
360 |
PUBLIC_PREFIX=`/bin/ipcalc -p 192.168.182.2 $PUBLIC_NETMASK|cut -d"=" -f2`
|
| 338 |
echo "PUBLIC_IP=$PUBLIC_IP/$PUBLIC_PREFIX" >> $CONF_FILE
|
361 |
echo "PUBLIC_IP=$PUBLIC_IP/$PUBLIC_PREFIX" >> $CONF_FILE
|
| 339 |
echo "PUBLIC_MTU=1500" >> $CONF_FILE
|
362 |
echo "PUBLIC_MTU=1500" >> $CONF_FILE
|
| 340 |
echo "GW=$PUBLIC_GATEWAY" >> $CONF_FILE
|
363 |
echo "GW=$PUBLIC_GATEWAY" >> $CONF_FILE
|
| 341 |
echo "DNS1=$DNS1" >> $CONF_FILE
|
364 |
echo "DNS1=$DNS1" >> $CONF_FILE
|
| 342 |
echo "DNS2=$DNS2" >> $CONF_FILE
|
365 |
echo "DNS2=$DNS2" >> $CONF_FILE
|
| 343 |
echo "PRIVATE_IP=$PRIVATE_IP_MASK" >> $CONF_FILE
|
366 |
echo "PRIVATE_IP=$PRIVATE_IP_MASK" >> $CONF_FILE
|
| 344 |
echo "DHCP=on" >> $CONF_FILE
|
367 |
echo "DHCP=on" >> $CONF_FILE
|
| 345 |
[ -e /etc/sysconfig/network.default ] || cp /etc/sysconfig/network /etc/sysconfig/network.default
|
368 |
[ -e /etc/sysconfig/network.default ] || cp /etc/sysconfig/network /etc/sysconfig/network.default
|
| 346 |
# Configuration réseau
|
369 |
# Renseignement des fichiers de configuration réseau
|
| 347 |
cat <<EOF > /etc/sysconfig/network
|
370 |
cat <<EOF > /etc/sysconfig/network
|
| 348 |
NETWORKING=yes
|
371 |
NETWORKING=yes
|
| 349 |
HOSTNAME="$HOSTNAME"
|
372 |
HOSTNAME="$HOSTNAME"
|
| 350 |
FORWARD_IPV4=true
|
373 |
FORWARD_IPV4=true
|
| 351 |
EOF
|
374 |
EOF
|