Revisión 528
Añadido por Alfonso Pastor hace alrededor de 10 años
tareas_puppet/comunes/svn-commit.tmp | ||
---|---|---|
|
||
--Esta línea y las que están debajo serán ignoradas--
|
||
|
||
A .
|
tareas_puppet/comunes/instala-flash/manifests/init.pp | ||
---|---|---|
class instala-flash {
|
||
|
||
package { "flashplugin-nonfree":
|
||
ensure => latest
|
||
}
|
||
|
||
file {"/etc/upgrade_flash":
|
||
source => "puppet://puppetinstituto/instala-flash/upgrade_flash"
|
||
}
|
||
|
||
file {"/usr/local/sbin/actualizaflash":
|
||
source => "puppet://puppetinstituto/instala-flash/actualizaflash"
|
||
}
|
||
|
||
exec { "upgrade_flash":
|
||
command => '/usr/local/sbin/actualizaflash',
|
||
subscribe => File["/etc/upgrade_flash","/usr/local/sbin/actualizaflash"],
|
||
refreshonly => true,
|
||
require => Package ["flashplugin-nonfree"]
|
||
}
|
||
}
|
tareas_puppet/comunes/instala-flash/files/actualizaflash | ||
---|---|---|
#!/bin/bash
|
||
|
||
http_proxy=http://ldap:3128 update-flashplugin-nonfree --install
|
||
tareas_puppet/comunes/instala-flash/leeme | ||
---|---|---|
BREVE DESCRIPCION DE LA EJECUCION DEL MODULO
|
||
--------------------------------------------
|
||
|
||
Tarea para actualizar el plugin de flash en servidores de terminales, portátiles y workstation.
|
||
|
||
Esta tarea instala el paquete flashplugin-nonfree. Una vez instalado, actualiza el plugin.
|
||
|
||
La actualización del plugin se realiza ejecutando un script que coloco en:
|
||
/usr/local/sbin/actualizaflash
|
||
|
||
Este script descarga el plugin de flash desde el proxy de ldap, por lo que es necesario aumentar el tamaño máximo de objeto cacheable
|
||
en el archivo /etc/squid/squid-cache.conf, por ejemplo a 8MB.
|
||
|
||
Para eso cambiamos el valor del maximum_object_size en el archivo /etc/squid/squid-cache.conf del servidor ldap:
|
||
|
||
maximum_object_size 4096 KB
|
||
|
||
por:
|
||
|
||
maximum_object_size 8192 KB
|
||
|
||
|
||
Y hacemos que squid relea los ficheros de configuración:
|
||
|
||
/etc/init.d/squid reload
|
||
|
||
|
||
Si se quiere, siempre se puede volver a forzar la ejecución de la tarea haciend algún cambio en el archivo:
|
||
/etc/puppet/modules/instala-flash/files/upgrade_flash
|
||
|
||
|
||
INSTRUCCIONES DE INSTALACION DEL MODULO
|
||
---------------------------------------
|
||
|
||
Desempaquetar en /etc/puppet/modules
|
||
|
||
* Incluir la linea include "nombre_modulo" en /etc/puppet/manifests/classes/clase-especifica-squeeze.pp si lo vamos a aplicar a servidores ltsp con squeeze.
|
||
|
||
* Incluir la línea include "nombre_modulo" en /etc/puppet/manifests/clases/especifica-miniportatil-2011.pp si lo vamos a aplicar a portátiles.
|
||
|
||
* Incluir la línea include "nombre_modulo" en /etc/puppet/manifests/clases/especifica-orkstation.pp si lo vamos a aplicar a equipos workstation.
|
||
|
||
------------------------------------------------
|
||
|
||
11-Marzo-2013.
|
||
Esteban M. Navas Martín
|
||
Administrador informático
|
||
IES Valle del Jerte - Plasencia
|
||
|
tareas_puppet/comunes/servidores_aula/squeeze/ltsp2012_arranquefujitsu/LEEME | ||
---|---|---|
******************************************************************************
|
||
IMPORTANTE: Esta tarea sólo es necesaria para los tengamos terminales FUJITSU
|
||
******************************************************************************
|
||
|
||
BREVE DESCRIPCION DE LA EJECUCION DEL MODULO
|
||
--------------------------------------------
|
||
|
||
Destino : Servidores de aula e imagen de los clientes FUJITSU
|
||
|
||
Acción : Instala el núcleo 2.6.32-5 en la imagen de los clientes
|
||
para evitar el problema del arranque por red
|
||
|
||
Notas : La tarea descarga el script instala-nucleo-chroot.sh al root
|
||
de los servidores e instala el núcleo en la imagen. Este fichero
|
||
"instala-nucleo.chroot.sh" no se puede borrar, porque si no repetirá
|
||
el proceso de nuevo.
|
||
|
||
INSTRUCCIONES DE INSTALACION DEL MODULO
|
||
---------------------------------------
|
||
|
||
Desempaquetar en /etc/puppet/modules
|
||
Incluir la linea include "nombre_modulo" en /etc/puppet/manifests/classes/clase-especifica-squeeze.pp
|
||
|
||
------------------------------------------------
|
||
|
||
Creado por:
|
||
|
||
Francisco Paniagua Sánchez
|
||
Administrador Informático del IES Francisco de Orellana (Trujillo).
|
||
12-Octubre-2012
|
||
tareas_puppet/comunes/servidores_aula/squeeze/ltsp2012_arranquefujitsu/manifests/init.pp | ||
---|---|---|
class ltsp2012_arranquefujitsu {
|
||
|
||
|
||
file { "/root/instala-nucleo-chroot.sh":
|
||
owner=> root, group=> root, mode => 755,
|
||
source => "puppet:///ltsp2012_arranquefujitsu/instala-nucleo-chroot.sh",
|
||
notify => Exec ["ejecutar-instalacion"],
|
||
}
|
||
|
||
exec { "ejecutar-instalacion":
|
||
command => "/root/instala-nucleo-chroot.sh",
|
||
require => File ["/root/instala-nucleo-chroot.sh"],
|
||
refreshonly => true,
|
||
}
|
||
|
||
}
|
tareas_puppet/comunes/servidores_aula/squeeze/ltsp2012_arranquefujitsu/files/instala-nucleo-chroot.sh | ||
---|---|---|
#!/bin/sh
|
||
|
||
#Autor:Francisco Paniagua Sánchez
|
||
#Instalación de un núcleo 2.6 para que siga funcionando el wakeonlan en fujitsu
|
||
|
||
#Instala nucleo y actualiza imagen
|
||
ltsp-chroot -a i386 -d -p -r apt-get update
|
||
ltsp-chroot -a i386 -d -p -r apt-get install -y --force-yes linux-image-2.6.32-5-686
|
||
ltsp-update-image --arch i386
|
||
|
||
#Copia de ficheros y hacer enlaces
|
||
|
||
cd /opt/ltsp/i386/boot
|
||
cp initrd.img-2.6.32-5-686 nbi.img-2.6.32-5-686 System.map-2.6.32-5-686 vmlinuz-2.6.32-5-686 /var/lib/tftpboot/ltsp/i386
|
||
|
||
cd /var/lib/tftpboot/ltsp/i386
|
||
rm -f initrd.img nbi.img vmlinuz
|
||
|
||
ln -s initrd.img-2.6.32-5-686 /var/lib/tftpboot/ltsp/i386/initrd.img
|
||
ln -s nbi.img-2.6.32-5-686 /var/lib/tftpboot/ltsp/i386/nbi.img
|
||
ln -s vmlinuz-2.6.32-5-686 /var/lib/tftpboot/ltsp/i386/vmlinuz
|
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_reprepro/manifests/init.pp | ||
---|---|---|
class ltsp_reprepro {
|
||
|
||
$servidor = "web"
|
||
$nombreRepositorio = "iespmonfrague"
|
||
$directorioRepositorio = "iespmonfrague"
|
||
$distribucion = "squeeze"
|
||
$componentes = "main"
|
||
|
||
|
||
#Añadimos el repositorio.
|
||
|
||
file { "/opt/ltsp/i386/etc/apt/sources.list.d/$nombreRepositorio.list":
|
||
ensure => file,
|
||
content => "deb http://$servidor/$nombreRepositorio $distribucion $componentes",
|
||
notify => Exec ["clave_publica_ltsp"]
|
||
}
|
||
|
||
#Descargamos la clave pública de nuestro repositorio y la subimos al servidor cliente añadiendola. Actualizamos indices. Borramos la clave pública.
|
||
|
||
exec { "clave_publica_ltsp":
|
||
command => "chroot /opt/ltsp/i386 wget http://$servidor/$directorioRepositorio/$nombreRepositorio.asc;chroot /opt/ltsp/i386 apt-key add $nombreRepositorio.asc;chroot /opt/ltsp/i386 apt-get update;chroot /opt/ltsp/i386 rm $nombreRepositorio.asc",
|
||
refreshonly => true,
|
||
logoutput => true
|
||
}
|
||
}
|
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_reprepro/leeme.txt | ||
---|---|---|
|
||
BREBE DESCRIPCION DE LA EJECUCIÓN DEL MÓDULO.
|
||
----------------------------------------------
|
||
|
||
Destino: Thclient.
|
||
|
||
Acción: Configura los ficheros en los clientes para añadir nuestro repositorio local a los clientes.
|
||
|
||
Notas: Se tiene que tener instalado reprepro en el servidor reprepro.
|
||
|
||
----------------------------------------------
|
||
|
||
Autor: José María Sánchez García.
|
||
Lugar: IES Parque de Monfragüe (Plasencia).
|
||
Fecha: 09/04/2013.
|
||
|
||
|
||
|
tareas_puppet/comunes/servidores_aula/squeeze/ltsp2012_adormir/manifests/init.pp | ||
---|---|---|
class ltsp2012_adormir {
|
||
|
||
|
||
file { "/opt/ltsp/i386/root/adormir.sh":
|
||
owner=> root, group=> root, mode => 755,
|
||
source => "puppet:///ltsp2012_adormir/adormir.sh",
|
||
notify => Exec ["crear-imagen-adormir"],
|
||
}
|
||
|
||
exec { "crear-imagen-adormir":
|
||
command => "/usr/sbin/ltsp-update-image --arch i386",
|
||
refreshonly => true,
|
||
}
|
||
|
||
}
|
tareas_puppet/comunes/servidores_aula/squeeze/ltsp2012_adormir/files/adormir.sh | ||
---|---|---|
#/bin/bash
|
||
|
||
#Poner en el crontab para que se ejecute cada minuto.
|
||
#Comprueba si hay alguien logueado en el terminal o bien está ejecutandose
|
||
#el cañon vlc de Aulalinex o el vnc-proyector
|
||
|
||
|
||
#Opciones para ver si hay alguien logado
|
||
# logado=$(ps aux | grep "ssh.*192.168.0.254" | grep -v grep | wc -l)
|
||
# logado=$(cat /var/run/ltsplogin192.168.0.254) <-devuelve el login del usuario que ha entrado, lo malo es que si sale de sesión no se borra.
|
||
# Y la que usamos, copiada de controlaula:
|
||
logado=$(ps aux | grep "LTSP_CLIENT" | grep -v grep | wc -l) #Si alguien esta logado, la conexion con el servidor de aula tiene esta cadena.
|
||
|
||
|
||
#Numero de minutos de espera para apagar el equipo si nadie ha hecho login.
|
||
#Si no queremos que se apaguen nunca , ponemos un valor muy alto, inalcanzable en una clase normal (1000 minutos, por ejemplo)
|
||
#El script es invocado cada minuto por cron, eso puede hacer que tarde hasta
|
||
#un minuto más de lo indicado en apagarse.
|
||
TIMEOUT=5
|
||
|
||
testigo=/tmp/ocioso
|
||
segundos_timeout=$(expr $TIMEOUT \* 60 - 1)
|
||
logado_root=$(who | grep root | wc -l) #Si el root ha iniciado sesión por consola o ssh
|
||
vlcenuso=$(ps aux | grep vlc | grep -v grep | wc -l) #Por si se está proyectando video sin alumnos logados.
|
||
vncenuso=$(ps aux | grep vnc | grep -v grep | wc -l) #Por si se está proyectando escritorio sin alumnos logados.
|
||
mensajeuso=$(ps aux | grep mensaje-ltsp | grep -v grep | wc -l) #Por si está en uso mensaje-ltsp
|
||
if [ $logado -eq 1 -o $vlcenuso -ge 1 -o $vncenuso -ge 1 -o $logado_root -gt 0 -o $mensajeuso -gt 0 ]
|
||
then
|
||
test -e $testigo && rm $testigo
|
||
else
|
||
if [ ! -e $testigo ]
|
||
then
|
||
touch $testigo
|
||
else
|
||
seg1=$(stat -c%X $testigo)
|
||
seg2=$(date +%s)
|
||
segundos=$(expr $seg2 - $seg1)
|
||
if [ $segundos -gt $segundos_timeout ]
|
||
then
|
||
export XAUTHORITY=$(find /var/run -name Xauthority)
|
||
gxmessage -display :7 -timeout 30 -center -button "No apagar" "Este ordenador no se esta usando. El sistema se apagara en 30 segundos."
|
||
if [ $? -ne 101 ]
|
||
then
|
||
/sbin/ethtool -s eth0 wol g 2>/dev/null
|
||
/usr/bin/killall -9 x-session-manager
|
||
/sbin/poweroff -fp &
|
||
else
|
||
touch $testigo
|
||
fi
|
||
fi
|
||
fi
|
||
fi
|
||
tareas_puppet/comunes/servidores_aula/squeeze/ltsp2012_adormir/LEEME | ||
---|---|---|
BREVE DESCRIPCION DE LA EJECUCION DEL MODULO
|
||
--------------------------------------------
|
||
|
||
Destino : Servidores de aula
|
||
|
||
Acción : Modifica el fichero adormir.sh que se incluye en la imagen
|
||
para un correcto funcionamiento y actualiza la imagen
|
||
|
||
Notas : Modifica el fichero adormir.sh cambiando las condiciones de comparacion
|
||
para que los ordenadores no se apaguen cuando se esta utilizando
|
||
el proyector y la transmision de video sin usuarios validados.
|
||
|
||
INSTRUCCIONES DE INSTALACION DEL MODULO
|
||
---------------------------------------
|
||
|
||
Desempaquetar en /etc/puppet/modules
|
||
Incluir la linea include "nombre_modulo" en /etc/puppet/manifests/classes/clase-especifica-squeeze.pp
|
||
|
||
------------------------------------------------
|
||
|
||
Creado por:
|
||
|
||
Francisco Paniagua Sánchez
|
||
Administrador Informático del IES Francisco de Orellana (Trujillo).
|
||
24-Octubre-2012
|
||
tareas_puppet/comunes/servidores_aula/squeeze/gnome-mandatory-squeeze/leeme.txt | ||
---|---|---|
BREVE DESCRIPCION DE LA EJECUCION DEL MODULO
|
||
--------------------------------------------
|
||
|
||
Tarea que nos permite incluir configuraciones personalizadas para el gnome simplemente modificando el
|
||
archivo 30_config_ies_personalizado. Las configuraciones personalizadas son mandatory, es decir que
|
||
tienen prioridad sobre cualquier configuración que tenga el usuario en su home personal.
|
||
|
||
El fichero 30_config_ies_personalizado trae estas configuraciones, que se deben modificar segun las
|
||
necesidades de nuestro centro:
|
||
|
||
/apps/nautilus/preferences/enable_delete true
|
||
Activa el borrado en el menu contextual del nautilus
|
||
|
||
/apps/nautilus/preferences/click_policy double
|
||
Activa el doble click para abrir ficheros y carpetas
|
||
|
||
/desktop/gnome/background/picture_filename /home/instituto/fondo.jpg
|
||
/desktop/gnome/background/picture_options centered
|
||
/desktop/gnome/background/primary_color #1eed18c32e72
|
||
/desktop/gnome/background/secondary_color #6666baba0000
|
||
/desktop/gnome/background/color_shading_type solid
|
||
Establece un fondo obligatorio para todo el instituto
|
||
|
||
|
||
/apps/gnome-screensaver/user_switch_enabled false
|
||
Desactiva el cambio de usuario desde el protector de pantalla
|
||
|
||
/apps/gnome-screensaver/idle_activation_enabled false
|
||
Desactiva la activacion del protector de pantalla
|
||
|
||
/apps/gnome-screensaver/idle_delay 60
|
||
Fija el tiempo de espera en minutos del protector de pantalla
|
||
|
||
/apps/gnome-screensaver/lock_enabled false
|
||
Desactiva la petición de contraseña del protectod de pantalla
|
||
|
||
/apps/gnome-session/options/logout_prompt false
|
||
No pregunta nada al cerrar sesión el usuario
|
||
|
||
/desktop/gnome/lockdown/disable_user_switching true
|
||
Desactiva el cambio rapido de usuario
|
||
|
||
/apps/panel/objects/btn_exit_screen0/action_type none
|
||
Quita el botón de apagado de la barra de tareas de gnome.
|
||
|
||
|
||
INSTRUCCIONES DE INSTALACION DEL MODULO
|
||
---------------------------------------
|
||
|
||
Desempaquetar en /etc/puppet/modules
|
||
Incluir la linea include "nombre_modulo" en /etc/puppet/manifests/classes/clase-especifica.pp
|
||
|
||
|
||
tareas_puppet/comunes/servidores_aula/squeeze/gnome-mandatory-squeeze/manifests/init.pp | ||
---|---|---|
class gnome-mandatory-squeeze {
|
||
|
||
file {
|
||
"/usr/share/gconf/mandatory/30_config_ies_personalizado":
|
||
owner => root, group => root, mode => 644,
|
||
source => "puppet:///gnome-mandatory-squeeze/30_config_ies_personalizado",
|
||
notify => Exec["actualizar-gconf-mandatory"],
|
||
}
|
||
exec {
|
||
"actualizar-gconf-mandatory":
|
||
command => "/usr/bin/update-gconf-defaults --mandatory",
|
||
refreshonly => true,
|
||
subscribe => File["/usr/share/gconf/mandatory/30_config_ies_personalizado"],
|
||
require => File["/usr/share/gconf/mandatory/30_config_ies_personalizado"]
|
||
}
|
||
|
||
|
||
}
|
tareas_puppet/comunes/servidores_aula/squeeze/gnome-mandatory-squeeze/files/30_config_ies_personalizado | ||
---|---|---|
/apps/nautilus/preferences/enable_delete true
|
||
/apps/nautilus/preferences/click_policy double
|
||
/desktop/gnome/background/picture_filename /home/instituto/fondo.jpg
|
||
/desktop/gnome/background/picture_options centered
|
||
/desktop/gnome/background/primary_color #1eed18c32e72
|
||
/desktop/gnome/background/secondary_color #6666baba0000
|
||
/desktop/gnome/background/color_shading_type solid
|
||
/apps/gnome-screensaver/user_switch_enabled false
|
||
/apps/gnome-screensaver/idle_activation_enabled false
|
||
/apps/gnome-screensaver/idle_delay 60
|
||
/apps/gnome-screensaver/lock_enabled false
|
||
/apps/gnome-session/options/logout_prompt false
|
||
/desktop/gnome/lockdown/disable_user_switching true
|
||
/apps/panel/objects/btn_exit_screen0/action_type none
|
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_utilaula/files/listahosts | ||
---|---|---|
#!/bin/bash
|
||
#Lista los hosts, sean portatiles o clientes ligeros que esten conectados en esa clase
|
||
#en ese instante.
|
||
#
|
||
#Ricardo Salgado Cid
|
||
#IESO Galisteo
|
||
#
|
||
#09/02/11 Release incial ()
|
||
|
||
listahosts=$(avahi-browse -trpk -d local _workstation._tcp 2>/dev/null | grep 192.168.0. | grep -v '_pro\|\-pro' | cut -d";" -f7,8 | sed 's/.local//' | sort)
|
||
if [ -z "$listahosts" ]; then
|
||
echo "No se ha encontrado ninguna maquina conectada"
|
||
exit 2
|
||
else
|
||
echo "Hay $(echo $listahosts | tr " " "\n" | wc -l ) maquina/s conectadas:"
|
||
fi
|
||
|
||
for hostip in $listahosts
|
||
do
|
||
host=$(echo $hostip | cut -d";" -f1)
|
||
ip=$(echo $hostip | cut -d";" -f2)
|
||
echo "--$host($ip)"
|
||
done
|
||
|
||
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_utilaula/files/arreglosportatil | ||
---|---|---|
#!/bin/bash
|
||
#
|
||
# Ricardo Salgado(IESO Galisteo)
|
||
#
|
||
# Ejecuta los comandos contenidos en la variable "comandos" en todos los portatiles conectados al aula.
|
||
# Los comandos deben terminar con el caracter ";" a excepcion del ultimo
|
||
# Pensado solo para los portatiles, cuidado con ejecutarlo sobre los clientes ligeros
|
||
# Pasando como parametro -p al script los comandos se ejecutaran en paralelo en todos los host.
|
||
# Sin parametros se ejecutaran host a host
|
||
|
||
comandos="
|
||
/etc/init.d/puppet stop;
|
||
dpkg --configure -a --force-all;
|
||
puppetd -tv;
|
||
pkgsync;
|
||
nss_updatedb ldap;
|
||
apt-get -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold--reinstall install autofs5;
|
||
/etc/init.d/puppet start
|
||
"
|
||
if [ "$1" \= "-p" ] ; then
|
||
/sbin/ejecutaenhosts -p $comandos
|
||
else
|
||
/sbin/ejecutaenhosts $comandos
|
||
fi
|
||
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_utilaula/files/apaga_clientes | ||
---|---|---|
#! /bin/sh
|
||
/sbin/ejecutaenhosts -p "poweroff -f"
|
||
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_utilaula/files/reinicio | ||
---|---|---|
#!/bin/bash
|
||
#Reinicia el servidor de aula si no hay nadie logeado. Tambien apaga
|
||
#los ordenadores de los host conectados(Evita que se queden fritos
|
||
#algunos tipos de clientes ligeros como los Dominion)
|
||
#No tiene en cuenta si hay logeados alumnos
|
||
|
||
|
||
if ! who | grep -q "(:0)"; then
|
||
ejecutaenhosts "poweroff -f"
|
||
/sbin/shutdown -r now
|
||
fi
|
||
|
||
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_utilaula/files/id_rsa | ||
---|---|---|
-----BEGIN RSA PRIVATE KEY-----
|
||
MIIEogIBAAKCAQEAx22Iui6IIuIImE5VnN0pMCTIkF/5Nhmb0gaTvPPL8UpToynC
|
||
bwynNQze90RdGhN0lZs7slyVM8RnbFPik1m1MRFw/7ZClFavAUH6h3Q9B9FgxNGn
|
||
S6e62ek6v8j4aazri4TVLaogt7uT2mJa8D1qvVngPQErgEpgr7w4YcWpd3FXYe63
|
||
kzCb6g6ElEedfuAG7veDg26Hk6j3OAWfA+zInT/HkHe0B+jgAr6neVvhBdLnDTCd
|
||
Ra3MpgTrW1q/3/o82adJMBXQf2xAxkACMw7e0aaOPHJsA6wvSOL7PhY/FFOv2ad1
|
||
cmMHOXtcnwGwGk6f+29SgNw1Vnebsw63tLik0QIBIwKCAQEAvAgwdQdNKDQz/VEs
|
||
Ji+b3O97RkvcV5R8+TlmuXgmsE1kzQoduSkv8DC098QdRHi+YSv2dPg056qNZiM0
|
||
ttDsqptqirMo1QFF6z41WyR0Dq94fw7Q74+ESc1GBUh1MG/WxV/8Ml6T4G8Hv0bK
|
||
xUE4wSjavSz9ITAvRpuFngOCho3EITf+3cR0NwbJOLS8XuW0bkr5MEaSlPkCTnmd
|
||
p0mubgotQ1cDqrBcG2fIrVmLuUATWQVsnotLK+y8jaMOnnwT97PHW0V87Ge7frYs
|
||
NFeCt0lh/FATtYGK3/h12aJTPR5y8TBXkmWVxtrW91HvTPGnfq4v35Mzfy1B8xPx
|
||
0YC9FwKBgQD1TH69GcAi3E1FPrMoKCz+xPFkO55PEP9frBPaUTebkr7Kj4kN5uDR
|
||
ijEmOGYCAb0P1L54yhYQDRA8xIR37/AB11CgZgj7Wdf85Y88/PVHdOrYSOEmO+9X
|
||
sF7FCIv/heBVUrjAHklfnbEBtsm7bU5ESWHBBvFXfbrL72rVFSU/vwKBgQDQIMA5
|
||
vMbmhdFSpRLUVuYxhoBNSuo4MjyknY/P6gIuOLRBXGuSuZLTkcoZBTnOs/irbWxj
|
||
tGjZeeJTNutH8p3nxVIqrxC1gC4A5e+OkfrWa8r4sajy0O2hZSdcICupNlrRGoUi
|
||
JW/aNX1nZcnIU6L3oA8BnE6+gGYF8GAvuZ4/bwKBgH4nVx9sVC8veDI9gLWRATKR
|
||
K6/kJYe/mUclTAngoEFhaW99BKgQVl0if61Bk4wA5OOR+46T0NUOCFnEJt6Yp1Fn
|
||
a0stKTDPHp9RfN2JaDNgs0qpI1V96M4C7uj9FMyN/lfEJIAPk3MApCzEZ796Cv6M
|
||
I6UZg27S8lpAnVekeY5/AoGAF8k6ikF10TPdaIfk5RE+4Ravk84MI634TVPV6+A6
|
||
w3Qx25WIow3k5Pq4AtwGm0fEpeCerE8h7Pf8m8vDHipbMG5SiIkJOVB6ST7ZjKL4
|
||
GIFZBnq0OQHvRaUpEdfKeb0RsX9frCGJIECgnhpC8lKzigOp8Y404pJUzXqOpl5b
|
||
OnMCgYEA1bngJ88HGe/YlKTXH9THm140spVy/qeJmnbqTWB8RQobbp5Y7igLxnG2
|
||
Yvb7oSNeTCAhVqvnnwe5yan5tihTiredfr3lkPrw7B91Im8IfKlKnQwT72xkBDFB
|
||
bTSROCdpGrTYFvl6AriDU5Bzj5xHYm8GVpkeuI3xMgdmhxT+6+E=
|
||
-----END RSA PRIVATE KEY-----
|
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_utilaula/files/chequea_login | ||
---|---|---|
#!/bin/sh
|
||
|
||
# Comprueba si hay algún profesor logueado en el servidor de aula y en caso contrario
|
||
# apaga los terminales que estuvieran encendidos
|
||
|
||
usuario=`finger -s | grep "tty" | head -1 | cut -d " " -f 1`
|
||
|
||
groups $usuario | grep -v "teachers" >/dev/null
|
||
|
||
if [ $? -eq 0 ]; then
|
||
echo "No hay profes logueados `date`" >> /tmp/chequeo_login
|
||
/etc/init.d/apaga_clientes
|
||
else
|
||
echo "Sí hay profes logueados `date`" >> /tmp/chequeo_login
|
||
fi
|
||
exit 0
|
||
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_utilaula/files/ejecutaenhosts | ||
---|---|---|
#!/bin/bash
|
||
#Permite ejecutar el comando que se le pase como parámetro en todos los hosts, ya
|
||
#sean portatiles o clientes ligeros que esten conectados en esa clase en ese instante.
|
||
#Con el parametro -p se ejecuta en paralelo en todos los equipos(la salida resultante
|
||
#se almacena en un fichero), sin el parametro -p el comando se va ejecutando maquina a
|
||
#maquina
|
||
#
|
||
#Ricardo Salgado Cid
|
||
#IESO Galisteo
|
||
#
|
||
#26/01/11 Release incial ()
|
||
#09/02/11 Opciones mas restrictivas en los ssh para evitar esperas infinitas
|
||
|
||
if [ $# -lt 1 ]; then
|
||
echo "Permite ejecutar el comando que se le pase como parametro en todos los hosts"
|
||
echo "sean portatiles o clientes ligeros que esten conectados en esa clase en ese instante."
|
||
echo "Con el parametro -p se ejecuta en paralelo en todos los equipos"
|
||
echo "Uso: $0 [-p] comando"
|
||
exit
|
||
fi
|
||
|
||
|
||
|
||
if [ "$1" \= "-p" ] ; then
|
||
enparalelo="yes"
|
||
shift
|
||
fi
|
||
listahosts=$(avahi-browse -trpk -d local _workstation._tcp 2>/dev/null | grep 192.168.0. | grep -v '_pro\|\-pro' | cut -d";" -f7,8 | sed 's/.local//' | sort)
|
||
if [ -z "$listahosts" ]; then
|
||
echo "No se ha encontrado ninguna maquina conectada"
|
||
exit 2
|
||
else
|
||
echo "El comando se ejecutará sobre $(echo $listahosts | tr " " "\n" | wc -l ) maquina/s"
|
||
fi
|
||
|
||
for hostip in $listahosts
|
||
do
|
||
if [ -z $enparalelo ]; then
|
||
salida=/dev/stdout
|
||
else
|
||
salida=/dev/null
|
||
fi
|
||
host=$(echo $hostip | cut -d";" -f1)
|
||
ip=$(echo $hostip | cut -d";" -f2)
|
||
echo "Salida del comando en el host $host($ip):" > $salida
|
||
echo __________________________________________________________________________ >> $salida
|
||
if [ -z $enparalelo ]; then
|
||
ssh -o StrictHostKeyChecking=no -o ConnectTimeout=9 -o ServerAliveCountMax=2 -o ServerAliveInterval=15 -i /var/lib/portatil/.ssh/id_rsa root@$ip $* >> /tmp/salida_host_$host.log 2>&1
|
||
else
|
||
ssh -o StrictHostKeyChecking=no -o ConnectTimeout=9 -o ServerAliveCountMax=2 -o ServerAliveInterval=15 -i /var/lib/portatil/.ssh/id_rsa root@$ip $* >> /tmp/salida_host_$host.log 2>&1 &
|
||
fi
|
||
echo __________________________________________________________________________ >> $salida
|
||
echo -e "\n\n" >> $salida
|
||
done
|
||
|
||
if [ -z "$enparalelo" ]; then
|
||
exit 0
|
||
else
|
||
salida="/tmp/salidas_comando_$(date +%Y%m%d_%H%M).log"
|
||
echo -n "Esperando a que terminen los procesos "
|
||
for job in $(jobs -p)
|
||
do
|
||
echo -n "."
|
||
wait $job
|
||
done
|
||
echo -e "\n"
|
||
echo "Hecho!"
|
||
echo "Salidas del comando: \"$*\"" > $salida
|
||
echo $(date) >> $salida
|
||
for hostip in $listahosts
|
||
do
|
||
host=$(echo $hostip | cut -d";" -f1)
|
||
ip=$(echo $hostip | cut -d";" -f2)
|
||
echo "Salida del comando en el host $host($ip):" >> $salida
|
||
echo __________________________________________________________________________ >> $salida
|
||
cat /tmp/salida_host_${host}.log >> $salida
|
||
rm /tmp/salida_host_${host}.log
|
||
echo __________________________________________________________________________ >> $salida
|
||
done
|
||
echo "Salidas almacenadas en el fichero: $salida"
|
||
|
||
# read -n1 -p "¿Mostrar fichero? (s/N) "
|
||
# echo
|
||
# [[ $REPLY == [sSyY] ]] && less /root/$salida
|
||
#
|
||
# read -n1 -p "¿Borrar fichero? (s/N) "
|
||
# echo
|
||
# [[ $REPLY == [sSyY\n] ]] && rm $salida
|
||
|
||
fi
|
||
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_utilaula/files/id_rsa.pub | ||
---|---|---|
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAx22Iui6IIuIImE5VnN0pMCTIkF/5Nhmb0gaTvPPL8UpToynCbwynNQze90RdGhN0lZs7slyVM8RnbFPik1m1MRFw/7ZClFavAUH6h3Q9B9FgxNGnS6e62ek6v8j4aazri4TVLaogt7uT2mJa8D1qvVngPQErgEpgr7w4YcWpd3FXYe63kzCb6g6ElEedfuAG7veDg26Hk6j3OAWfA+zInT/HkHe0B+jgAr6neVvhBdLnDTCdRa3MpgTrW1q/3/o82adJMBXQf2xAxkACMw7e0aaOPHJsA6wvSOL7PhY/FFOv2ad1cmMHOXtcnwGwGk6f+29SgNw1Vnebsw63tLik0Q== portatil@servidor
|
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_utilaula/files/conectahost | ||
---|---|---|
#!/bin/bash
|
||
#
|
||
#Ricardo Salgado(IESO Galisteo)
|
||
#
|
||
#Conecta a un host (portatil o workstation) que esté conectado a la red del aula en ese momento
|
||
#toma como parametro el nombre del host(o una parte de el)
|
||
#
|
||
#Ricardo Salgado Cid
|
||
#IESO Galisteo
|
||
#
|
||
#26/01/11 Release incial ()
|
||
#09/02/11 Opciones mas restrictivas en los ssh para evitar esperas infinitas
|
||
|
||
if [ $# -ne 1 ]; then
|
||
echo "Conecta a un host (portatil o workstation) que este conectado a la red del aula en ese momento"
|
||
echo "Uso: $0 nombre_equipo"
|
||
exit
|
||
fi
|
||
|
||
|
||
hostip=$(avahi-browse -trpk -d local _workstation._tcp 2>/dev/null | grep 192.168.0. | grep -v '\-pro\|_pro' | grep $1.* | cut -d";" -f7,8 | sed 's/.local//' | sort | tail -1 )
|
||
host=$(echo $hostip | cut -d";" -f1)
|
||
ip=$(echo $hostip | cut -d";" -f2)
|
||
|
||
echo "Conectando a $host($ip)"
|
||
ssh -o StrictHostKeyChecking=no -o ConnectTimeout=9 -o ServerAliveCountMax=2 -o ServerAliveInterval=15 -i /var/lib/portatil/.ssh/id_rsa root@$ip
|
||
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_utilaula/files/apagado | ||
---|---|---|
#!/bin/bash
|
||
#Apaga el servidor de aula si no hay nadie logeado. Tambien apaga
|
||
#los ordenadores de los host conectados(Evita que se queden fritos
|
||
#algunos tipos de clientes ligeros como los Dominion)
|
||
#No tiene en cuenta si hay logeados alumnos
|
||
|
||
if ! who | grep -q "(:0)"; then
|
||
ejecutaenhosts "poweroff -f"
|
||
/sbin/shutdown -h now
|
||
fi
|
||
|
||
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_utilaula/leeme.txt | ||
---|---|---|
30/03/2011
|
||
Añadida funcionalidad apaga_clientes basada en 'ejecutaenhosts' para forzar
|
||
el apagado de los clientes cuando se apaga o reinicia el servidor del aula.
|
||
|
||
utilaula 0.5
|
||
|
||
Tarea de puppet que añade comandos que hace posible conectarse facilmente
|
||
a los ordenadores(portatiles o clientes ligeros) que estan encendidos en un
|
||
determinado momento en un aula desde el ordenador del profesor. Para instalar
|
||
la tarea solo hay que descomprimir en /etc/puppet/modules del servidor nfs y
|
||
añadirla a clase-especifica. Los comandos son los siguientes:
|
||
|
||
*listahosts: devuelve una lista de las máquinas conectadas(hostname e ip).
|
||
*conectahost: abre una sesión de ssh como root en la maquina que se le indique.
|
||
(No es necesario teclear el nombre entero,basta con los primeros caracteres)
|
||
*ejecutaenhosts: ejecuta el comando que se le pase como parámetro en todos los hosts
|
||
(Con el parametro -p se ejecuta en paralelo en todos los equipos)
|
||
*arreglosportatil: ejecuta los comandos de configuracion basica de los portatiles.
|
||
(mirar dentro del script para mas detalles)
|
||
*reincio: reincia el servidor de aula si no hay nadie logeado.
|
||
*apagado: apaga el servidor de aula si no hay nadie logeado
|
||
|
||
Ricardo Salgado Cid
|
||
IESO Galisteo
|
||
Febrero 2011
|
||
|
||
|
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_utilaula/changelog | ||
---|---|---|
16/02/11 v0.7 Corregidos permisos en la carpeta files
|
||
10/02/11 v0·6 Corregido bug(No se creaba la carpeta .ssh dentro del root de la imagen ltsp)
|
||
10/02/11 v0.5 Release incial
|
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_utilaula/manifests/init.pp | ||
---|---|---|
class ltsp_utilaula {
|
||
|
||
|
||
package { "finger":
|
||
ensure => latest,
|
||
}
|
||
|
||
user { "portatil":
|
||
uid => '900',
|
||
ensure => present,
|
||
home => '/var/lib/portatil',
|
||
managehome => true,
|
||
shell => '/bin/bash',
|
||
}
|
||
|
||
file {
|
||
|
||
"/etc/init.d/apaga_clientes":
|
||
owner => root, group => root, mode => 750,
|
||
source => "puppet:///ltsp_utilaula/apaga_clientes",
|
||
require => Package["finger"],
|
||
notify => Exec[crear_enlaces_ejecucion];
|
||
|
||
"/usr/bin/chequea_login":
|
||
owner => root, group => root, mode => 750,
|
||
source => "puppet:///ltsp_utilaula/chequea_login";
|
||
|
||
"/sbin/conectahost":
|
||
owner => root, group => root, mode => 750,
|
||
source => "puppet:///ltsp_utilaula/conectahost";
|
||
|
||
"/sbin/listahosts":
|
||
owner => root, group => root, mode => 750,
|
||
source => "puppet:///ltsp_utilaula/listahosts";
|
||
|
||
"/sbin/ejecutaenhosts":
|
||
owner => root, group => root, mode => 750,
|
||
source => "puppet:///ltsp_utilaula/ejecutaenhosts";
|
||
|
||
"/sbin/arreglosportatil":
|
||
owner => root, group => root, mode => 750,
|
||
source => "puppet:///ltsp_utilaula/arreglosportatil";
|
||
|
||
"/sbin/apagado":
|
||
owner => root, group => root, mode => 750,
|
||
source => "puppet:///ltsp_utilaula/apagado";
|
||
|
||
"/sbin/reinicio":
|
||
owner => root, group => root, mode => 750,
|
||
source => "puppet:///ltsp_utilaula/reinicio";
|
||
|
||
"/var/lib/portatil/.ssh":
|
||
owner => root, group => root, mode => 700,
|
||
require => User["portatil"],
|
||
ensure => directory;
|
||
|
||
"/var/lib/portatil/.ssh/id_rsa":
|
||
owner => root, group => root, mode => 600,
|
||
source => "puppet:///ltsp_utilaula/id_rsa",
|
||
require => File["/var/lib/portatil/.ssh"];
|
||
|
||
"/var/lib/portatil/.ssh/id_rsa.pub":
|
||
owner => root, group => root, mode => 600,
|
||
source => "puppet:///ltsp_utilaula/id_rsa.pub",
|
||
require => File["/var/lib/portatil/.ssh"],
|
||
before => File["/opt/ltsp/i386/root/.ssh/authorized_keys2"];
|
||
|
||
"/opt/ltsp/i386/root/.ssh/authorized_keys2":
|
||
owner => root, group => root, mode => 600,
|
||
source => "/var/lib/portatil/.ssh/id_rsa.pub",
|
||
notify => Exec["crear-imagen-utilaula"];
|
||
}
|
||
|
||
exec { "crear-imagen-utilaula":
|
||
command => "/usr/sbin/ltsp-update-image --arch i386",
|
||
refreshonly => true;
|
||
}
|
||
|
||
exec { "crear_enlaces_ejecucion":
|
||
command => "/usr/sbin/update-rc.d apaga_clientes stop 01 0 6 .",
|
||
refreshonly => true;
|
||
}
|
||
|
||
cron {
|
||
"chequea-login":
|
||
command => "/usr/bin/chequea_login",
|
||
user => root,
|
||
hour => '8-20',
|
||
minute => '*/2',
|
||
weekday => '1-5',
|
||
}
|
||
}
|
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_squid/LEEME | ||
---|---|---|
BREVE DESCRIPCION DE LA EJECUCION DEL MODULO
|
||
--------------------------------------------
|
||
|
||
Destino : Servidores de aula, e imagen de clientes.
|
||
|
||
Acción : Instalar squid y sarg en cada servidor de aula.
|
||
Instalar reglas para denegar https en ciertas páginas y eliminar virus de windows.
|
||
Configurar el cron del servidor de aula para que lance sarg cada hora
|
||
|
||
Notas : Se ejecutará un script inicial para capturar todos los servidores de aula
|
||
del centro, y colocarlos en squid como proxys hermanos.
|
||
Esto debería mejorar el ancho de banda de la red,
|
||
ya que cualquier página cacheada por algún servidor de aula podrá ser utilizada por el resto,
|
||
sin necesidad de acceso a internet.
|
||
|
||
|
||
INSTRUCCIONES DE INSTALACION DEL MODULO
|
||
---------------------------------------
|
||
|
||
Desempaquetar en /etc/puppet/modules
|
||
Incluir la linea include "nombre_modulo" en /etc/puppet/manifests/classes/clase-especifica.pp
|
||
|
||
------------------------------------------------
|
||
|
||
|
||
Creado por:
|
||
|
||
Antonio J. Abasolo Sierra
|
||
Administrador informático del IES Rodriguez Moñino.
|
||
15-Abril-2010
|
||
|
||
Modificado por:
|
||
|
||
Francisco Rodrigo López
|
||
Administrador informático del IES Javier García Téllez.
|
||
14-Noviembre-2012
|
||
|
||
Esteban M. Navas Martín
|
||
Administrador informático del IES Valle del Jerte.
|
||
12-Diciembre-2012
|
||
|
||
# Revisado: Esteban M. Navas Martín
|
||
# Fecha: 12/12/2012
|
||
# Corregido bug en script proxys_intermedios.sh para que busque el comienzo del nombre del servidor LTSP y
|
||
evitar que falle cuando el nombre de un equipo sea parte del de otro.
|
||
Se producía un error cuando había equipos con nombres: a01-pro dlengua01-pro, a02-pro dmatematicas02-pro...
|
||
# Modificada la tarea para que se reinicie squid cuando se modifiquen los archivos /etc/squid/squid.conf",
|
||
"/etc/squid/squid-cache.conf","/etc/squid/squid-cache-refresh.conf","/etc/squid/proxys_intermedios.sh"
|
||
|
||
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_squid/manifests/init.pp | ||
---|---|---|
# /etc/puppet/modules/ltsp_squid/manifests/init.pp
|
||
|
||
class ltsp_squid {
|
||
|
||
file { "/etc/network/interfaces.cable":
|
||
owner=>root, group=>root, mode=>644,
|
||
source=>"puppet:///ltsp_squid/interfaces.cable",
|
||
}
|
||
|
||
file { "/etc/cron.d/debian-edu-config":
|
||
owner=>root, group=>root, mode=>644,
|
||
source=>"puppet:///ltsp_squid/debian-edu-config",
|
||
notify => Exec["reiniciar-cron"],
|
||
}
|
||
|
||
file { "/etc/init.d/squid":
|
||
owner=>root, group=>root, mode=>755,
|
||
source=>"puppet:///ltsp_squid/squid",
|
||
notify => Exec["configurar-squid"],
|
||
}
|
||
|
||
file { "/etc/init.d/enable-local-proxy":
|
||
owner=>root, group=>root, mode=>755,
|
||
source=>"puppet:///ltsp_squid/enable-local-proxy",
|
||
notify => Exec["configurar-proxy"],
|
||
}
|
||
|
||
file { "/etc/init.d/enable-nat":
|
||
owner=>root, group=>root, mode=>755,
|
||
source=>"puppet:///ltsp_squid/enable-nat",
|
||
notify => Exec["configurar-nat"],
|
||
}
|
||
|
||
file {
|
||
"/etc/network/iptables":
|
||
owner=>root, group=>root, mode=>644,
|
||
source=>"puppet:///ltsp_squid/iptables",
|
||
notify => Exec["denegar-https"];
|
||
|
||
"/etc/init.d/deny_https_iptables":
|
||
owner=>root, group=>root, mode=>755,
|
||
source=>"puppet:///ltsp_squid/deny_https_iptables",
|
||
notify => Exec["denegar-https"],
|
||
}
|
||
|
||
file { "/etc/apt/sources.list.d/backports.list":
|
||
owner=>root, group=>root, mode=>644,
|
||
source=>"puppet:///ltsp_squid/backports.list",
|
||
}
|
||
|
||
exec { "configurar-squid":
|
||
path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
||
command => "update-rc.d -f squid remove && insserv squid",
|
||
require => File["/etc/init.d/squid"],
|
||
unless => "test -L /etc/rc2.d/S??squid",
|
||
}
|
||
|
||
exec { "denegar-https":
|
||
path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
||
command => "update-rc.d -f deny_https_iptables remove && insserv deny_https_iptables",
|
||
require => File["/etc/network/iptables","/etc/init.d/deny_https_iptables"],
|
||
unless => "test -L /etc/rc2.d/S??deny_https_iptables",
|
||
}
|
||
|
||
exec { "configurar-proxy":
|
||
path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
||
command => "update-rc.d -f enable-local-proxy remove && insserv enable-local-proxy",
|
||
require => File["/etc/init.d/enable-local-proxy"],
|
||
unless => "test -L /etc/rc2.d/S??enable-local-proxy",
|
||
}
|
||
|
||
exec { "configurar-nat":
|
||
path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
||
command => "update-rc.d -f enable-nat remove && insserv enable-nat",
|
||
require => File["/etc/init.d/enable-nat"],
|
||
unless => "test -L /etc/rc2.d/S??enable-nat",
|
||
}
|
||
|
||
exec { "instalar-sarg-squid-apache2":
|
||
path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
||
command => "apt-get update && dpkg --configure -a && apt-get -yf --force-yes install squid sarg apache2",
|
||
require => File["/etc/apt/sources.list.d/backports.list"],
|
||
unless => "test `dpkg -l | egrep 'apache2 | squid | sarg' | grep ii | wc -l` -eq 3",
|
||
}
|
||
|
||
file {
|
||
"/etc/squid/squid.conf":
|
||
owner=>root, group=>root, mode=>644,
|
||
source=>"puppet:///ltsp_squid/squid.conf",
|
||
require => Exec["instalar-sarg-squid-apache2"],
|
||
notify => Exec["reiniciar-squid"];
|
||
"/etc/squid/squid-cache.conf":
|
||
owner=>root, group=>root, mode=>644,
|
||
source=>"puppet:///ltsp_squid/squid-cache.conf",
|
||
require => Exec["instalar-sarg-squid-apache2"],
|
||
notify => Exec["reiniciar-squid"];
|
||
"/etc/squid/squid-cache-refresh.conf":
|
||
owner=>root, group=>root, mode=>644,
|
||
source=>"puppet:///ltsp_squid/squid-cache-refresh.conf",
|
||
require => Exec["instalar-sarg-squid-apache2"],
|
||
notify => Exec["reiniciar-squid"];
|
||
"/etc/sarg/sarg.conf":
|
||
owner=>root, group=>root, mode=>644,
|
||
source=>"puppet:///ltsp_squid/sarg.conf",
|
||
require => Exec["instalar-sarg-squid-apache2"],
|
||
notify => Exec["reiniciar-squid"];
|
||
"/etc/sarg/sarg-reports.conf":
|
||
owner=>root, group=>root, mode=>644,
|
||
source=>"puppet:///ltsp_squid/sarg-reports.conf",
|
||
require => Exec["instalar-sarg-squid-apache2"],
|
||
notify => Exec["reiniciar-squid"];
|
||
}
|
||
|
||
|
||
file {
|
||
"/etc/squid/acl":
|
||
require => Exec["instalar-sarg-squid-apache2"],
|
||
ensure => directory;
|
||
"/etc/squid/acl/accept_domains":
|
||
owner=>root, group=>root, mode=>644,
|
||
source=>"puppet:///ltsp_squid/acl/accept_domains",
|
||
require => Exec["instalar-sarg-squid-apache2"],
|
||
notify => Exec["reiniciar-squid"];
|
||
"/etc/squid/acl/accept_domains_extras":
|
||
owner=>root, group=>root, mode=>644,
|
||
ensure => file,
|
||
source=>"puppet:///ltsp_squid/acl/accept_domains_extras",
|
||
require => Exec["instalar-sarg-squid-apache2"],
|
||
notify => Exec["reiniciar-squid"];
|
||
"/etc/squid/acl/accept_hosts":
|
||
owner=>root, group=>root, mode=>644,
|
||
source=>"puppet:///ltsp_squid/acl/accept_hosts",
|
||
require => Exec["instalar-sarg-squid-apache2"],
|
||
notify => Exec["reiniciar-squid"];
|
||
"/etc/squid/acl/accept_winupdate":
|
||
owner=>root, group=>root, mode=>644,
|
||
source=>"puppet:///ltsp_squid/acl/accept_winupdate",
|
||
require => Exec["instalar-sarg-squid-apache2"],
|
||
notify => Exec["reiniciar-squid"];
|
||
"/etc/squid/acl/deny_domains":
|
||
owner=>root, group=>root, mode=>644,
|
||
source=>"puppet:///ltsp_squid/acl/deny_domains",
|
||
require => Exec["instalar-sarg-squid-apache2"],
|
||
notify => Exec["reiniciar-squid"];
|
||
"/etc/squid/acl/deny_files":
|
||
owner=>root, group=>root, mode=>644,
|
||
source=>"puppet:///ltsp_squid/acl/deny_files",
|
||
require => Exec["instalar-sarg-squid-apache2"],
|
||
notify => Exec["reiniciar-squid"];
|
||
"/etc/squid/acl/deny_hosts":
|
||
owner=>root, group=>root, mode=>644,
|
||
source=>"puppet:///ltsp_squid/acl/deny_hosts",
|
||
require => Exec["instalar-sarg-squid-apache2"],
|
||
notify => Exec["reiniciar-squid"];
|
||
"/etc/squid/acl/deny_words":
|
||
owner=>root, group=>root, mode=>644,
|
||
source=>"puppet:///ltsp_squid/acl/deny_words",
|
||
require => Exec["instalar-sarg-squid-apache2"],
|
||
notify => Exec["reiniciar-squid"];
|
||
"/etc/squid/acl/LEER":
|
||
owner=>root, group=>root, mode=>644,
|
||
source=>"puppet:///ltsp_squid/acl/LEER",
|
||
require => Exec["instalar-sarg-squid-apache2"],
|
||
notify => Exec["reiniciar-squid"];
|
||
"/etc/squid/acl/deny_https":
|
||
owner=>root, group=>root, mode=>644,
|
||
source=>"puppet:///ltsp_squid/acl/deny_https",
|
||
require => Exec["instalar-sarg-squid-apache2"],
|
||
|
||
}
|
||
|
||
file { "/etc/squid/proxys_intermedios.sh":
|
||
owner=>root, group=>root, mode=>755,
|
||
source=>"puppet:///ltsp_squid/proxys_intermedios.sh",
|
||
require => Exec["instalar-sarg-squid-apache2"],
|
||
notify => Exec["proxys_intermedios"],
|
||
}
|
||
|
||
exec { "proxys_intermedios":
|
||
path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
||
command => "/etc/squid/proxys_intermedios.sh",
|
||
require => [ Exec["instalar-sarg-squid-apache2"], File["/etc/squid/proxys_intermedios.sh"] ],
|
||
before => Exec["reiniciar-squid"],
|
||
creates => "/etc/squid/proxys_intermedios.conf",
|
||
}
|
||
|
||
exec { "reiniciar-cron":
|
||
path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
||
command => "/etc/init.d/cron restart",
|
||
require => File["/etc/cron.d/debian-edu-config"],
|
||
refreshonly => true,
|
||
}
|
||
|
||
exec { "reiniciar-squid":
|
||
path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
||
command => "/etc/init.d/squid restart && /etc/init.d/deny_https_iptables restart && /etc/init.d/enable-local-proxy restart && /etc/init.d/enable-nat restart",
|
||
require => File["/etc/squid/squid.conf","/etc/squid/squid-cache.conf","/etc/squid/squid-cache-refresh.conf"],
|
||
subscribe => File["/etc/squid/squid.conf","/etc/squid/squid-cache.conf","/etc/squid/squid-cache-refresh.conf","/etc/squid/proxys_intermedios.sh"],
|
||
refreshonly => true,
|
||
}
|
||
|
||
file { "/etc/apache2/conf.d/squid-reports":
|
||
owner=>root, group=>root, mode=>644,
|
||
source=>"puppet:///ltsp_squid/squid-reports",
|
||
require => Exec["instalar-sarg-squid-apache2"],
|
||
notify => Exec["reiniciar-apache2"],
|
||
}
|
||
|
||
exec { "reiniciar-apache2":
|
||
path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
||
command => "/etc/init.d/apache2 restart",
|
||
require => File["/etc/apache2/conf.d/squid-reports"],
|
||
refreshonly => true,
|
||
}
|
||
|
||
cron {
|
||
"sarg-diario":
|
||
command => "/usr/sbin/sarg-reports today",
|
||
user => root,
|
||
hour => '8-20',
|
||
minute => '30',
|
||
weekday => '1-5',
|
||
}
|
||
|
||
|
||
#FIN
|
||
}
|
||
|
||
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_squid/files/proxys_intermedios.conf.original | ||
---|---|---|
# -----------------------------------------------------------------------------------
|
||
# Proxys Intermedios PARAMETERS
|
||
# -----------------------------------------------------------------------------------
|
||
# Para identificar al proxy padre: debe ponerse la ip/host del gateway principal
|
||
cache_peer ldap parent 3128 3130 proxy-only
|
||
|
||
# Para identificar a proxy's hermanos: ip's de cada servidor de aula, menos él mismo
|
||
#cache_peer IP sibling 80 3130 proxy-only
|
||
|
||
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_squid/files/enable-local-proxy | ||
---|---|---|
#! /bin/sh
|
||
### BEGIN INIT INFO
|
||
# Provides: enable-squid
|
||
# Required-Start: $remote_fs $network apache2
|
||
# Should-Start: $network
|
||
# Required-Stop: $remote_fs
|
||
# Should-Stop: $network
|
||
# Default-Start: 2 3 4 5
|
||
# Default-Stop: 0 1 6
|
||
# Short-Description: Enabling REDIRECT the web port to squid port
|
||
# Description: Enabling REDIRECT the web port to squid port
|
||
#
|
||
### END INIT INFO
|
||
|
||
IPTABLES=/sbin/iptables
|
||
SQUID=/usr/sbin/squid
|
||
#selecciona la tarjeta de entrada según la configuracion de interfaces
|
||
[ -n "`grep iface /etc/network/interfaces|grep wlan0`" ] && INSIDE_IF=wlan0 || INSIDE_IF=eth0
|
||
|
||
#-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
|
||
|
||
# Only enable by default if LTSP or lessdisks is installed
|
||
if [ -e /opt/ltsp -o -d /var/lib/lessdisks ] ; then
|
||
if [ -x $SQUID ]; then SQUID_PORT="3128"; fi
|
||
fi
|
||
|
||
# Bail out if no iptables binary or no configuration
|
||
[ -x ${IPTABLES} -a "$SQUID_PORT" ] || exit 0
|
||
|
||
do_status() {
|
||
$IPTABLES -L -t nat |grep -A3 PREROUTING
|
||
}
|
||
|
||
is_enabled() {
|
||
if do_status | grep "$SQUID_PORT" ; then
|
||
true
|
||
else
|
||
false
|
||
fi
|
||
}
|
||
|
||
do_start() {
|
||
if is_enabled ; then
|
||
echo "REDIRECT the web port (80) to squid port ($SQUID_PORT) already enabled."
|
||
else
|
||
echo "Enabling REDIRECT the web port (80) to squid port ($SQUID_PORT)."
|
||
$IPTABLES -t nat -A PREROUTING -i $INSIDE_IF -p tcp -m tcp --dport 80 -j REDIRECT --to-ports $SQUID_PORT
|
||
fi
|
||
|
||
do_status
|
||
}
|
||
|
||
do_stop() {
|
||
if is_enabled ; then
|
||
echo "Disabling REDIRECT the web port (80) to squid port ($SQUID_PORT)."
|
||
#$IPTABLES -F -t nat
|
||
$IPTABLES -t nat -D PREROUTING -i $INSIDE_IF -p tcp -m tcp --dport 80 -j REDIRECT --to-ports $SQUID_PORT
|
||
else
|
||
echo "REDIRECT the web port (80) to squid port ($SQUID_PORT) already disabled."
|
||
fi
|
||
do_status
|
||
}
|
||
|
||
case "$1" in
|
||
start)
|
||
do_start
|
||
;;
|
||
stop)
|
||
do_stop
|
||
;;
|
||
restart|force-reload)
|
||
do_stop
|
||
do_start
|
||
;;
|
||
status)
|
||
do_status
|
||
;;
|
||
*)
|
||
echo "Usage: $0 {start|stop|restart|force-reload|status}"
|
||
exit 2
|
||
;;
|
||
esac
|
||
exit 0
|
||
|
||
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_squid/files/acl/LEER | ||
---|---|---|
Configuración de squid.conf
|
||
---------------------------
|
||
|
||
Entre otras cosas en esta configuración se está:
|
||
|
||
* Denegando el uso de internet explorer
|
||
* Se prohibe el messenger.
|
||
* Se permite, expresamente, la actualización de los windows (accept_windowsupdate)
|
||
* Se limita el tráfico web al horario de 08 a 23, de Lunes a viernes. (opcional)
|
||
|
||
* Se controla, mediante una lista de ip's (accept_hosts), que equipos pueden saltarse todas las restricciones que se indican a continuación:
|
||
|
||
* Se controla el acceso a dominios (accept_domains, deny_domains)
|
||
* Se controla el acceso a dominios de forma extraordinaria (accept_domains_extras)
|
||
* Se controla el acceso a ficheros con ciertas extensiones (deny_files).
|
||
* Se controla el acceso a urls con ciertas palabras (deny_words).
|
||
* Se controla el acceso a urls seguras no permitidas (deny_https).
|
||
|
||
|
||
Descripción del contenido de los ficheros de ACL:
|
||
------------------------------------------------
|
||
|
||
* El fichero "accept_hosts", debe contener las ip's de todos los equipos a los que le vamos a permitir acceso no restringido, que en principio está destinado para todos los equipos administrativos: ip's hasta la 31 (de nuestro propio rango), y para los equipos de profesores (aulas y departamentos).
|
||
Es decir, a los equipos con estas ip's no se les aplicaran las reglas asociadas a los siguientes ficheros aquí comentados.
|
||
|
||
* El fichero "deny_hosts", debe contener las ip's de todos los equipos a los que le NO queremos que navegen por Internet
|
||
|
||
* El fichero "accept_domains", contiene direcciones web completas a las que deseamos permitir el acceso totalmente, y sobre las que no deseamos que se apliquen las reglas de filtrado. Es útil para aquellos dominios webs que contienen contenidos que se deben filtrar, pero que por tratarse de páginas educativas no debe hacerse. A las direcciones webs aquí incluidas no se les aplicará ningún tipo de filtrado de contenidos. Ej. juntaex.es, mec.es
|
||
|
||
* El fichero "deny_domains", contiene direcciones o dominios webs completos a los que deseamos denegar el acceso (excepto para equipos permitidos). Ej. minijuegos.com
|
||
|
||
* El fichero "deny_files", contiene extensiones de archivos a los que les vamos a denegar la descarga o tratamiento, por lo cual este tipo de archivos no serán accesibles (excepto para equipos permitidos). Ej. .avi, .mp3
|
||
|
||
* El fichero "deny_words", contiene las palabras o cadenas que no deben aparecer en las URL's que se pueden visitar. Es decir, cuando se intente acceder a páginas webs en cuya URL aparezca alguna de estas cadenas de texto, se le denegará el acceso (excepto para equipos permitidos). Ej. juegos
|
||
|
||
* El fichero "deny_https", contiene las urls seguras que no están permitidas a los alumnos. El control está realizado mediante iptables. Ej. tuenti
|
||
|
||
tareas_puppet/comunes/servidores_aula/squeeze/ltsp_squid/files/acl/accept_domains | ||
---|---|---|
# Junta Extremadura
|
||
.gobex.es
|
||
.juntaex.es
|
||
.juntaextremadura.net
|
||
.educarex.es
|
||
# Organismos
|
||
.mec.es
|
||
.aeat.es
|
||
.seg-social.es
|
Exportar a: Unified diff
Reordenacion puppet-comunes