#!/bin/bash # #Creation du fichier conf de squid rm /etc/squid/squid.conf touch /etc/squid/squid.conf echo "--Bienvenue dans le configuration du serveur SQUID--" echo "" echo "--Configuration de base du serveur Squid--" echo "" echo "Qu'elle nom d'affichage souhaité ? :" read nom echo "Sur qu'elle port de fonction ? :" read port #Début d'ecriture dans le fichier de configuration de squid echo "#############################################" >> /etc/squid/squid.conf echo "## CONFIG DE BASE ##" >> /etc/squid/squid.conf echo "#############################################" >> /etc/squid/squid.conf echo "" >> /etc/squid/squid.conf echo "#Nom du serveur visible" >> /etc/squid/squid.conf echo "visible_hostname $nom" >> /etc/squid/squid.conf echo "" >> /etc/squid/squid.conf echo "#Port de fonctionnement de squid" >> /etc/squid/squid.conf echo "http_port $port" >> /etc/squid/squid.conf echo "" >> /etc/squid/squid.conf echo "#Format des log" >> /etc/squid/squid.conf echo "emulate_httpd_log off" >> /etc/squid/squid.conf echo "" >> /etc/squid/squid.conf echo "#Chemin d'acces pour access.log" >> /etc/squid/squid.conf echo "cache_access_log /var/log/squid/access.log" >> /etc/squid/squid.conf echo "" >> /etc/squid/squid.conf echo "" >> /etc/squid/squid.conf echo "" #Configuration du cache du serveur echo "--Voulez-vous activer le mode Cache du serveur proxy ? [yes/no]--" read cache if [ $cache = yes ]; then echo "#################CONFIG CACHE PROXY#################" >> /etc/squid/squid.conf echo "Taille de la mémoire vive utilisé ? ( en MB ) :" read taillecache echo "" >> /etc/squid/squid.conf echo "cache_mem $taillecache MB" >> /etc/squid/squid.conf echo "Taille maximum des objets stockés dans le cache ? ( en MB ) :" read taillemax echo "" >> /etc/squid/squid.conf echo "maximum_object_size $taillemax MB" >> /etc/squid/squid.conf echo "---Création des répertoire de cache Serveur Squid---" boucle=3 while [ $boucle = 3 ]; do echo "1. Ajouter un repertoire de cache" echo "2. Fin d'ajout de répertoire de cache" read boucle if [ $boucle = 1 ]; then echo "Format utilisé ? ( def = ufs ) :" read format echo "Chemin du cache ( /var/spool/squid ) :" read chemin echo "Taille alloué ( en MB ) :" read taille echo "Nombre de répertoire de niveau 1 :" read nbrrep echo "Nombre de répertoire de niveau 2 :" read nbrrep2 echo "" >> /etc/squid/squid.conf echo "cache_dir $format $chemin $taille $nbrrep $nbrrep2" >> /etc/squid/squid.conf echo "" >> /etc/squid/squid.conf else break fi boucle=3 done else break fi echo "" echo "--------Configuration des ACL-------" echo "" echo "######################################" >> /etc/squid/squid.conf echo "## ACL ##" >> /etc/squid/squid.conf echo "######################################" >> /etc/squid/squid.conf echo "" >> /etc/squid/squid.conf #Configuration des ACL http_access et des ports choix=5 while [ $choix = 5 ]; do echo "1. Ajouter une ACL" echo "2. Ajouter Http Access" echo "3. Configuration des Ports" echo "4. Sortie" read choix if [ $choix = 1 ]; then echo "Nom acl :" read nomacl echo "Type d'acces :" read typeacl echo "Adresse alloué à l'ACL ( x.x.x.x/x.x.x.x ):" read adresseacl echo "acl $nomacl $typeacl $adresseacl" >> /etc/squid/squid.conf elif [ $choix = 2 ]; then echo "Type d'access http ( allow/deny ) :" read typehttp echo "Pour qui la regle s'applique ? :" read qui echo "http_access $typehttp $qui" >> /etc/squid/squid.conf elif [ $choix = 3 ]; then echo "Qu'elle port souhaité ?:" read portacl echo "acl Safe_ports port $portacl" >> /etc/squid/squid.conf elif [ $choix = 4 ]; then break fi choix=5 done echo "" >> /etc/squid/squid.conf echo "#Config liste des Ports" >> /etc/squid/squid.conf echo "acl SSL_ports port 443" >> /etc/squid/squid.conf echo "acl Safe_ports port 80" >> /etc/squid/squid.conf echo "acl Safe_ports port 21" >> /etc/squid/squid.conf echo "acl Safe_ports port 22" >> /etc/squid/squid.conf echo "acl Safe_ports port 1022-65535" >> /etc/squid/squid.conf echo "" >> /etc/squid/squid.conf echo "#Liste des Regles d'access" >> /etc/squid/squid.conf echo "acl purge method PURGE" >> /etc/squid/squid.conf echo "acl CONNECT method CONNECT" >> /etc/squid/squid.conf echo "http_access allow monreseau" >> /etc/squid/squid.conf echo "http_access deny !Safe_ports" >> /etc/squid/squid.conf echo "http_access deny !SSL_ports" >> /etc/squid/squid.conf echo "http_access deny all" >> /etc/squid/squid.conf echo "" >> /etc/squid/squid.conf echo "" echo "--Fin du paramétrage de Squid--" echo "" echo "Souhaitez-vous inclure Squidguard ? [yes/no]" read squidguard if [ $squidguard = yes ]; then rm /etc/squid/squidGuard.conf touch /etc/squid/squidGuard.conf echo "" >> /etc/squid/squid.conf echo "#Integration de SquidGuard" >> /etc/squid/squid.conf echo "url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf" >> /etc/squid/squid.conf echo "url_rewrite_children 5" >> /etc/squid/squid.conf else break fi echo "" echo "" echo "refresh_pattern ^ftp: 1440 20% 10080" >> /etc/squid/squid.conf echo "refresh_pattern ^gopher: 1440 0% 1440" >> /etc/squid/squid.conf echo "refresh_pattern . 0 20% 4320" >> /etc/squid/squid.conf echo "-----------FIN DE LA CONFIGURATION DE SQUID-----------"