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
|