Català  

Servidor proxy

De Guifi.net - Wiki Hispano

Proxy Manual Corto

¿Que es Guifi-proxy3?

Guifi-proxy3 es la ampliación del paquete guifi-proxy, creado por Carles Guaall, más un conjunto de configuraciones para tal de conseguir un proxy federado-cache en el momento de finalizar el asistente de configuración.

Creación del servicio en la web de guifi

Previamente tendremos que haber añadido un dispositivo tipo servidor en nuestro supernodo y asignarle una IP de guifi (dispositivo del supernodo > editar > sección de conexiones por cable > Rango de IPs destinado a los servers (se crea si no existe) > enchufe > Enlaza un dispositivo > create > Guardar y continuar modificando.

  1. Crear contenido
  2. servicio guifi.net
    1. Service name: Servidor Proxy de XXXXXX
    2. Nombre corto: NOMCortoSupernode-PROXY
    3. Contactar: mail de contacto del administrador
    4. Dispositivo: empezamos a escribir el nombre de nuestro servidor y van a salir el nombre de los servidores que empiezan así
    5. Servicio: Acceso a Internet a través d'un Proxy
    6. Estado: Estado del servicio
  3. Guardar

Una vez Guardado volvemos a modificar y cambiamos los valores:

  1. Proxy Parámetros:
    1. Descargar: Ancho de banda de bajada
    2. Subida: Ancho de banda de subida
  2. Federación del proxy:
    1. Permitir a los usuarios acceder desde proxys OUT federated
    2. Permitir a los usuarios acceder desde proxys IN federated
  3. Nombre: IP o resolución interna del proxy
  4. Puerto: Puerto del proxy (normalmente 3128)
  5. Tipo: Normalmente HTTP
  6. Guardar

¿Cómo se instala?

Entramos por ssh a la máquina que vamos a destinar como servidor proxy y añadimos los repositorios de apt de guifi:

# apt-get install guifi-proxy3

Configuración del guifi-proxy3

Durante el proceso de instalación se piden los parametros:

  • nº del nodo del servidor proxy (numero de nodo del servicio proxy en la web)
  • nombre del servidor proxy (display que sale a los clientes que usen vuestro servidor proxy antes de empezar a navegar)
  • e-mail de contacto. Es el correo que aparece a las páginas de error que muestra el squid.
  • idioma de las páginas de error de squid Pues esto, dependiendo del idioma que definas las páginas de error saldran en un idioma u otro.
  • espacio de disco par almacenar cache. (/var/spool/squid3)
  • cantidad de memoria RAM dedicada a la cache.

Al terminar este asistente (hay valores por defecto, por si hay dudas) ya tendrás un servidor proxy-cache federado a punto de ser usado, si no se quiere no se tiene que añadir ninguna otra configuración [ver más abajo].


¿Cómo queda organizada la configuración de squid?

Al finalizar el asistente tendremos estos ficheros:

  • /etc/squid3/squid.conf [NO TOCAR/EDITAR] --> configuración estàndard
  • /etc/squid3/guifi.conf [NO TOCAR/EDITAR] --> configuración generada durante el proceso de instalación de guifi-proxy3
  • /etc/squid3/custom.conf --> fichero reservado para las configuraciones de los administradores del server proxy (por ejemplo las acl que cortan megaupload y demás)

Configuraciones avanzadas

Permitir conexiones de servicios de mensajería

Esto se añade al fichero custom.conf

# Allow AIM protocols
acl AIM_ports port 5190 9898 6667
acl AIM_domains dstdomain .oscar.aol.com .blue.aol.com .freenode.net
acl AIM_domains dstdomain .messaging.aol.com .aim.com
acl AIM_hosts dstdomain login.oscar.aol.com login.glogin.messaging.aol.com toc.oscar.aol.com irc.freenode.net
acl AIM_nets dst 64.12.0.0/255.255.0.0
acl AIM_methods method CONNECT
http_access allow AIM_methods AIM_ports AIM_nets
http_access allow AIM_methods AIM_ports AIM_hosts
http_access allow AIM_methods AIM_ports AIM_domains

# Allow Yahoo Messenger
acl YIM_ports port 5050
acl YIM_domains dstdomain .yahoo.com .yahoo.co.jp
acl YIM_hosts dstdomain scs.msg.yahoo.com cs.yahoo.co.jp
acl YIM_methods method CONNECT
http_access allow YIM_methods YIM_ports YIM_hosts
http_access allow YIM_methods YIM_ports YIM_domains

# Allow GTalk
acl GTALK_ports port 5222 5050
acl GTALK_domains dstdomain .google.com
acl GTALK_hosts dstdomain talk.google.com
acl GTALK_methods method CONNECT
http_access allow GTALK_methods GTALK_ports GTALK_hosts
http_access allow GTALK_methods GTALK_ports GTALK_domains

# Allow jabber.org
acl jabber_ports port 5222 5050
acl jabber_domains dstdomain .jabber.org .marsupi.org .guifi.net
acl jabber_hosts dstdomain hermes.jabber.org
acl jabber_methods method CONNECT
http_access allow jabber_methods jabber_ports jabber_hosts
http_access allow jabber_methods jabber_ports jabber_domains

# Allow MSN
acl MSN_ports port 1863 443 1503
acl MSN_domains dstdomain .microsoft.com .hotmail.com .live.com .msft.net .msn.com .passport.com
acl MSN_hosts dstdomain messenger.hotmail.com
acl MSN_nets dst 207.46.111.0/255.255.255.0
acl MSN_methods method CONNECT
http_access allow MSN_methods MSN_ports MSN_hosts
http_access allow MSN_methods MSN_ports MSN_domains
http_access allow MSN_methods MSN_ports MSN_nets

# Permit IRC
acl IRC_ports port 6667
acl IRC_domains dstdomain .freenode.net .guifi.net
acl IRC_hosts dstdomain  irc.freenode.net
acl IRC_methods method CONNECT
http_access allow IRC_methods IRC_ports IRC_hosts
http_access allow IRC_methods IRC_ports IRC_domains

Proxy para vídeos

http://perufw.wordpress.com/2012/04/07/instalando-haarpcache-v1-0/

Proxy Socks

Proxy_socks

Cambiar formato de hora en access.log

Por defecto, en el archivo de logs de Squid aparece la hora en formato Unix. Para hacerlo más legible, podemos ejecutar el siguiente script, que hace la conversión de horario, i nos graba una copia en /var/log/squid/accessUTM.log:

#!/bin/bash
CUENTALINEAS=`sed -n '$=' /var/log/squid/access.log`
echo "[*] access.log te "$CUENTALINEAS" linies"
echo "Preparant la transformacio a temps UTM..."
sleep 3
echo > /tmp/access.log
for (( i=1; i<($CUENTALINEAS+1); i++ ))
do
sed -n "$i"'p' /var/log/squid/access.log > /tmp/timestamp
TEMPS_STM=`cut -c -14 /tmp/timestamp`
TEMPS_UTM=`date -d @$TEMPS_STM`
sed 's/'"$TEMPS_STM"'/'"$TEMPS_UTM"'/' /tmp/timestamp >> /tmp/access.log
clear
echo "Modificant  /tmp/access.log"
echo $i " de " $CUENTALINEAS " linies."
done
echo > /tmp/timestamp
cp /tmp/access.log /var/log/squid/accessUTM.log
echo > /tmp/access.log
exit 0
Herramientas personales