/alcasar.sh |
---|
331,14 → 331,14 |
PRIVATE_IP_MASK=`grep PRIVATE_IP conf/etc/alcasar.conf|cut -d"=" -f2` |
rm -rf conf/etc/alcasar.conf |
fi |
# Define Lan side parameters |
# Define LAN side global parameters |
hostname $HOSTNAME |
PRIVATE_NETWORK=`/bin/ipcalc -n $PRIVATE_IP_MASK | cut -d"=" -f2` # private network address (ie.: 192.168.182.0) |
PRIVATE_NETMASK=`/bin/ipcalc -m $PRIVATE_IP_MASK | cut -d"=" -f2` # private network mask (ie.: 255.255.255.0) |
PRIVATE_IP=`echo $PRIVATE_IP_MASK | cut -d"/" -f1` # ALCASAR private ip address (consultation LAN side) |
private_prefix=`/bin/ipcalc -p $PRIVATE_IP_MASK |cut -d"=" -f2` # network prefix (ie. 24) |
PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK/$private_prefix # ie.: 192.168.182.0/24 |
classe=$((private_prefix/8)); classe_sup=`expr $classe + 1`; classe_sup_sup=`expr $classe + 2` # ie.: 2=classe B, 3=classe C |
PRIVATE_PREFIX=`/bin/ipcalc -p $PRIVATE_IP_MASK |cut -d"=" -f2` # network prefix (ie. 24) |
PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK/$PRIVATE_PREFIX # ie.: 192.168.182.0/24 |
classe=$((PRIVATE_PREFIX/8)); classe_sup=`expr $classe + 1`; classe_sup_sup=`expr $classe + 2` # ie.: 2=classe B, 3=classe C |
PRIVATE_NETWORK_SHORT=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`. # compatibility with hosts.allow et hosts.deny (ie.: 192.168.182.) |
PRIVATE_BROADCAST=`/bin/ipcalc -b $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # private network broadcast (ie.: 192.168.182.255) |
private_network_ending=`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup` # last octet of LAN address |
345,6 → 345,21 |
private_broadcast_ending=`echo $PRIVATE_BROADCAST | cut -d"." -f$classe_sup` # last octet of LAN broadcast |
PRIVATE_FIRST_IP=`echo $PRIVATE_NETWORK | cut -d"." -f1-3`"."`expr $private_network_ending + 1` # First network address (ex.: 192.168.182.1) |
PRIVATE_LAST_IP=`echo $PRIVATE_BROADCAST | cut -d"." -f1-3`"."`expr $private_broadcast_ending - 1` # last network address (ex.: 192.168.182.254) |
# Predefine DHCP parameters (LAN side) |
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_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_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) |
# Define Internet parameters |
[ -e /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF ] || cp /etc/sysconfig/network-scripts/ifcfg-$EXTIF /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF |
DNS1=`grep DNS1 /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` # @ip 1er DNS |
355,6 → 370,7 |
DEFAULT_PUBLIC_NETMASK=`ipcalc -m 192.168.182.2 | cut -d"=" -f2` |
PUBLIC_NETMASK=${PUBLIC_NETMASK:=$DEFAULT_PUBLIC_NETMASK} |
PUBLIC_PREFIX=`/bin/ipcalc -p 192.168.182.2 $PUBLIC_NETMASK|cut -d"=" -f2` |
echo "PUBLIC_IP=$PUBLIC_IP/$PUBLIC_PREFIX" >> $CONF_FILE |
echo "PUBLIC_MTU=1500" >> $CONF_FILE |
echo "GW=$PUBLIC_GATEWAY" >> $CONF_FILE |
924,7 → 940,9 |
net $PRIVATE_NETWORK_MASK |
dhcpif $INTIF |
ethers $DIR_DEST_ETC/alcasar-ethers |
#statip |
#nodynip |
statip $PRIVATE_STAT_IP |
dynip $PRIVATE_DYN_IP |
domain localdomain |
dns1 $PRIVATE_IP |
dns2 $PRIVATE_IP |
1212,7 → 1230,7 |
server=$DNS1 |
server=$DNS2 |
# le servive DHCP est configuré mais n'est exploité que pour le "bypass" |
dhcp-range=$PRIVATE_FIRST_IP,$PRIVATE_LAST_IP,$PRIVATE_NETMASK,12h |
dhcp-range=$PRIVATE_DYN_FIRST_IP,$PRIVATE_DYN_LAST_IP,$PRIVATE_NETMASK,12h |
dhcp-option=option:router,$PRIVATE_IP |
#dhcp-option=option:ntp-server,192.168.0.4,10.10.0.5 |
/CHANGELOG |
---|
16,6 → 16,7 |
- Exceptions of authentication are now managed by Radius (like other users) |
- @network and @Host can be blocked by the firewall (conf file : etc/alcasar-ip-blocked). Alacasar Control Center is updated. |
- the filtering of LAN betwenne ALCASAR and the Internet GW is no more need. |
- DHCP service is more flexible : it can be {off | half | full} |
---------------------- 2.5 -------------------- |
Bugs |
- watchdog of Daemons for service's test |
/scripts/alcasar-conf.sh |
---|
43,8 → 43,18 |
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 dynamique (ex.: 192.168.182.129) |
PRIVATE_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) |
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" |
146,6 → 156,7 |
echo "DNS2=$DNS2" >> $CONF_FILE |
echo "PRIVATE_IP=$PRIVATE_IP/$PRIVATE_PREFIX" >> $CONF_FILE |
echo "DHCP=on" >> $CONF_FILE |
if [ -r /var/run/sshd.pid ]; then |
echo "SSH=on" >> $CONF_FILE |
else |
329,7 → 340,7 |
echo "server=$DNS1" >> $i |
echo "server=$DNS2" >> $i |
done |
$SED "s?^dhcp-range=.*?dhcp-range=$PRIVATE_FIRST_IP,$PRIVATE_LAST_IP,$PRIVATE_NETMASK,12h?g" /etc/dnsmasq.conf |
$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 |
/scripts/sbin/alcasar-dhcp.sh |
---|
11,16 → 11,39 |
SED="/bin/sed -i" |
CHILLI_CONF_FILE="/etc/chilli.conf" |
ALCASAR_CONF_FILE="/usr/local/etc/alcasar.conf" |
DNSMASQ_CONF_FILE="/etc/dnsmasq.conf" |
ETHERS_FILE="/usr/local/etc/alcasar-ethers" |
# define DHCP parameters (LAN side) |
PRIVATE_IP_MASK=`grep PRIVATE_IP $ALCASAR_CONF_FILE|cut -d"=" -f2` |
PRIVATE_IP=`echo $PRIVATE_IP_MASK | cut -d"/" -f1` |
PRIVATE_PREFIX=`/bin/ipcalc -p $PRIVATE_IP_MASK |cut -d"=" -f2` # network prefix (ie. 24) |
PRIVATE_NETMASK=`/bin/ipcalc -m $PRIVATE_IP_MASK | cut -d"=" -f2` |
PRIVATE_NETWORK=`/bin/ipcalc -n $PRIVATE_IP $PRIVATE_NETMASK| cut -d"=" -f2` |
PRIVATE_PREFIX=`/bin/ipcalc -p $PRIVATE_IP $PRIVATE_NETMASK |cut -d"=" -f2` |
PRIVATE_NETWORK=`/bin/ipcalc -n $PRIVATE_IP $PRIVATE_NETMASK| cut -d"=" -f2` |
PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK/$PRIVATE_PREFIX # ie.: 192.168.182.0/24 |
classe=$((PRIVATE_PREFIX/8)); classe_sup=`expr $classe + 1`; classe_sup_sup=`expr $classe + 2` # ie.: 2=classe B, 3=classe C |
PRIVATE_BROADCAST=`/bin/ipcalc -b $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # private network broadcast (ie.: 192.168.182.255) |
private_network_ending=`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup` # last octet of LAN address |
private_broadcast_ending=`echo $PRIVATE_BROADCAST | cut -d"." -f$classe_sup` # last octet of LAN broadcast |
PRIVATE_FIRST_IP=`echo $PRIVATE_NETWORK | cut -d"." -f1-3`"."`expr $private_network_ending + 1` # First network address (ex.: 192.168.182.1) |
PRIVATE_LAST_IP=`echo $PRIVATE_BROADCAST | cut -d"." -f1-3`"."`expr $private_broadcast_ending - 1` # last network address (ex.: 192.168.182.254) |
PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK/$PRIVATE_PREFIX |
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_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_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-dhcp.sh {--on | -on} | {--off | -off}" |
usage="Usage: alcasar-dhcp.sh {--full | -full} | {--off | -off} | {--half | -half}" |
nb_args=$# |
args=$1 |
if [ $nb_args -eq 0 ] |
29,24 → 52,40 |
exit 1 |
fi |
case $args in |
-\? | -h* | --h*) |
-\? | -h | --h) |
echo "$usage" |
exit 0 |
;; |
--off|-off) # disable DHCP service |
$SED "s?^#statip.*?statip\t\t$PRIVATE_NETWORK_MASK?g" $CHILLI_CONF_FILE |
$SED "s?.*statip.*?statip\t\t$PRIVATE_NETWORK_MASK?g" $CHILLI_CONF_FILE |
$SED "s?^#nodynip.*?nodynip?g" $CHILLI_CONF_FILE |
$SED "s?^ethers.*?#ethers\t\t$ETHERS_FILE?g" $CHILLI_CONF_FILE |
$SED "s?^dynip.*?#dynip?g" $CHILLI_CONF_FILE |
$SED "s?^#dynip.*?#dynip?g" $CHILLI_CONF_FILE |
# $SED "s?^ethers.*?#ethers\t\t$ETHERS_FILE?g" $CHILLI_CONF_FILE |
$SED "s?^DHCP.*?DHCP=off?g" $ALCASAR_CONF_FILE |
/etc/init.d/chilli restart |
;; |
--on|-on) # enable DHCP service |
$SED "s?^statip.*?#statip\t\t$PRIVATE_NETWORK_MASK?g" $CHILLI_CONF_FILE |
--full|-full) # enable DHCP service on all range of IP addresses |
$SED "s?^.*statip.*?#statip?g" $CHILLI_CONF_FILE |
$SED "s?^nodynip.*?#nodynip?g" $CHILLI_CONF_FILE |
$SED "s?^#ethers.*?ethers\t\t$ETHERS_FILE?g" $CHILLI_CONF_FILE |
$SED "s?^DHCP.*?DHCP=on?g" $ALCASAR_CONF_FILE |
# $SED "s?^#ethers.*?ethers\t\t$ETHERS_FILE?g" $CHILLI_CONF_FILE |
$SED "s?^DHCP.*?DHCP=full?g" $ALCASAR_CONF_FILE |
$SED "s?^dynip.*?dynip\t\t$PRIVATE_NETWORK_MASK?g" $CHILLI_CONF_FILE |
$SED "s?^#dynip.*?dynip\t\t$PRIVATE_NETWORK_MASK?g" $CHILLI_CONF_FILE |
$SED "s?^dhcp_range.*?dhcp-range=$PRIVATE_FIRST_IP,$PRIVATE_LAST_IP,$PRIVATE_NETMASK,12h?g" $DNSMASQ_CONF_FILE |
/etc/init.d/chilli restart |
;; |
--half|-half) # enable DHCP service on half (upper) range of IP addresses |
$SED "s?.*statip.*?statip\t\t$PRIVATE_STAT_IP?g" $CHILLI_CONF_FILE |
$SED "s?^nodynip.*?#nodynip?g" $CHILLI_CONF_FILE |
# $SED "s?^#ethers.*?ethers\t\t$ETHERS_FILE?g" $CHILLI_CONF_FILE |
$SED "s?^DHCP.*?DHCP=half?g" $ALCASAR_CONF_FILE |
$SED "s?^dynip.*?dynip\t\t$PRIVATE_DYN_IP?g" $CHILLI_CONF_FILE |
$SED "s?^#dynip.*?dynip\t\t$PRIVATE_DYN_IP?g" $CHILLI_CONF_FILE |
$SED "s?^dhcp_range.*?dhcp-range=$PRIVATE_DYN_FIRST_IP,$PRIVATE_DYN_LAST_IP,$PRIVATE_NETMASK,12h?g" $DNSMASQ_CONF_FILE |
/etc/init.d/chilli restart |
;; |
*) |
echo "Argument inconnu :$1"; |
echo "$usage" |
/web/acc/admin/network.php |
---|
1,35 → 1,19 |
<?php |
/* written by steweb57 & Rexy */ |
/*************************************** |
* CONSTANTES AVEC CHEMINS DES FICHIERS * |
****************************************/ |
/******************** |
* TEST CONF FILES * |
*********************/ |
define ("ALCASAR_CHILLI", "/etc/chilli.conf"); |
define ("CONF_FILE", "/usr/local/etc/alcasar.conf"); |
define ("ETHERS_FILE", "/usr/local/etc/alcasar-ethers"); |
/******************** |
* TEST DES FICHIERS * |
*********************/ |
//Test de présence et des droits en lecture des fichiers de configuration. |
if (!file_exists(ALCASAR_CHILLI)){ |
exit("Fichier de configuration ".ALCASAR_CHILLI." non présent"); |
$conf_files=array(ALCASAR_CHILLI,CONF_FILE,ETHERS_FILE); |
foreach ($conf_files as $file){ |
if (!file_exists($file)){ |
exit("Requested file ".$file." isn't present");} |
if (!is_readable($file)){ |
exit("Can't read the file ".$file);} |
} |
if (!is_readable(ALCASAR_CHILLI)){ |
exit("Vous n'avez pas les droits de lecture sur le fichier ".ALCASAR_CHILLI); |
} |
if (!file_exists(CONF_FILE)){ |
exit("Fichier de configuration ".CONF_FILE." non présent"); |
} |
if (!is_readable(CONF_FILE)){ |
exit("Vous n'avez pas les droits de lecture sur le fichier ".CONF_FILE); |
} |
if (!file_exists(ETHERS_FILE)){ |
exit("Fichier de configuration ".ETHERS_FILE." non présent"); |
} |
if (!is_readable(ETHERS_FILE)){ |
exit("Vous n'avez pas les droits de lecture sur le fichier ".ETHERS_FILE); |
} |
# Choice of language |
$Language = 'en'; |
47,17 → 31,19 |
$l_ip_public = "Adresse IP publique"; |
$l_ip_dns1 = "DNS1"; |
$l_ip_dns2 = "DNS2"; |
$l_dhcp_title = "Serveur DHCP"; |
$l_dhcp_on = "Le service DHCP est actuellement activé"; |
$l_dhcp_off = "Le service DHCP est actuellement arrêté"; |
$l_switch_on = "Démarrer le service DHCP"; |
$l_switch_off = "Arrêter le service DHCP"; |
$l_dhcp_title = "Service DHCP"; |
$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_static_dhcp_title = "Réservation d'adresses IP statiques"; |
$l_mac_address = "Adresse MAC"; |
$l_ip_address = "Adresse IP"; |
$l_mac_del = "Supprimer de la liste"; |
$l_add_to_list = "Ajouter"; |
$l_submit = "Appliquer"; |
$l_apply = "Appliquer les changements"; |
} else { |
$l_network_title = "Network configuration"; |
70,27 → 56,32 |
$l_ip_public = "Public IP address"; |
$l_ip_dns1 = "DNS1 :"; |
$l_ip_dns2 = "DNS2"; |
$l_dhcp_title = "DHCP server"; |
$l_dhcp_on = "The DHCP service is enabled"; |
$l_dhcp_off = "The DHCP service is disabled"; |
$l_switch_on = "Start the DHCP service"; |
$l_switch_off = "Stop the DHCP service"; |
$l_dhcp_title = "DHCP service"; |
$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_static_dhcp_title = "Static IP addresses reservation"; |
$l_mac_address = "MAC Address"; |
$l_ip_address = "IP Address"; |
$l_mac_del = "Delete from list"; |
$l_add_to_list = "Add"; |
$l_submit = "Apply"; |
$l_apply = "Apply changes"; |
} |
if (isset($_POST['choix'])){$choix=$_POST['choix'];} else {$choix="";} |
switch ($choix) |
{ |
case 'DHCP_On' : |
exec ("sudo /usr/local/sbin/alcasar-dhcp.sh -on"); |
case 'DHCP_Full' : |
exec ("sudo /usr/local/sbin/alcasar-dhcp.sh -full"); |
break; |
case 'DHCP_Off' : |
exec ("sudo /usr/local/sbin/alcasar-dhcp.sh -off"); |
break; |
case 'DHCP_Half' : |
exec ("sudo /usr/local/sbin/alcasar-dhcp.sh -half"); |
break; |
case 'new_mac' : |
if ((trim($_POST['add_mac']) != "") and (trim($_POST['add_ip']) != "")) |
{ |
182,9 → 173,9 |
} |
fclose($ouvre); |
/**************************************************************** |
* Lecture du fichier CONF_FILE * |
*****************************************************************/ |
/*********************************** |
* Read ALCASAR_CONF_FILE * |
************************************/ |
$ouvre=fopen(CONF_FILE,"r"); |
if ($ouvre){ |
while (!feof ($ouvre)) |
258,25 → 249,22 |
<table width="100%" border=1 cellspacing=0 cellpadding=0> |
<tr><td valign="middle" align="left"> |
<? |
if (strncmp ($conf["DHCP"],"on",2) == 0) |
{ |
echo "<CENTER><H3>$l_dhcp_on</H3></CENTER>"; |
echo "<FORM action='$_SERVER[PHP_SELF]' method=POST>"; |
echo "<input type=hidden name='choix' value=\"DHCP_Off\">"; |
echo "<input type=submit value=\"$l_switch_off\">"; |
} |
else |
{ |
echo "<CENTER><H3>$l_dhcp_off</H3></CENTER>"; |
echo "<FORM action='$_SERVER[PHP_SELF]' method=POST>"; |
echo "<input type=hidden name='choix' value=\"DHCP_On\">"; |
echo "<input type=submit value=\"$l_switch_on\">"; |
} |
$dhcp_state=trim($conf["DHCP"]); |
echo "<CENTER><H3>${"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"; |
echo "<option value=\"DHCP_Half\" ";if (!strcmp($dhcp_state,"half")) echo "selected";echo ">$l_DHCP_half"; |
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 "$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>"; |
echo "</td></tr>"; |
echo "</TABLE>"; |
if (strncmp($conf["DHCP"],"on",2) == 0) require ('network2.php'); |
if (strncmp($conf["DHCP"],"full",2) == 0) { require ('network2.php');} |
else { echo "</TABLE>"; } |
?> |
</BODY> |
</body> |
</html> |
/web/acc/admin/net_filter.php |
---|
39,7 → 39,7 |
$l_proto="Nom du protocole"; |
$l_enabled="Autorisé"; |
$l_add_to_list="Ajouter à la liste"; |
$l_save_modif="Enregistrer les modifications"; |
$l_save="Enregistrer les modifications"; |
} |
else { |
$l_title_antivir = "WEB antivirus"; |
68,7 → 68,7 |
$l_proto="protocol name"; |
$l_enabled="Authorized"; |
$l_add_to_list="Add to the list"; |
$l_save_modif="Save modifications"; |
$l_save="Save changes"; |
} |
/******************** |
* TEST CONF FILES * |
83,6 → 83,23 |
if (!is_readable($file)){ |
exit("Can't read the file ".$file);} |
} |
/********************************** |
* Read ALCASAR CONF_FILE * |
***********************************/ |
$ouvre=fopen(CONF_FILE,"r"); |
if ($ouvre){ |
while (!feof ($ouvre)) |
{ |
$tampon = fgets($ouvre, 4096); |
if (strpos($tampon,"=")!==false){ |
$tmp = explode("=",$tampon); |
$conf[$tmp[0]] = $tmp[1]; |
} |
} |
}else{ |
exit("Erreur d'ouverture du fichier ".CONF_FILE); |
} |
fclose($ouvre); |
if (isset($_POST['choix'])){$choix=$_POST['choix'];} else {$choix="";} |
switch ($choix) |
304,7 → 321,11 |
echo ">";} |
else { |
echo "checked>";} |
echo "<td><input type='checkbox' name='del-$ip_addr'>"; |
echo "<td>"; |
if (strcmp (trim($ip_addr),trim($conf["PUBLIC_IP"]))) { |
echo "<input type='checkbox' name='del-$ip_addr'>";} |
else { |
echo " ";} |
echo "</tr>"; |
} |
} |
312,7 → 333,7 |
?> |
</table> |
<input type='hidden' name='choix' value='change_ip'> |
<input type='submit' value='<?echo"$l_save_modif";?>'> |
<input type='submit' value='<?echo"$l_save";?>'> |
</form></td><td valign='middle' align='center'> |
<form action='<?echo"$_SERVER[PHP_SELF]"?>' method='POST'> |
<table cellspacing=2 cellpadding=3 border=1> |
/web/acc/admin/network2.php |
---|
1,4 → 1,3 |
<table width="100%" border=1 cellspacing=0 cellpadding=1> |
<tr><td colspan=2 align="center"> |
<? |
echo "$l_static_dhcp_title</td></tr>"; |
27,7 → 26,7 |
if ($line_exist) |
{ |
echo "<input type='hidden' name='choix' value='del_mac'>"; |
echo "<input type='submit' value='$l_submit'>"; |
echo "<input type='submit' value='$l_apply'>"; |
} |
echo "</form></td><td valign='middle' align='center'>"; |
echo "<FORM action='network.php' method='POST'>"; |
44,5 → 43,3 |
</form> |
</td></tr> |
</table> |
</BODY> |
</HTML> |
/web/acc/admin/net_filter2.php |
---|
20,7 → 20,11 |
echo ">";} |
else { |
echo "checked>";} |
if ($name_svc != "icmp") {echo "<td><input type='checkbox' name='del-$name_svc'>";} |
echo "<td>"; |
if ($name_svc != "icmp") { |
echo "<input type='checkbox' name='del-$name_svc'>";} |
else { |
echo " ";} |
echo "</tr>"; |
} |
} |
28,7 → 32,7 |
?> |
</table> |
<input type='hidden' name='choix' value='change_port'> |
<input type='submit' value='<?echo"$l_save_modif";?>'> |
<input type='submit' value='<?echo"$l_save";?>'> |
</form></td><td valign='middle' align='center'> |
<form action='net_filter.php' method='POST'> |
<table cellspacing=2 cellpadding=3 border=1> |