/alcasar.sh |
---|
36,7 → 36,7 |
VERSION=`cat VERSION` |
MDV_NEEDED="2010.0" |
MDV_NEEDED="2010.1" |
DATE=`date '+%d %B %Y - %Hh%M'` |
DATE_SHORT=`date '+%d/%m/%Y'` |
# ******* Files parameters - paramètres fichiers ********* |
64,7 → 64,7 |
# ****** Paths - chemin des commandes ******* |
SED="/bin/sed -i" |
# ****** Alcasar needed RPMS - paquetages nécessaires au fonctionnement d'Alcasar ****** |
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 dhcp-server openssh-server php-xml coova-chilli pam_ccreds rng-utils lsb-release bind clamav sudo" |
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 dhcp-server openssh-server php-xml coova-chilli pam_ccreds rng-utils lsb-release dnsmasq clamav sudo" |
# ****************** End of global parameters ********************* |
header_install () |
629,6 → 629,7 |
{ |
mkdir -p /var/lib/mysql/.tmp |
chown mysql:mysql /var/lib/mysql/.tmp |
[ -e /etc/my.cnf.rpmnew ] && cp /etc/my.cnf.rpmnew /etc/my.cnf # prend en compte les migrations de MySQL |
[ -e /etc/my.cnf.default ] || cp /etc/my.cnf /etc/my.cnf.default |
$SED "s?^#bind-address.*?bind-address=127.0.0.1?g" /etc/my.cnf |
/etc/init.d/mysqld start |
1035,8 → 1036,26 |
########################################################## |
## Fonction bind ## |
## - Mise en place des différents fichiers de bind ## |
## - Mise en place des différents fichiers de bind ## En cours de remplacement par DNSMASQ |
########################################################## |
param_dnsmasq () |
{ |
[ -d /etc/dnsmasq.d ] || mkdir /etc/dnsmasq.d |
[ -d /var/log/dnsmasq ] || mkdir /var/log/dnsmasq |
[ -e /etc/dnsmasq.conf ] || cp /etc/dnsmasq.conf /etc/dnsmasq.conf.default |
$SED "s?^[^#]?#&?g" /etc/dnsmasq.conf # (on commente ce qui ne l'est pas) |
cp -f $DIR_CONF/alcasar-dnsmasq.conf /etc/dnsmasq.d/. |
cp -f $DIR_CONF/alcasar-dnsmasq-filter $DIR_DEST_ETC && ln -s $DIR_DEST_ETC/alcasar-dnsmasq-filter /etc/dnsmasq.d/ |
$SED "s?^#conf-dir=.*?conf-dir=/etc/dnsmasq.d?g" /etc/dnsmasq.conf # les fichiers de config se trouvent dans /etc/dnsmasq.d/* |
$SED "s?^#except-interface=.*?except-interface=$EXTIF?g" /etc/dnsmasq.d/alcasar-dnsmasq.conf |
$SED "s?^domain=.*?domain=$DOMAIN?g" /etc/dnsmasq.d/alcasar-dnsmasq.conf |
$SED "s?^#dhcp-range=.*?dhcp-range=$ORGANISME,$PRIVATE_DYN_FIRST_IP,$PRIVATE_DYN_LAST_IP,$PRIVATE_NETMASK,12h?g" /etc/dnsmasq.d/alcasar-dnsmasq.conf |
$SED "s?^#listen-address=.*?listen-address=$PRIVATE_IP?g" /etc/dnsmasq.d/alcasar-dnsmasq.conf |
chown root:apache /usr/local/etc/alcasar-dnsmasq-filter # modifiable par apache et interface de gestion |
chmod -R g+rw /usr/local/etc/alcasar-dnsmasq-filter |
} |
param_bind () |
{ |
ln -sf /var/lib/named/etc/trusted_networks_acl.conf /etc/ |
1117,7 → 1136,7 |
cat << EOF > /etc/cron.d/awstats |
*/30 * * * * root /var/www/awstats/awstats.pl -config=localhost -update >/dev/null 2>&1 |
EOF |
# suppresssion des fichiers de mots de passe lors d'imports massifs par fichier de plus de 24h |
# suppression des fichiers de mots de passe lors d'imports massifs par fichier de plus de 24h |
cat << EOF > /etc/cron.d/clean_import |
30 * * * * root /usr/local/bin/alcasar-import-clean.sh |
EOF |
1185,7 → 1204,9 |
$SED "s?^# Default-Start.*?# Default-Start: 3 4 5?g" /etc/init.d/mysqld |
$SED "s?^# Default-Stop.*?# Default-Stop: 0 1 2?g" /etc/init.d/mysqld # pour éviter les alertes de dépendance de services (netfs) |
$SED "s?^# chkconfig:.*?# chkconfig: 23 60 40?g" /etc/init.d/dhcpd # pour démarrer dhcp avec eth1 up avant chilli |
for i in netfs ntpd iptables ulogd dhcpd squid named chilli httpd radiusd mysqld dansguardian havp freshclam |
$SED "s?^# chkconfig:.*?# chkconfig: 23 61 40?g" /etc/init.d/dnsmasq # pour démarrer dnsmasq avec eth1 up avant chilli - utile ?? |
# for i in netfs ntpd iptables ulogd dhcpd squid named chilli httpd radiusd mysqld dansguardian havp freshclam |
for i in netfs ntpd iptables ulogd dnsmasq squid chilli httpd radiusd mysqld dansguardian havp freshclam |
do |
/sbin/chkconfig --add $i |
done |
/conf/alcasar-dnsmasq-filter |
---|
0,0 → 1,3 |
address=/doubleclick.net/127.0.0.1 |
address=/azerty.fr/127.0.0.1 |
/conf/alcasar-dnsmasq.conf |
---|
0,0 → 1,26 |
domain-needed |
expand-hosts |
bogus-priv |
#server=208.67.222.222 |
#dhcp-option=3,1.2.3.4 |
#dhcp-option=option:router,1.2.3.4 |
#dhcp-option=42,0.0.0.0 |
#dhcp-option=option:ntp-server,192.168.0.4,10.10.0.5 |
filterwin2k |
#except-interface=eth0 |
# Or which to listen on by address (remember to include 127.0.0.1 if |
# you use this.) |
#listen-address=192.168.10.1 |
#interface=eth1 |
domain=localdomain.fr |
cache-size=256 |
# réseau local 192.168.1.0/24 |
#dhcp-range=lan1,192.168.10.129,192.168.10.254,255.255.255.0,12h |
#dhcp-host=11:22:33:44:55:66,ssic-test,192.168.10.20,255.255.255.0,45m |
# réseau distant 192.168.0.0/24 |
#dhcp-range=lan2,192.168.0.10,192.168.0.100,255.255.255.0,12h |
#dhcp-option=lan2,3,192.168.0.1 |
/scripts/alcasar-iptables.sh |
---|
4,6 → 4,7 |
# Rexy - 3abtux - CPN |
# version 1.8 (12/2009) |
# changelog : |
# + prise en compte d'un fichier firewall 'local' dans /usr/local/sbin/alcasar-iptables-local.sh |
# + prise en compte des règles de "filtrage réseau" (alcasar-iptables-filter.sh) |
# + suppression log vers syslog |
# + suppression des broadcast sur EXTIF et INTIF |
61,8 → 62,8 |
$IPTABLES -A INPUT -i $TUNIF -s $PRIVATE_NETWORK_MASK -p icmp --icmp-type 8 -j ACCEPT |
# On ajoute ici les règles spécifiques de filtrage réseau --> dans /usr/local/bin/alcasar-iptables-local.sh |
if [ -f /usr/local/bin/alcasar-iptables-local.sh ]; then |
. /usr/local/bin/alcasar-iptables-local.sh |
if [ -f /usr/local/sbin/alcasar-iptables-local.sh ]; then |
. /usr/local/sbin/alcasar-iptables-local.sh |
fi |
# On autorise le transfert de flux dans les deux sens (avec log sur les demandes de connexion sortantes) |
# On ajoute ici les règles de filtrage réseau |
/scripts/sbin/alcasar-load_balancing.sh |
---|
0,0 → 1,76 |
#!/bin/bash |
# $Id$ |
# alcasar-load_balancing.sh Load-balance internet connection over two or more local links |
# |
# Version: 0.8.0 - Wed, Sep 01, 2010 |
# |
# by Author: BOUIJOUX Franck (3abTux) <3abtux@free.fr> |
# en cours d'expérimentation et d 'écriture |
# |
# Définion des poids des routes |
WEIGHT1=1 |
WEIGHT2=1 |
WEIGHT3=3 |
# Set devices: |
DEV1=${1-eth0} # defaut eth0 |
DEV2=${2-eth0} # defaut eth0 mais peut être autre chose :-) |
DEV3=${3-eth0} # defaut eth0 mais peut être autre chose :-) |
# Trouver les adresses pour chaque interface |
IP1=`ifconfig $DEV1 | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'` |
IP2=`ifconfig $DEV2 | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'` |
#IP3=`ifconfig $DEV3 | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'` |
# iTrouver les passerelles pour chaque interface |
#GW1=`route -n | grep $DEV1 | grep '^0.0.0.0' | awk '{ print $2 }'` |
#GW2=`route -n | grep $DEV2 | grep '^0.0.0.0' | awk '{ print $2 }'` |
GW1=192.168.1.6 |
GW2=192.168.1.1 |
#GW3=192.168.1.6 |
echo "Acces internet depuis $DEV1: IP=$IP1 par la GW=$GW1" |
echo " et depuis $DEV2: IP=$IP2 par la GW=$GW2" |
#echo " et depuis $DEV3: IP=$IP3 par la GW=$GW3" |
# Definition des routes |
# Tester si les tables existent sinon les créer |
if [ -z "`cat /etc/iproute2/rt_tables | grep '^252'`" ] ; then |
echo "252 rt_dev1" >> /etc/iproute2/rt_tables |
fi |
if [ -z "`cat /etc/iproute2/rt_tables | grep '^251'`" ] ; then |
echo "251 rt_dev2" >> /etc/iproute2/rt_tables |
fi |
#if [ -z "`cat /etc/iproute2/rt_tables | grep '^250'`" ] ; then |
# echo "250 rt_dev3" >> /etc/iproute2/rt_tables |
#fi |
# Tables de routage |
ip route add default via $GW1 table rt_dev1 |
ip route add default via $GW2 table rt_dev2 |
#ip route add default via $GW3 table rt_dev3 |
# Créatin des règles |
ip rule add from $IP1 table rt_dev1 |
ip rule add from $IP2 table rt_dev2 |
#ip rule add from $IP3 table rt_dev3 |
# Effacer la route par défaut existante |
if [ ! -z "`ip route show table main | grep 'nexthop'`" ] ; then |
ip route del default scope global |
fi |
# Alterne les liens basés sur chauqe route |
ip route add default scope global nexthop via $GW1 dev $DEV1 weight $WEIGHT1 \ |
nexthop via $GW2 dev $DEV2 weight $WEIGHT2 |
# nexthop via $GW3 dev $DEV3 weight $WEIGHT3 |
# Purge le cache |
ip route flush cache |
# Fin de alcasar-load_balancing.sh |
Property changes: |
Added: svn:eol-style |
+LF |
\ No newline at end of property |
Added: svn:executable |
+* |
\ No newline at end of property |
Added: svn:keywords |
+Id Author Date |
\ No newline at end of property |