Subversion Repositories ALCASAR

Rev

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

Rev 860 Rev 861
Line 1... Line 1...
1
#!/bin/bash
1
#!/bin/bash
2
#  $Id: alcasar.sh 860 2012-04-20 17:51:24Z richard $ 
2
#  $Id: alcasar.sh 861 2012-04-21 20:18:48Z 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 329... Line 329...
329
		fi
329
		fi
330
	else
330
	else
331
		PRIVATE_IP_MASK=`grep PRIVATE_IP conf/etc/alcasar.conf|cut -d"=" -f2` 
331
		PRIVATE_IP_MASK=`grep PRIVATE_IP conf/etc/alcasar.conf|cut -d"=" -f2` 
332
		rm -rf conf/etc/alcasar.conf
332
		rm -rf conf/etc/alcasar.conf
333
	fi
333
	fi
334
# Define Lan side parameters
334
# Define LAN side global parameters
335
	hostname $HOSTNAME
335
	hostname $HOSTNAME
336
	PRIVATE_NETWORK=`/bin/ipcalc -n $PRIVATE_IP_MASK | cut -d"=" -f2`			# private network address (ie.: 192.168.182.0)
336
	PRIVATE_NETWORK=`/bin/ipcalc -n $PRIVATE_IP_MASK | cut -d"=" -f2`			# private network address (ie.: 192.168.182.0)
337
	PRIVATE_NETMASK=`/bin/ipcalc -m $PRIVATE_IP_MASK | cut -d"=" -f2`			# private network mask (ie.: 255.255.255.0)
337
	PRIVATE_NETMASK=`/bin/ipcalc -m $PRIVATE_IP_MASK | cut -d"=" -f2`			# private network mask (ie.: 255.255.255.0)
338
	PRIVATE_IP=`echo $PRIVATE_IP_MASK | cut -d"/" -f1`					# ALCASAR private ip address (consultation LAN side)
338
	PRIVATE_IP=`echo $PRIVATE_IP_MASK | cut -d"/" -f1`					# ALCASAR private ip address (consultation LAN side)
339
	private_prefix=`/bin/ipcalc -p $PRIVATE_IP_MASK |cut -d"=" -f2`				# network prefix (ie. 24)
339
	PRIVATE_PREFIX=`/bin/ipcalc -p $PRIVATE_IP_MASK |cut -d"=" -f2`				# network prefix (ie. 24)
340
	PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK/$private_prefix					# ie.: 192.168.182.0/24
340
	PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK/$PRIVATE_PREFIX					# ie.: 192.168.182.0/24
341
	classe=$((private_prefix/8)); classe_sup=`expr $classe + 1`; classe_sup_sup=`expr $classe + 2`		# ie.: 2=classe B, 3=classe C
341
	classe=$((PRIVATE_PREFIX/8)); classe_sup=`expr $classe + 1`; classe_sup_sup=`expr $classe + 2`		# ie.: 2=classe B, 3=classe C
342
	PRIVATE_NETWORK_SHORT=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`.			# compatibility with hosts.allow et hosts.deny (ie.: 192.168.182.)
342
	PRIVATE_NETWORK_SHORT=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`.			# compatibility with hosts.allow et hosts.deny (ie.: 192.168.182.)
343
	PRIVATE_BROADCAST=`/bin/ipcalc -b $PRIVATE_NETWORK_MASK | cut -d"=" -f2`		# private network broadcast (ie.: 192.168.182.255)
343
	PRIVATE_BROADCAST=`/bin/ipcalc -b $PRIVATE_NETWORK_MASK | cut -d"=" -f2`		# private network broadcast (ie.: 192.168.182.255)
344
	private_network_ending=`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup`		# last octet of LAN address
344
	private_network_ending=`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup`		# last octet of LAN address
345
	private_broadcast_ending=`echo $PRIVATE_BROADCAST | cut -d"." -f$classe_sup`		# last octet of LAN broadcast
345
	private_broadcast_ending=`echo $PRIVATE_BROADCAST | cut -d"." -f$classe_sup`		# last octet of LAN broadcast
346
	PRIVATE_FIRST_IP=`echo $PRIVATE_NETWORK | cut -d"." -f1-3`"."`expr $private_network_ending + 1`		# First network address (ex.: 192.168.182.1)
346
	PRIVATE_FIRST_IP=`echo $PRIVATE_NETWORK | cut -d"." -f1-3`"."`expr $private_network_ending + 1`		# First network address (ex.: 192.168.182.1)
347
	PRIVATE_LAST_IP=`echo $PRIVATE_BROADCAST | cut -d"." -f1-3`"."`expr $private_broadcast_ending - 1`	# last network address (ex.: 192.168.182.254)
347
	PRIVATE_LAST_IP=`echo $PRIVATE_BROADCAST | cut -d"." -f1-3`"."`expr $private_broadcast_ending - 1`	# last network address (ex.: 192.168.182.254)
-
 
348
 
-
 
349
# Predefine DHCP parameters (LAN side)
-
 
350
	tmp_mask=`echo $PRIVATE_NETWORK_MASK|cut -d"/" -f2`; half_mask=`expr $tmp_mask + 1`	# masque du 1/2 réseau de consultation (ex.: 25)
-
 
351
	PRIVATE_STAT_IP=$PRIVATE_NETWORK/$half_mask						# plage des adresses statiques (ex.: 192.168.182.0/25)
-
 
352
	private_network_ending=`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup`		# dernier octet de l'@ de réseau
-
 
353
	private_broadcast_ending=`echo $PRIVATE_BROADCAST | cut -d"." -f$classe_sup`		# dernier octet de l'@ de broadcast
-
 
354
	private_plage=`expr $private_broadcast_ending - $private_network_ending + 1`
-
 
