Subversion Repositories ALCASAR

Rev

Rev 781 | Rev 785 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 781 Rev 784
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