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
|