Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 861 → Rev 862

/alcasar.sh
377,7 → 377,7
echo "DNS1=$DNS1" >> $CONF_FILE
echo "DNS2=$DNS2" >> $CONF_FILE
echo "PRIVATE_IP=$PRIVATE_IP_MASK" >> $CONF_FILE
echo "DHCP=on" >> $CONF_FILE
echo "DHCP=half" >> $CONF_FILE
[ -e /etc/sysconfig/network.default ] || cp /etc/sysconfig/network /etc/sysconfig/network.default
# config network
cat <<EOF > /etc/sysconfig/network
/scripts/alcasar-conf.sh
40,21 → 40,6
PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK/$PRIVATE_PREFIX # @ + masque du réseau de consult (192.168.182.0/24)
classe=$((PRIVATE_PREFIX/8)); classe_sup=`expr $classe + 1`; classe_sup_sup=`expr $classe + 2` # classes de réseau (ex.: 2=classe B, 3=classe C)
PRIVATE_NETWORK_SHORT=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`. # @ compatible hosts.allow et hosts.deny (ex.: 192.168.182.)
PRIVATE_BROADCAST=`/bin/ipcalc -b $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # @ broadcast réseau de consultation (ex.: 192.168.182.255)
private_network_ending=`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup` # dernier octet de l'@ de réseau
private_broadcast_ending=`echo $PRIVATE_BROADCAST | cut -d"." -f$classe_sup` # dernier octet de l'@ de broadcast
PRIVATE_FIRST_IP=`echo $PRIVATE_NETWORK | cut -d"." -f1-3`"."`expr $private_network_ending + 1` # 1ère adresse de la plage de consultation (ex.: 192.168.182.1)
PRIVATE_LAST_IP=`echo $PRIVATE_BROADCAST | cut -d"." -f1-3`"."`expr $private_broadcast_ending - 1` # dernière adresse de la plage de consultation (ex.: 192.168.182.254)
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)
PRIVATE_STAT_IP=$PRIVATE_NETWORK/$half_mask # plage des adresses statiques (ex.: 192.168.182.0/25)
private_plage=`expr $private_broadcast_ending - $private_network_ending + 1`
private_half_plage=`expr $private_plage / 2`
private_dyn=`expr $private_half_plage + $private_network_ending`
private_dyn_ip_network=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`"."$private_dyn"."`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup_sup-5`
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)
private_dyn_ip_ending=`echo $private_dyn_ip_network | cut -d"." -f4`
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)
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)
}
 
usage="Usage: alcasar-conf.sh --create | --load | --apply"
155,7 → 140,7
echo "DNS1=$DNS1" >> $CONF_FILE
echo "DNS2=$DNS2" >> $CONF_FILE
echo "PRIVATE_IP=$PRIVATE_IP/$PRIVATE_PREFIX" >> $CONF_FILE
echo "DHCP=on" >> $CONF_FILE
echo "DHCP=half" >> $CONF_FILE
 
if [ -r /var/run/sshd.pid ]; then
echo "SSH=on" >> $CONF_FILE
183,8 → 168,13
else
echo "DNS_FILTERING=on" >> $CONF_FILE
fi
cp $CONF_FILE $DIR_UPDATE/etc/
fi
# DHCP mode can be "off/half/full" since V2.6
DHCP_mode=`cat $CONF_FILE|grep DHCP=|cut -d"=" -f2`
if [ $DHCP_mode = "on" ]; then
$SED "s?^DHCP=on.*?DHCP=half?" $CONF_FILE # DHCP option can be "off/half/full" since V2.6
fi
cp $CONF_FILE $DIR_UPDATE/etc/
# le paramêtre 'EXT_LAN_FILTERING' n'existe plus depuis la V2.6
$SED "/^EXT_LAN/d" $DIR_UPDATE/etc/alcasar.conf
# le répertoire "ISO" est remplacé par "system_backup" suite à la suppression de "mondoarchive" (V2.5)
286,6 → 276,7
VERSION=`grep VERSION $CONF_FILE|cut -d"=" -f2`
INSTALL_DATE=`grep INSTALL_DATE $CONF_FILE|cut -d"=" -f2`
ORGANISME=`grep ORGANISM $CONF_FILE|cut -d"=" -f2`
DHCP_mode=`grep DHCP= $CONF_FILE|cut -d"=" -f2`
# Logout everybody
$DIR_SBIN/alcasar-logout.sh all
# Services stop
324,12 → 315,12
# coova
$SED "s?ifconfig.*?ifconfig \$HS_LANIF $PRIVATE_IP?g" /etc/init.d/chilli
$SED "s?^net.*?net\t\t$PRIVATE_NETWORK_MASK?g" /etc/chilli.conf
$SED "s?^dynip.*?dynip\t\t$PRIVATE_NETWORK_MASK?g" /etc/chilli.conf
$SED "s?^statip.*?#statip?g" /etc/chilli.conf
$SED "s?^dns1.*?dns1\t\t$PRIVATE_IP?g" /etc/chilli.conf
$SED "s?^dns2.*?dns2\t\t$PRIVATE_IP?g" /etc/chilli.conf
$SED "s?^uamlisten.*?uamlisten\t$PRIVATE_IP?g" /etc/chilli.conf
$SED "s?^\$organisme = .*?\$organisme = \"$ORGANISME\";?g" /var/www/html/intercept.php /var/www/html/status.php
# dhcp (coova + dnsmasq)
$DIR_SBIN/alcasar-dhcp.sh -$DHCP_mode
# awstat
$SED "s?^HostAliases=.*?HostAliases=\"$PRIVATE_IP\"?g" /etc/awstats/awstats.conf
# dnsmasq
340,7 → 331,6
echo "server=$DNS1" >> $i
echo "server=$DNS2" >> $i
done
$SED "s?^dhcp-range=.*?dhcp-range=$PRIVATE_DYN_FIRST_IP,$PRIVATE_DYN_LAST_IP,$PRIVATE_NETMASK,12h?g" /etc/dnsmasq.conf
$SED "s?^dhcp-option=option:router.*?dhcp-option=option:router,$PRIVATE_IP?g" /etc/dnsmasq.conf
# DG + BL
$SED "s?^filterip.*?filterip = $PRIVATE_IP?g" /etc/dansguardian/dansguardian.conf
/web/acc/admin/network.php
32,12 → 32,14
$l_ip_dns1 = "DNS1";
$l_ip_dns2 = "DNS2";
$l_dhcp_title = "Service DHCP";
$l_dhcp_state = "Mode actuel";
$l_dhcp_mode = "Les différents modes sont les suivants :";
$l_DHCP_full = "DHCP complet";
$l_DHCP_half = "Demi DHCP ";
$l_DHCP_off = "Sans DHCP";
$l_DHCP_full_explain = "DHCP complet";
$l_DHCP_half_explain = "Demi DHCP ";
$l_DHCP_off_explain = "Sans DHCP";
$l_DHCP_full_explain = "Tous les équipements sont en adressage dynamique. Des adresses statiques peuvent être réservées.";
$l_DHCP_half_explain = "La première moitié des équipements est en adressage statique, l'autre moitié en dynamique.";
$l_DHCP_off_explain = "Tous les équipements sont en adressage statique. Le serveur DHCP est arrété.";
$l_static_dhcp_title = "Réservation d'adresses IP statiques";
$l_mac_address = "Adresse MAC";
$l_ip_address = "Adresse IP";
57,12 → 59,14
$l_ip_dns1 = "DNS1 :";
$l_ip_dns2 = "DNS2";
$l_dhcp_title = "DHCP service";
$l_dhcp_state = "Current mode";
$l_dhcp_mode = "The different modes are the following :";
$l_DHCP_full = "Full DHCP";
$l_DHCP_half = "Half DHCP ";
$l_DHCP_off = "No DHCP";
$l_DHCP_full_explain = "Full DHCP";
$l_DHCP_half_explain = "Half DHCP ";
$l_DHCP_off_explain = "No DHCP";
$l_DHCP_full_explain = "All equipments are in DHCP mode. Some static addresses can be reserved.";
$l_DHCP_half_explain = "The first half of equipments is in static mode, the other are in DHCP mode.";
$l_DHCP_off_explain = "All equipments are in static mode. The DHCP server is off.";
$l_static_dhcp_title = "Static IP addresses reservation";
$l_mac_address = "MAC Address";
$l_ip_address = "IP Address";
250,7 → 254,7
<tr><td valign="middle" align="left">
<?
$dhcp_state=trim($conf["DHCP"]);
echo "<CENTER><H3>${"l_DHCP_".$dhcp_state}</H3></CENTER>";
echo "<CENTER><H3>$l_dhcp_state : ${"l_DHCP_".$dhcp_state}</H3></CENTER>";
echo "<FORM action='$_SERVER[PHP_SELF]' method=POST>";
echo "<select name='choix'>";
echo "<option value=\"DHCP_Off\" ";if (!strcmp($dhcp_state,"off")) echo "selected";echo ">$l_DHCP_off";
258,7 → 262,7
echo "<option value=\"DHCP_Full\" ";if (!strcmp($dhcp_state,"full")) echo "selected";echo ">$l_DHCP_full";
echo "</select>";
echo "<input type=submit value='$l_apply'>";
echo "<td align='center'>";
echo "<td valign='middle' align='left'><center><H3>$l_dhcp_mode</h3></center>";
echo "$l_DHCP_off : $l_DHCP_off_explain<br>$l_DHCP_half : $l_DHCP_half_explain<br>$l_DHCP_full : $l_DHCP_full_explain";
echo "</td>";
echo "</FORM>";