Instalación y Configuracion del Servidor Caché desde cero
Sumario
- 1 Instalar gdebi
- 2 Configuración de las IPs
- 3 Configuración como gateway
- 4 Configuración del apt-mirror
- 5 Instalación y configuración del cliente migasfree
- 6 Instalación y configuración del servicio DHCP
- 7 Instalación y configuración del servicio NFS
- 8 Instalación y configuración del servicio LDAP (cliente y servidor)
- 9 Instalación y configuración del servicio DNS Caché
- 10 Instalación y configuración del servicio Proxy HTTP Caché
- 11 Configuración de ACLs
- 12 Configuración de Cuotas (recursos compartidos y perfiles)
Instalar gdebi
Para la instalación de paquetes que se han descargado localmente, de tal forma que tenga en cuenta la instalación de las dependencias:
# apt-get install gdebi
Configuración de las IPs
La interfaz eth0 tendrá un par de alias: “eth0:1” al cual le asociaremos una IP reconocible, independientemente de la intranet en la que nos encontremos, y “eth0:2” que tendrá una configuración para poder trabajar en el CAREI. Una vez montado un clon del Caché, será necesario editar el archivo para eliminar la eth0:2 y asignar la gw y dns-nameservers correspondientes en eth0:
# nano /etc/network/interfaces
auto eth0 iface eth0 inet static address 172.30.1.249 netmask 255.255.255.0 network 172.30.1.0 broadcast 172.30.1.255
auto eth0:1 iface eth0:1 inet static address 192.168.60.254 netmask 255.255.255.0
iface eth0:2 inet static address 1.34.1.243 netmask 255.255.255.0 network 1.34.1.0 broadcast 1.34.1.255 gateway 1.34.1.251 dns-nameservers 127.0.0.1
Configuración como gateway
Para ello dos cosas, (1) permitir el reenvío de paquetes y (2) enmascarar los paquetes:
# nano /etc/sysctl.conf net.ipv4.ip_forward=1
# echo "iptables -t nat -A POSTROUTING -j MASQUERADE" >> /etc/init.d/rc.local
Configuración del apt-mirror
# apt-get install apt-mirror
# nano /etc/apt/mirror.list
…
deb http://migasfree.educa.aragon.es/vx-edu/repos/ubuntu precise main restr icted universe multiverse deb http://migasfree.educa.aragon.es/vx-edu/repos/ubuntu precise-security m ain restricted universe multiverse deb http://migasfree.educa.aragon.es/vx-edu/repos/ubuntu precise-updates ma in restricted universe multiverse deb http://migasfree.educa.aragon.es/vx-edu/repos/vitalinux BASE PKGS deb http://migasfree.educa.aragon.es/vx-edu/repos/migasfree ubuntu-12.04 PK GS deb http://migasfree.educa.aragon.es/vx-edu/repos/v-box precise contrib deb http://migasfree.educa.aragon.es/vx-edu/repos/dropbox precise main
deb-amd64 http://migasfree.educa.aragon.es/vx-edu/repos/ubuntu precise main restricted universe multiverse deb-amd64 http://migasfree.educa.aragon.es/vx-edu/repos/ubuntu precise-secu rity main restricted universe multiverse deb-amd64 http://migasfree.educa.aragon.es/vx-edu/repos/ubuntu precise-upda tes main restricted universe multiverse deb-amd64 http://migasfree.educa.aragon.es/vx-edu/repos/vitalinux BASE PKGS deb-amd64 http://migasfree.educa.aragon.es/vx-edu/repos/migasfree ubuntu-12 .04 PKGS deb-amd64 http://migasfree.educa.aragon.es/vx-edu/repos/v-box precise contr ib deb-amd64 http://migasfree.educa.aragon.es/vx-edu/repos/dropbox precise mai n
clean http://migasfree.educa.aragon.es/vx-edu/repos
Para actualizar el apt-mirror manualmente:
# apt-mirror
Tras configurar Apache adecuadamente para dar servicio a la paquetería (el caché tiene instalado un server de 32bits):
# nano /etc/apt/sources.list deb http://127.0.0.1/vx-edu/repos/ubuntu precise main restricted universe m ultiverse deb http://127.0.0.1/vx-edu/repos/ubuntu precise-security main restricted u niverse multiverse deb http://127.0.0.1/vx-edu/repos/ubuntu precise-updates main restricted un iverse multiverse deb http://127.0.0.1/vx-edu/repos/vitalinux BASE PKGS deb http://127.0.0.1/vx-edu/repos/migasfree ubuntu-12.04 PKGS deb http://127.0.0.1/vx-edu/repos/v-box precise contrib deb http://127.0.0.1/vx-edu/repos/dropbox precise main
Antes de actualizar los repositorios:
wget -qO - http://migasfree.vitalinux.org/get_key_repositories | apt-key add - || : gpg --keyserver subkeys.pgp.net/pgp.mit.edu --recv-keys 54422A4B98AB5139 gpg --export --armor 54422A4B98AB5139 | sudo apt-key add - gpg --keyserver pgp.mit.edu --recv-keys FC918B335044912E gpg --export --armor FC918B335044912E | sudo apt-key add -
Y finalmente actualizamos repositorios para poder instalar lo que necesitemos:
# apt-get update
Instalación y configuración del cliente migasfree
# gdebi migasfree-client_4.5-1_all.deb
Ahora configuramos el cliente:
# nano /etc/migasfree.conf [client] Server = migasfree.educa.aragon.es Version = Ubuntu-12.04-cliente
Registramos el cliente migasfree en el servidor:
# migasfree -u
Ahora deberíamos ir al servidor migasfree y asociarle la etiqueta de “ROL-CACHE”, para así asociarle los repositorios necesarios. Tras hacerlo, para la comprobación de la asignación:
root@servidor-cache-1:~# migasfree-tags -g "ROL-CACHE"
Instalación y configuración del servicio DHCP
# apt-get install dhcp3-server
# nano /etc/default/isc-dhcp-server INTERFACES="eth0"
# nano /etc/dhcp/dhcpd.conf subnet 172.30.1.0 netmask 255.255.255.0 { range 172.30.1.150 172.30.1.180; option routers 172.30.1.251; option domain-name-servers 172.30.1.249, 8.8.8.8, 195.55.130.247; option subnet-mask 255.255.255.0; option broadcast-address 172.30.1.255; default-lease-time 600; max-lease-time 7200; #filename "/webserver/pxelinux.0"; }
# dhcpd -t # /etc/init.d/isc-dhcp-server restart
Instalación y configuración del servicio NFS
El servidor Caché se encarga de al menos compartir dos recursos vía NFS:
Las carpetas que compartirán profesor y alumnos. Los directorios HOME de los alumnos (perfiles móviles).
Para ello:
# apt-get install nfs-server nfs-kernel-server rpcbind
Después creamos las carpetas a compartir (para el ejemplo puede que haya o no disco duro externo para el almacenamiento de los datos y perfiles), y las exportamos:
# mount /dev/sdb1 /nfs # mkdir /nfs/alumnos /nfs/profesor /nfs/perfiles # nano /etc/exports
/nfs/alumnos *(rw,sync,no_subtree_check,no_root_sq uash) /nfs/profesor *(rw,sync,no_subtree_check,no_root_s quash) /nfs/perfiles *(rw,sync,no_subtree_check,no_root_squash)
Por último, reiniciamos el servicio y comprobamos la correcta exportación:
# /etc/init.d/nfs-kernel-server restart # showmount -e Export list for servidor-cache-1: /nfs/perfiles * /nfs/alumnos * /nfs/profesor *
Damos permisos al usuario que iniciará sesión en el cliente (para el ejemplo aún no tenemos en cuenta que los usuarios serán usuarios del servicio LDAP):
# setfacl -Rm u:usuario-cliente:rwx /home/arturo
Instalación y configuración del servicio LDAP (cliente y servidor)
Instalamos el software que ofrecerá el servicio LDAP:
# apt-get install slapd ldap-utils
Para configurar el LDAP y los servicios a los que va a dar servicio LDAP:
# apt-get install libnss-ldapd
Para reconfigurar los parametros de configuración:
# dpkp-reconfigure sladp # dpkg-reconfigure libnss-ldapd # dpkg-reconfigure libpam-ldapd
Para hacer un volcado de toda la base de datos LDAP, y permitir su posterior restauración:
# slapcat
Instalación y configuración del servicio DNS Caché
Para ello simplemente instalar el bind9:
# apt-get install bind9
Instalación y configuración del servicio Proxy HTTP Caché
# apt-get install squid3
# nano /etc/squid3/squid.conf visible_hostname transproxy http_port 3128 transparent
cache_dir ufs /var/spool/squid3 1000 16 256 cache_mem 32 MB maximum_object_size_in_memory 128 MB
access_log /var/log/squid3/access.log cache_log /var/log/squid3/cache.log cache_store_log /var/log/squid3/store.log
acl cualquier-maquina src all ## Definición de ACLs para filtrar URLs de determinados sitios Web: acl websprohibidas1 dstdomain "/etc/squid3/websprohibidas1.dat" acl websprohibidas2 url_regex "/etc/squid3/websprohibidas2.dat" # Filtrado en base a las ACLs definidas anteriormente: http_access allow cualquier-maquina !websprohibidas1 !websprohibidas2
Por último redireccionamos el tráfico HTTP hacia el puerto del Proxy 3128:
# iptables -t nat -A PREROUTING -s 172.30.0.0/16 -p tcp --dport 80 \ -j REDIRECT --to-port 3128 # iptables -t nat -A PREROUTING -s 172.30.0.0/16 -p udp --dport 80 \ -j REDIRECT --to-port 3128 # squid3 -k check # squid3 -k parse && /etc/init.d/squid3 restart
Configuración de ACLs
Para ello simplemente instalar el bind9
Configuración de Cuotas (recursos compartidos y perfiles)
Para ello simplemente instalar el bind9
Y probando...