355
	private_half_plage=`expr $private_plage / 2`
-
 
356
	private_dyn=`expr $private_half_plage + $private_network_ending`
-
 
357
	private_dyn_ip_network=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`"."$private_dyn"."`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup_sup-5`
-
 
358
	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)
-
 
359
	private_dyn_ip_ending=`echo $private_dyn_ip_network | cut -d"." -f4`
-
 
360
	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)
-
 
361
	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)
-
 
362
 
348
# Define Internet parameters
363
# Define Internet parameters
349
	[ -e /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF ] || cp /etc/sysconfig/network-scripts/ifcfg-$EXTIF /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF
364
	[ -e /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF ] || cp /etc/sysconfig/network-scripts/ifcfg-$EXTIF /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF
350
	DNS1=`grep DNS1 /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` 	# @ip 1er DNS
365
	DNS1=`grep DNS1 /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` 	# @ip 1er DNS
351
	DNS2=`grep DNS2 /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` 	# @ip 2ème DNS
366
	DNS2=`grep DNS2 /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` 	# @ip 2ème DNS
352
	DNS1=${DNS1:=208.67.220.220}
367
	DNS1=${DNS1:=208.67.220.220}
353
	DNS2=${DNS2:=208.67.222.222}
368
	DNS2=${DNS2:=208.67.222.222}
354
	PUBLIC_NETMASK=`grep NETMASK /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2`
369
	PUBLIC_NETMASK=`grep NETMASK /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2`
355
	DEFAULT_PUBLIC_NETMASK=`ipcalc -m 192.168.182.2 | cut -d"=" -f2`
370
	DEFAULT_PUBLIC_NETMASK=`ipcalc -m 192.168.182.2 | cut -d"=" -f2`
356
	PUBLIC_NETMASK=${PUBLIC_NETMASK:=$DEFAULT_PUBLIC_NETMASK}
371
	PUBLIC_NETMASK=${PUBLIC_NETMASK:=$DEFAULT_PUBLIC_NETMASK}
357
	PUBLIC_PREFIX=`/bin/ipcalc -p 192.168.182.2 $PUBLIC_NETMASK|cut -d"=" -f2`
372
	PUBLIC_PREFIX=`/bin/ipcalc -p 192.168.182.2 $PUBLIC_NETMASK|cut -d"=" -f2`
-
 
373
 
358
	echo "PUBLIC_IP=$PUBLIC_IP/$PUBLIC_PREFIX" >> $CONF_FILE
374
	echo "PUBLIC_IP=$PUBLIC_IP/$PUBLIC_PREFIX" >> $CONF_FILE
359
	echo "PUBLIC_MTU=1500" >> $CONF_FILE
375
	echo "PUBLIC_MTU=1500" >> $CONF_FILE
360
	echo "GW=$PUBLIC_GATEWAY" >> $CONF_FILE 
376
	echo "GW=$PUBLIC_GATEWAY" >> $CONF_FILE 
361
	echo "DNS1=$DNS1" >> $CONF_FILE
377
	echo "DNS1=$DNS1" >> $CONF_FILE
362
	echo "DNS2=$DNS2" >> $CONF_FILE
378
	echo "DNS2=$DNS2" >> $CONF_FILE
Line 922... Line 938...
922
unixipc		chilli.eth1.ipc
938
unixipc		chilli.eth1.ipc
923
pidfile		/var/run/chilli.eth1.pid
939
pidfile		/var/run/chilli.eth1.pid
924
net		$PRIVATE_NETWORK_MASK
940
net		$PRIVATE_NETWORK_MASK
925
dhcpif		$INTIF
941
dhcpif		$INTIF
926
ethers		$DIR_DEST_ETC/alcasar-ethers
942
ethers		$DIR_DEST_ETC/alcasar-ethers
927
#statip
943
#nodynip
-
 
944
statip		$PRIVATE_STAT_IP
-
 
945
dynip		$PRIVATE_DYN_IP
928
domain		localdomain
946
domain		localdomain
929
dns1		$PRIVATE_IP
947
dns1		$PRIVATE_IP
930
dns2		$PRIVATE_IP
948
dns2		$PRIVATE_IP
931
uamlisten	$PRIVATE_IP
949
uamlisten	$PRIVATE_IP
932
uamport		3990
950
uamport		3990
Line 1210... Line 1228...
1210
bogus-priv
1228
bogus-priv
1211
filterwin2k
1229
filterwin2k
1212
server=$DNS1
1230
server=$DNS1
1213
server=$DNS2
1231
server=$DNS2
1214
# le servive DHCP est configuré mais n'est exploité que pour le "bypass"
1232
# le servive DHCP est configuré mais n'est exploité que pour le "bypass"
1215
dhcp-range=$PRIVATE_FIRST_IP,$PRIVATE_LAST_IP,$PRIVATE_NETMASK,12h
1233
dhcp-range=$PRIVATE_DYN_FIRST_IP,$PRIVATE_DYN_LAST_IP,$PRIVATE_NETMASK,12h
1216
dhcp-option=option:router,$PRIVATE_IP
1234
dhcp-option=option:router,$PRIVATE_IP
1217
#dhcp-option=option:ntp-server,192.168.0.4,10.10.0.5
1235
#dhcp-option=option:ntp-server,192.168.0.4,10.10.0.5
1218
 
1236
 
1219
# Exemple de configuration statique : <@MAC>,<name>,<@IP>,<MASK>,<ttl bail>
1237
# Exemple de configuration statique : <@MAC>,<name>,<@IP>,<MASK>,<ttl bail>
1220
#dhcp-host=11:22:33:44:55:66,ssic-test,192.168.182.20,255.255.255.0,45m
1238
#dhcp-host=11:22:33:44:55:66,ssic-test,192.168.182.20,255.255.255.0,45m