Line 1... |
Line 1... |
1 |
#!/bin/sh
|
1 |
#!/bin/sh
|
2 |
# $Id: alcasar.sh 499 2011-02-24 22:54:44Z richard $
|
2 |
# $Id: alcasar.sh 503 2011-03-11 22:12:32Z 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 53... |
Line 53... |
53 |
FIC_PASSWD="/root/ALCASAR-passwords.txt" # fichier texte contenant les mots de passe et secrets partagés
|
53 |
FIC_PASSWD="/root/ALCASAR-passwords.txt" # fichier texte contenant les mots de passe et secrets partagés
|
54 |
# ******* DBMS parameters - paramètres SGBD ********
|
54 |
# ******* DBMS parameters - paramètres SGBD ********
|
55 |
DB_RADIUS="radius" # nom de la base de données utilisée par le serveur FreeRadius
|
55 |
DB_RADIUS="radius" # nom de la base de données utilisée par le serveur FreeRadius
|
56 |
DB_USER="radius" # nom de l'utilisateur de la base de données
|
56 |
DB_USER="radius" # nom de l'utilisateur de la base de données
|
57 |
# ******* Network parameters - paramètres réseau *******
|
57 |
# ******* Network parameters - paramètres réseau *******
|
- |
|
58 |
HOSTNAME="alcasar" #
|
58 |
DOMAIN="localdomain" # domaine local
|
59 |
DOMAIN="localdomain" # domaine local
|
59 |
EXTIF="eth0" # ETH0 est l'interface connectée à Internet (Box FAI)
|
60 |
EXTIF="eth0" # ETH0 est l'interface connectée à Internet (Box FAI)
|
60 |
INTIF="eth1" # ETH1 est l'interface connectée au réseau local de consultation
|
61 |
INTIF="eth1" # ETH1 est l'interface connectée au réseau local de consultation
|
61 |
CUSTOM_PRIVATE_NETWORK_MASK="192.168.182.0/24" # adresse du réseau de consultation proposée par défaut
|
62 |
CUSTOM_PRIVATE_NETWORK_MASK="192.168.182.0/24" # adresse du réseau de consultation proposée par défaut
|
62 |
SQUID_PORT="3128" # Port d'écoute du proxy Squid
|
63 |
SQUID_PORT="3128" # Port d'écoute du proxy Squid
|
63 |
UAMPORT="3990"
|
- |
|
64 |
# ****** Paths - chemin des commandes *******
|
64 |
# ****** Paths - chemin des commandes *******
|
65 |
SED="/bin/sed -i"
|
65 |
SED="/bin/sed -i"
|
66 |
# ****** Alcasar needed RPMS - paquetages nécessaires au fonctionnement d'Alcasar ******
|
66 |
# ****** Alcasar needed RPMS - paquetages nécessaires au fonctionnement d'Alcasar ******
|
67 |
PACKAGES="freeradius freeradius-mysql freeradius-ldap freeradius-web apache-mpm-prefork apache-mod_ssl apache-mod_php squid dansguardian postfix MySQL logwatch ntp awstats mondo cdrecord buffer vim-enhanced bind-utils wget arpscan ulogd openssh-server php-xml pam_ccreds rng-utils lsb-release dnsmasq sudo cronie-anacron pciutils clamav pm-fallback-policy"
|
67 |
PACKAGES="freeradius freeradius-mysql freeradius-ldap freeradius-web apache-mpm-prefork apache-mod_ssl apache-mod_php squid dansguardian postfix MySQL logwatch ntp awstats mondo cdrecord buffer vim-enhanced bind-utils wget arpscan ulogd openssh-server php-xml pam_ccreds rng-utils lsb-release dnsmasq sudo cronie-anacron pciutils clamav pm-fallback-policy"
|
68 |
# ****************** End of global parameters *********************
|
68 |
# ****************** End of global parameters *********************
|
Line 328... |
Line 328... |
328 |
read CUSTOM_PRIVATE_NETWORK_MASK
|
328 |
read CUSTOM_PRIVATE_NETWORK_MASK
|
329 |
|
329 |
|
330 |
done
|
330 |
done
|
331 |
fi
|
331 |
fi
|
332 |
# Récupération de la config réseau côté "LAN de consultation"
|
332 |
# Récupération de la config réseau côté "LAN de consultation"
|
333 |
HOSTNAME=alcasar-$ORGANISME
|
- |
|
334 |
hostname $HOSTNAME
|
333 |
hostname $HOSTNAME
|
335 |
echo "- Nom du système : $HOSTNAME" >> $FIC_PARAM
|
334 |
echo "- Nom du système : $HOSTNAME" >> $FIC_PARAM
|
336 |
PRIVATE_NETWORK=`/bin/ipcalc -n $CUSTOM_PRIVATE_NETWORK_MASK | cut -d"=" -f2` # @ réseau de consultation (ex.: 192.168.182.0)
|
335 |
PRIVATE_NETWORK=`/bin/ipcalc -n $CUSTOM_PRIVATE_NETWORK_MASK | cut -d"=" -f2` # @ réseau de consultation (ex.: 192.168.182.0)
|
337 |
private_prefix=`/bin/ipcalc -p $CUSTOM_PRIVATE_NETWORK_MASK |cut -d"=" -f2` # prefixe du réseau (ex. 24)
|
336 |
private_prefix=`/bin/ipcalc -p $CUSTOM_PRIVATE_NETWORK_MASK |cut -d"=" -f2` # prefixe du réseau (ex. 24)
|
338 |
PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK/$private_prefix # @ réseau + masque (x.0.0.0/8 ou x.y.0.0/16 ou x.y.z.0/24)
|
337 |
PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK/$private_prefix # @ réseau + masque (x.0.0.0/8 ou x.y.0.0/16 ou x.y.z.0/24)
|
Line 379... |
Line 378... |
379 |
FORWARD_IPV4=true
|
378 |
FORWARD_IPV4=true
|
380 |
EOF
|
379 |
EOF
|
381 |
# Modif /etc/hosts
|
380 |
# Modif /etc/hosts
|
382 |
[ -e /etc/hosts.default ] || cp /etc/hosts /etc/hosts.default
|
381 |
[ -e /etc/hosts.default ] || cp /etc/hosts /etc/hosts.default
|
383 |
cat <<EOF > /etc/hosts
|
382 |
cat <<EOF > /etc/hosts
|
384 |
127.0.0.1 $HOSTNAME localhost.localdomain localhost
|
383 |
127.0.0.1 localhost
|
385 |
$PRIVATE_IP $HOSTNAME alcasar portail
|
384 |
$PRIVATE_IP $HOSTNAME
|
386 |
EOF
|
385 |
EOF
|
387 |
echo "- Adresse IP 'côté réseau de consultation' ($INTIF) : $PRIVATE_IP / $PRIVATE_NETWORK_MASK" >> $FIC_PARAM
|
386 |
echo "- Adresse IP 'côté réseau de consultation' ($INTIF) : $PRIVATE_IP / $PRIVATE_NETWORK_MASK" >> $FIC_PARAM
|
388 |
echo " - plage d'adresses statiques : $PRIVATE_STAT_IP" >> $FIC_PARAM
|
387 |
echo " - plage d'adresses statiques : $PRIVATE_STAT_IP" >> $FIC_PARAM
|
389 |
echo " - plage d'adresses dynamiques (via DHCP) : $PRIVATE_DYN_IP" >> $FIC_PARAM
|
388 |
echo " - plage d'adresses dynamiques (via DHCP) : $PRIVATE_DYN_IP" >> $FIC_PARAM
|
390 |
# Configuration de l'interface eth0 (Internet)
|
389 |
# Configuration de l'interface eth0 (Internet)
|
Line 726... |
Line 725... |
726 |
# copie des fichiers modifiés
|
725 |
# copie des fichiers modifiés
|
727 |
cp -rf $DIR_INSTALL/web/acc/manager/* $DIR_ACC/manager/
|
726 |
cp -rf $DIR_INSTALL/web/acc/manager/* $DIR_ACC/manager/
|
728 |
chown -R apache:apache $DIR_ACC/manager/
|
727 |
chown -R apache:apache $DIR_ACC/manager/
|
729 |
# Modification des fichiers de configuration
|
728 |
# Modification des fichiers de configuration
|
730 |
[ -e /etc/freeradius-web/admin.conf.default ] || cp /etc/freeradius-web/admin.conf /etc/freeradius-web/admin.conf.default
|
729 |
[ -e /etc/freeradius-web/admin.conf.default ] || cp /etc/freeradius-web/admin.conf /etc/freeradius-web/admin.conf.default
|
731 |
$SED "s?^general_domain:.*?general_domain: $ORGANISME.$DOMAIN?g" /etc/freeradius-web/admin.conf
|
730 |
$SED "s?^general_domain:.*?general_domain: $DOMAIN?g" /etc/freeradius-web/admin.conf
|
732 |
$SED "s?^sql_username:.*?sql_username: $DB_USER?g" /etc/freeradius-web/admin.conf
|
731 |
$SED "s?^sql_username:.*?sql_username: $DB_USER?g" /etc/freeradius-web/admin.conf
|
733 |
$SED "s?^sql_password:.*?sql_password: $radiuspwd?g" /etc/freeradius-web/admin.conf
|
732 |
$SED "s?^sql_password:.*?sql_password: $radiuspwd?g" /etc/freeradius-web/admin.conf
|
734 |
$SED "s?^sql_debug:.*?sql_debug: false?g" /etc/freeradius-web/admin.conf
|
733 |
$SED "s?^sql_debug:.*?sql_debug: false?g" /etc/freeradius-web/admin.conf
|
735 |
$SED "s?^sql_usergroup_table: .*?sql_usergroup_table: radusergroup?g" /etc/freeradius-web/admin.conf
|
734 |
$SED "s?^sql_usergroup_table: .*?sql_usergroup_table: radusergroup?g" /etc/freeradius-web/admin.conf
|
736 |
$SED "s?^sql_password_attribute:.*?sql_password_attribute: Crypt-Password?g" /etc/freeradius-web/admin.conf
|
735 |
$SED "s?^sql_password_attribute:.*?sql_password_attribute: Crypt-Password?g" /etc/freeradius-web/admin.conf
|
Line 804... |
Line 803... |
804 |
statip $PRIVATE_STAT_IP
|
803 |
statip $PRIVATE_STAT_IP
|
805 |
domain localdomain
|
804 |
domain localdomain
|
806 |
dns1 $PRIVATE_IP
|
805 |
dns1 $PRIVATE_IP
|
807 |
dns2 $PRIVATE_IP
|
806 |
dns2 $PRIVATE_IP
|
808 |
uamlisten $PRIVATE_IP
|
807 |
uamlisten $PRIVATE_IP
|
809 |
uamport $UAMPORT
|
808 |
uamport 3990
|
810 |
dhcpif $INTIF
|
809 |
dhcpif $INTIF
|
811 |
ethers /usr/local/etc/alcasar-ethers
|
810 |
ethers $DIR_DEST_ETC/alcasar-ethers
|
812 |
uamanyip
|
811 |
uamanyip
|
813 |
macallowlocal
|
812 |
macallowlocal
|
814 |
locationname $HOSTNAME
|
813 |
locationname $HOSTNAME
|
815 |
radiusserver1 127.0.0.1
|
814 |
radiusserver1 127.0.0.1
|
816 |
radiusserver2 127.0.0.1
|
815 |
radiusserver2 127.0.0.1
|
Line 820... |
Line 819... |
820 |
uamserver https://$HOSTNAME/intercept.php
|
819 |
uamserver https://$HOSTNAME/intercept.php
|
821 |
radiusnasid $HOSTNAME
|
820 |
radiusnasid $HOSTNAME
|
822 |
papalwaysok
|
821 |
papalwaysok
|
823 |
uamsecret $secretuam
|
822 |
uamsecret $secretuam
|
824 |
coaport 3799
|
823 |
coaport 3799
|
825 |
include /usr/local/etc/alcasar-uamallowed
|
824 |
include $DIR_DEST_ETC/alcasar-uamallowed
|
826 |
include /usr/local/etc/alcasar-uamdomain
|
825 |
include $DIR_DEST_ETC/alcasar-uamdomain
|
827 |
include /usr/local/etc/alcasar-macallowed
|
826 |
include $DIR_DEST_ETC/alcasar-macallowed
|
828 |
EOF
|
827 |
EOF
|
829 |
# Pour la fonctionnalité de DHCP statique, le fichier alcasar-ethers a été copié précédemment dans /usr/local/etc
|
828 |
# Pour la fonctionnalité de DHCP statique, le fichier alcasar-ethers a été copié précédemment dans /usr/local/etc
|
830 |
# création des fichiers de sites, d'urls et d'adresses MAC de confiance
|
829 |
# création des fichiers de sites, d'urls et d'adresses MAC de confiance
|
831 |
echo -e "uamallowed=\"\"" > /usr/local/etc/alcasar-uamallowed
|
830 |
echo -e "uamallowed=\"\"" > $DIR_DEST_ETC/alcasar-uamallowed
|
832 |
echo -e "uamdomain=\"\"" > /usr/local/etc/alcasar-uamdomain
|
831 |
echo -e "uamdomain=\"\"" > $DIR_DEST_ETC/alcasar-uamdomain
|
833 |
echo -e "macallowed=\"\"" > /usr/local/etc/alcasar-macallowed
|
832 |
echo -e "macallowed=\"\"" > $DIR_DEST_ETC/alcasar-macallowed
|
834 |
chown root:apache /usr/local/etc/alcasar-*
|
833 |
chown root:apache $DIR_DEST_ETC/alcasar-*
|
835 |
chmod 660 /usr/local/etc/alcasar-*
|
834 |
chmod 660 $DIR_DEST_ETC/alcasar-*
|
836 |
echo "- URL de deconnexion du portail : http://$PRIVATE_IP:$UAMPORT/logoff" >> $FIC_PARAM
|
835 |
echo "- URL de deconnexion du portail : http://alcasar:3990/logoff" >> $FIC_PARAM
|
837 |
# Définition du secret partagé entre coova-chilli et la page d'authentification (intercept.php)
|
836 |
# Configuration des fichier WEB d'interception (secret partagé avec coova-chilli et nom d'organisme)
|
838 |
$SED "s?^\$uamsecret =.*?\$uamsecret = \"$secretuam\";?g" $DIR_WEB/intercept.php $DIR_WEB/intercept.php.old
|
837 |
$SED "s?^\$uamsecret =.*?\$uamsecret = \"$secretuam\";?g" $DIR_WEB/intercept.php $DIR_WEB/intercept.php.old
|
839 |
$SED "s?^\$userpassword=1.*?\$userpassword=1;?g" $DIR_WEB/intercept.php $DIR_WEB/intercept.php.old
|
838 |
$SED "s?^\$userpassword=1.*?\$userpassword=1;?g" $DIR_WEB/intercept.php $DIR_WEB/intercept.php.old
|
840 |
$SED "s?^\$organisme = .*?\$organisme = \"$ORGANISME\";?g" $DIR_WEB/intercept.php $DIR_WEB/intercept.php.old
|
839 |
$SED "s?^\$organisme = .*?\$organisme = \"$ORGANISME\";?g" $DIR_WEB/intercept.php $DIR_WEB/intercept.php.old $DIR_WEB/status.php
|
841 |
} # End of param_chilli ()
|
840 |
} # End of param_chilli ()
|
842 |
|
841 |
|
843 |
##########################################################
|
842 |
##########################################################
|
844 |
## Fonction param_squid ##
|
843 |
## Fonction param_squid ##
|
845 |
## - Paramètrage du proxy 'squid' en mode 'cache' ##
|
844 |
## - Paramètrage du proxy 'squid' en mode 'cache' ##
|
Line 967... |
Line 966... |
967 |
$SED "s?^PRIVATE_NETWORK_MASK=.*?PRIVATE_NETWORK_MASK=\"$PRIVATE_NETWORK_MASK\"?g" $DIR_DEST_BIN/alcasar-iptables.sh $DIR_DEST_BIN/alcasar-iptables-bypass.sh
|
966 |
$SED "s?^PRIVATE_NETWORK_MASK=.*?PRIVATE_NETWORK_MASK=\"$PRIVATE_NETWORK_MASK\"?g" $DIR_DEST_BIN/alcasar-iptables.sh $DIR_DEST_BIN/alcasar-iptables-bypass.sh
|
968 |
$SED "s?^PRIVATE_IP=.*?PRIVATE_IP=\"$PRIVATE_IP\"?g" $DIR_DEST_BIN/alcasar-iptables.sh $DIR_DEST_BIN/alcasar-iptables-bypass.sh
|
967 |
$SED "s?^PRIVATE_IP=.*?PRIVATE_IP=\"$PRIVATE_IP\"?g" $DIR_DEST_BIN/alcasar-iptables.sh $DIR_DEST_BIN/alcasar-iptables-bypass.sh
|
969 |
$SED "s?^DNSSERVERS=.*?DNSSERVERS=\"$DNS1,$DNS2\"?g" $DIR_DEST_BIN/alcasar-iptables.sh
|
968 |
$SED "s?^DNSSERVERS=.*?DNSSERVERS=\"$DNS1,$DNS2\"?g" $DIR_DEST_BIN/alcasar-iptables.sh
|
970 |
chmod o+r $DIR_DEST_BIN/alcasar-iptables.sh #lecture possible pour apache (interface php du filtrage réseau)
|
969 |
chmod o+r $DIR_DEST_BIN/alcasar-iptables.sh #lecture possible pour apache (interface php du filtrage réseau)
|
971 |
# création du fichier d'exception au filtrage
|
970 |
# création du fichier d'exception au filtrage
|
972 |
touch /usr/local/etc/alcasar-filter-exceptions
|
971 |
touch $DIR_DEST_ETC/alcasar-filter-exceptions
|
973 |
# le script $DIR_DEST_BIN/alcasar-iptables.sh est lancé à la fin (pour ne pas perturber une mise à jour via ssh)
|
972 |
# le script $DIR_DEST_BIN/alcasar-iptables.sh est lancé à la fin (pour ne pas perturber une mise à jour via ssh)
|
974 |
} # End of firewall ()
|
973 |
} # End of firewall ()
|
975 |
|
974 |
|
976 |
##################################################################################
|
975 |
##################################################################################
|
977 |
## param_ulogd function ##
|
976 |
## param_ulogd function ##
|
Line 1045... |
Line 1044... |
1045 |
##########################################################
|
1044 |
##########################################################
|
1046 |
## Fonction param_dnsmasq ##
|
1045 |
## Fonction param_dnsmasq ##
|
1047 |
##########################################################
|
1046 |
##########################################################
|
1048 |
param_dnsmasq ()
|
1047 |
param_dnsmasq ()
|
1049 |
{
|
1048 |
{
|
1050 |
[ -d /etc/dnsmasq.d ] || mkdir /etc/dnsmasq.d
|
- |
|
1051 |
[ -d /var/log/dnsmasq ] || mkdir /var/log/dnsmasq
|
1049 |
[ -d /var/log/dnsmasq ] || mkdir /var/log/dnsmasq
|
1052 |
[ -e /etc/dnsmasq.conf ] && cp /etc/dnsmasq.conf /etc/dnsmasq.conf.default
|
- |
|
1053 |
$SED "s?^[^#]?#&?g" /etc/dnsmasq.conf # on commente ce qui ne l'est pas
|
- |
|
1054 |
$SED "s?^#conf-dir=.*?conf-dir=/etc/dnsmasq.d?g" /etc/dnsmasq.conf # les fichiers de config se trouvent dans /etc/dnsmasq.d/*
|
- |
|
1055 |
$SED "s?^DHCP_LEASE=.*?DHCP_LEASE=/var/log/dnsmasq/lease.log?g" /etc/sysconfig/dnsmasq # fichier contenant les baux
|
1050 |
$SED "s?^DHCP_LEASE=.*?DHCP_LEASE=/var/log/dnsmasq/lease.log?g" /etc/sysconfig/dnsmasq # fichier contenant les baux
|
- |
|
1051 |
[ -e /etc/dnsmasq.conf.default ] || cp /etc/dnsmasq.conf /etc/dnsmasq.conf.default
|
1056 |
# 1st configuration file for "dnsmasq + blackhole" (listen on udp 52)
|
1052 |
# 1st configuration file for "dnsmasq + blackhole" (listen on udp 52)
|
1057 |
cat << EOF > /etc/dnsmasq.d/alcasar-dnsmasq.conf
|
1053 |
cat << EOF > /etc/dnsmasq.conf
|
1058 |
# Configuration file for "dnsmasq + blackhole"
|
1054 |
# Configuration file for "dnsmasq + blackhole"
|
1059 |
# Inclusion de la blacklist <domains> de Toulouse dans la configuration
|
1055 |
# Inclusion de la blacklist <domains> de Toulouse dans la configuration
|
1060 |
conf-dir=/usr/local/etc/alcasar-dnsfilter-enabled
|
1056 |
conf-dir=$DIR_DEST_ETC/alcasar-dnsfilter-enabled
|
1061 |
conf-file=/usr/local/etc/alcasar-dns-name # zone de definition de noms DNS locaux
|
1057 |
conf-file=$DIR_DEST_ETC/alcasar-dns-name # zone de definition de noms DNS locaux
|
1062 |
listen-address=$PRIVATE_IP
|
1058 |
listen-address=$PRIVATE_IP
|
1063 |
listen-address=127.0.0.1
|
1059 |
listen-address=127.0.0.1
|
1064 |
no-dhcp-interface=$INTIF
|
1060 |
no-dhcp-interface=$INTIF
|
1065 |
bind-interfaces
|
1061 |
bind-interfaces
|
1066 |
cache-size=256
|
1062 |
cache-size=256
|
Line 1070... |
Line 1066... |
1070 |
bogus-priv
|
1066 |
bogus-priv
|
1071 |
filterwin2k
|
1067 |
filterwin2k
|
1072 |
server=$DNS1
|
1068 |
server=$DNS1
|
1073 |
server=$DNS2
|
1069 |
server=$DNS2
|
1074 |
# le servive DHCP est configuré mais n'est exploité que pour le "bypass"
|
1070 |
# le servive DHCP est configuré mais n'est exploité que pour le "bypass"
|
1075 |
dhcp-range=$ORGANISME,$PRIVATE_DYN_FIRST_IP,$PRIVATE_DYN_LAST_IP,$PRIVATE_MASK,12h
|
1071 |
dhcp-range=$PRIVATE_DYN_FIRST_IP,$PRIVATE_DYN_LAST_IP,$PRIVATE_MASK,12h
|
1076 |
#dhcp-option=3,1.2.3.4
|
1072 |
#dhcp-option=3,1.2.3.4
|
1077 |
#dhcp-option=option:router,1.2.3.4
|
1073 |
#dhcp-option=option:router,1.2.3.4
|
1078 |
#dhcp-option=42,0.0.0.0
|
1074 |
#dhcp-option=42,0.0.0.0
|
1079 |
#dhcp-option=option:ntp-server,192.168.0.4,10.10.0.5
|
1075 |
#dhcp-option=option:ntp-server,192.168.0.4,10.10.0.5
|
1080 |
|
1076 |
|
Line 1082... |
Line 1078... |
1082 |
#dhcp-host=11:22:33:44:55:66,ssic-test,192.168.182.20,255.255.255.0,45m
|
1078 |
#dhcp-host=11:22:33:44:55:66,ssic-test,192.168.182.20,255.255.255.0,45m
|
1083 |
EOF
|
1079 |
EOF
|
1084 |
# 2nd dnsmasq configuration file for filter exception user (listen on udp 54)
|
1080 |
# 2nd dnsmasq configuration file for filter exception user (listen on udp 54)
|
1085 |
cat << EOF > /etc/dnsmasq-forward.conf
|
1081 |
cat << EOF > /etc/dnsmasq-forward.conf
|
1086 |
# Dnsmasq configuration for exception filter users (no blackhole)
|
1082 |
# Dnsmasq configuration for exception filter users (no blackhole)
|
1087 |
conf-file=/usr/local/etc/alcasar-dns-name # zone de definition de noms DNS locaux
|
1083 |
conf-file=$DIR_DEST_ETC/alcasar-dns-name # zone de definition de noms DNS locaux
|
1088 |
listen-address=$PRIVATE_IP
|
1084 |
listen-address=$PRIVATE_IP
|
1089 |
port=54
|
1085 |
port=54
|
1090 |
no-dhcp-interface=$INTIF
|
1086 |
no-dhcp-interface=$INTIF
|
1091 |
bind-interfaces
|
1087 |
bind-interfaces
|
1092 |
cache-size=256
|
1088 |
cache-size=256
|
Line 1097... |
Line 1093... |
1097 |
filterwin2k
|
1093 |
filterwin2k
|
1098 |
server=$DNS1
|
1094 |
server=$DNS1
|
1099 |
server=$DNS2
|
1095 |
server=$DNS2
|
1100 |
EOF
|
1096 |
EOF
|
1101 |
# On crée le fichier de résolution locale
|
1097 |
# On crée le fichier de résolution locale
|
1102 |
touch /usr/local/etc/alcasar-dns-name
|
1098 |
cat << EOF > $DIR_DEST_ETC/alcasar-dns-name
|
- |
|
1099 |
# Here you can define your local domain name
|
- |
|
1100 |
# use the /etc/hosts file to define your hosts name
|
- |
|
1101 |
local=/$DOMAIN/
|
- |
|
1102 |
EOF
|
1103 |
# On modifie le fichier d'initialisattion (lancement dune deuxième instance)
|
1103 |
# On modifie le fichier d'initialisattion (lancement et arret de la deuxième instance)
|
1104 |
[ -e /etc/init.d/dnsmasq ] && cp /etc/init.d/dnsmasq /etc/init.d/dnsmasq.default
|
1104 |
[ -e /etc/init.d/dnsmasq.default ] || cp /etc/init.d/dnsmasq /etc/init.d/dnsmasq.default
|
1105 |
$SED "s?^DOMAIN_SUFFIX=.*?DOMAIN_SUFFIX=''?g" /etc/init.d/dnsmasq
|
- |
|
1106 |
$SED "/\$dnsmasq/a daemon \$dnsmasq -C /etc/dnsmasq-forward.conf" /etc/init.d/dnsmasq
|
1105 |
$SED "/daemon/a \$dnsmasq -C /etc/dnsmasq-forward.conf \$OPTIONS" /etc/init.d/dnsmasq
|
1107 |
$SED "/killproc \$DAEMON_NAME/a killall \$DAEMON_NAME" /etc/init.d/dnsmasq
|
1106 |
$SED "/killproc \$DAEMON_NAME/a killproc \$DAEMON_NAME" /etc/init.d/dnsmasq
|
1108 |
} # End dnsmasq
|
1107 |
} # End dnsmasq
|
1109 |
|
1108 |
|
1110 |
##########################################################
|
1109 |
##########################################################
|
1111 |
## Fonction BL (BlackList) ##
|
1110 |
## Fonction BL (BlackList) ##
|
1112 |
##########################################################
|
1111 |
##########################################################
|
Line 1142... |
Line 1141... |
1142 |
*ip
|
1141 |
*ip
|
1143 |
EOF
|
1142 |
EOF
|
1144 |
chown -R dansguardian:apache /etc/dansguardian/
|
1143 |
chown -R dansguardian:apache /etc/dansguardian/
|
1145 |
chmod -R g+rw /etc/dansguardian
|
1144 |
chmod -R g+rw /etc/dansguardian
|
1146 |
# On crée la structure du DNS-blackhole :
|
1145 |
# On crée la structure du DNS-blackhole :
|
1147 |
mkdir /usr/local/etc/{alcasar-dnsfilter-available,alcasar-dnsfilter-enabled}
|
1146 |
mkdir $DIR_DEST_ETC/{alcasar-dnsfilter-available,alcasar-dnsfilter-enabled}
|
1148 |
chown -R 770 /usr/local/etc/{alcasar-dnsfilter-available,alcasar-dnsfilter-enabled}
|
1147 |
chown -R 770 $DIR_DEST_ETC/{alcasar-dnsfilter-available,alcasar-dnsfilter-enabled}
|
1149 |
chown -R root:apache /usr/local/etc/{alcasar-dnsfilter-available,alcasar-dnsfilter-enabled}
|
1148 |
chown -R root:apache $DIR_DEST_ETC/{alcasar-dnsfilter-available,alcasar-dnsfilter-enabled}
|
1150 |
# On fait pointer le black-hole sur une page interne
|
1149 |
# On fait pointer le black-hole sur une page interne
|
1151 |
$SED "s?^IP_RETOUR=.*?IP_RETOUR=\"$PRIVATE_IP\"?g" $DIR_DEST_SBIN/alcasar-bl.sh
|
1150 |
$SED "s?^IP_RETOUR=.*?IP_RETOUR=\"$PRIVATE_IP\"?g" $DIR_DEST_SBIN/alcasar-bl.sh
|
1152 |
# On récupère la dernière version de la BL Toulouse
|
1151 |
# On récupère la dernière version de la BL Toulouse
|
1153 |
$DIR_DEST_SBIN/alcasar-bl.sh --download
|
1152 |
$DIR_DEST_SBIN/alcasar-bl.sh --download
|
1154 |
}
|
1153 |
}
|
Line 1197... |
Line 1196... |
1197 |
cat << EOF > /etc/cron.d/awstats
|
1196 |
cat << EOF > /etc/cron.d/awstats
|
1198 |
*/30 * * * * root $DIR_ACC/awstats/awstats.pl -config=localhost -update >/dev/null 2>&1
|
1197 |
*/30 * * * * root $DIR_ACC/awstats/awstats.pl -config=localhost -update >/dev/null 2>&1
|
1199 |
EOF
|
1198 |
EOF
|
1200 |
# suppression des fichiers de mots de passe lors d'imports massifs par fichier de plus de 24h
|
1199 |
# suppression des fichiers de mots de passe lors d'imports massifs par fichier de plus de 24h
|
1201 |
cat << EOF > /etc/cron.d/clean_import
|
1200 |
cat << EOF > /etc/cron.d/clean_import
|
1202 |
30 * * * * root /usr/local/bin/alcasar-import-clean.sh
|
1201 |
30 * * * * root $DIR_DEST_BIN/alcasar-import-clean.sh
|
1203 |
EOF
|
1202 |
EOF
|
1204 |
# mise à jour des stats de connexion (accounting). Scripts provenant de "dialupadmin" (rpm freeradius-web) (cf. wiki.freeradius.org/Dialup_admin).
|
1203 |
# mise à jour des stats de connexion (accounting). Scripts provenant de "dialupadmin" (rpm freeradius-web) (cf. wiki.freeradius.org/Dialup_admin).
|
1205 |
# on écrase le crontab d'origine installé par le RPM "freeradius-web" (bug remonté à qa.mandriva.com : 46739).
|
1204 |
# on écrase le crontab d'origine installé par le RPM "freeradius-web" (bug remonté à qa.mandriva.com : 46739).
|
1206 |
# 'tot_stats' (tout les jours à 01h01) : aggrégat des connexions journalières par usager (renseigne la table 'totacct')
|
1205 |
# 'tot_stats' (tout les jours à 01h01) : aggrégat des connexions journalières par usager (renseigne la table 'totacct')
|
1207 |
# 'monthly_tot_stat' (tous les jours à 01h05) : aggrégat des connexions mensuelles par usager (renseigne la table 'mtotacct')
|
1206 |
# 'monthly_tot_stat' (tous les jours à 01h05) : aggrégat des connexions mensuelles par usager (renseigne la table 'mtotacct')
|
Line 1391... |
Line 1390... |
1391 |
if [ -e /tmp/alcasar-conf.tar.gz ]
|
1390 |
if [ -e /tmp/alcasar-conf.tar.gz ]
|
1392 |
then
|
1391 |
then
|
1393 |
echo "#### Installation avec mise à jour ####"
|
1392 |
echo "#### Installation avec mise à jour ####"
|
1394 |
echo "#### Installation with update ####"
|
1393 |
echo "#### Installation with update ####"
|
1395 |
# On récupère le nom d'organisme à partir de fichier de conf
|
1394 |
# On récupère le nom d'organisme à partir de fichier de conf
|
1396 |
tar -xvf /tmp/alcasar-conf.tar.gz conf/hostname
|
1395 |
tar -xvf /tmp/alcasar-conf.tar.gz conf/organisme
|
1397 |
ORGANISME=`cat $DIR_CONF/hostname|cut -b 9-`
|
1396 |
ORGANISME=`cat $DIR_CONF/organisme`
|
1398 |
hostname `cat $DIR_CONF/hostname`
|
- |
|
1399 |
mode="update"
|
1397 |
mode="update"
|
1400 |
else
|
1398 |
else
|
1401 |
mode="install"
|
1399 |
mode="install"
|
1402 |
fi
|
1400 |
fi
|
1403 |
for func in init network gestion AC init_db param_radius param_web_radius param_chilli param_squid param_dansguardian antivirus firewall param_ulogd param_awstats param_dnsmasq BL cron post_install
|
1401 |
for func in init network gestion AC init_db param_radius param_web_radius param_chilli param_squid param_dansguardian antivirus firewall param_ulogd param_awstats param_dnsmasq BL cron post_install
|