Subversion Repositories ALCASAR

Compare Revisions

No changes between revisions

Ignore whitespace Rev 214 → Rev 219

/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