Proxy socks
De Guifi.net - Wiki Hispano
Contenido
Proxy Socks
Algunos servicios como el correo electrónico no los podemos redirigir directamente hacia un proxy http (squid). En estos casos podemos utilizar otro tipo de proxy: el proxy socks. Lo podemos instalar en cualquier servidor que tenga salidas hacia Internet y hacia Guifi.net, con una o dos tarjetas de red.
Configuración en la web de guifi.net
Configuración del proxy socks Dante con Debian
apt-get update && apt-get install dante-server
Editamos el archivo /etc/danted.conf.
Configuración del servicio
logoutput: /var/log/danted.log
internal: eth0 port = 1080
external: eth1
method: username none
user.privileged: proxy
user.notprivileged: nobody
user.libwrap: nobody
connecttimeout: 30
iotimeout: 30000
Esta configuración sería válida para el caso de que tuviésemos en eth0 la salida hacia Guifi.net, y en eth1 la salida hacia Internet. Se debe modificar según esté configurada la red en vuestro servidor.
En caso de acceder a Internet y a Guifi.net por la misma interfaz, el valor de internal y external será el mismo (p.e. eth0).
Recordad de hacer la redirección del puerto 1080 en la antena hacia el servidor, y/o abrirlo en el router.
Conexiones de los clientes
client pass { from: 10.0.0.0/8 port 1-65535 to: 0.0.0.0/0 } client block { from: 0.0.0.0/0 to: 0.0.0.0/0 log: connect error }
Conexiones por puertos y protocolos
# permitir http (comentado porque vamos a usar squid para el http) #pass { # from: 10.0.0.0/8 to: 0.0.0.0/0 port = 80 #} #imap pass { from: 10.0.0.0/8 to: 0.0.0.0/0 port = 143 } pass { from: 10.0.0.0/8 to: 0.0.0.0/0 port = 993 } #pop pass { from: 10.0.0.0/8 to: 0.0.0.0/0 port = 110 } pass { from: 10.0.0.0/8 to: 0.0.0.0/0 port = 995 } #smtp pass { from: 10.0.0.0/8 to: 0.0.0.0/0 port = 25 } pass { from: 10.0.0.0/8 to: 0.0.0.0/0 port = 587 } pass { from: 10.0.0.0/8 to: 0.0.0.0/0 port = 465 } block { from: 0.0.0.0/0 to: 0.0.0.0/0 log: connect error disconnect }
El servicio lo iniciamos con:
/etc/init.d/danted start
Cualquier cliente de correo que se pueda configurar para utilizar proxy socks v5 debería funcionar. Probado con éxito con Thunderbird (en Windows, Linux y Mac osX).
Registro de conexiones al proxy
Para poder controlar las conexiones que se hacen al proxy socks, podemos utilizar este script:
#!/bin/bash NUMS_PIDS_DANTED=$(pidof danted) kill -s 10 $NUMS_PIDS_DANTED exit 0
Lo guardamos como dantelog.sh, p.e. en /usr/local/bin/, le damos permisos de ejecución, y lo ejecutamos a intervalos (p.e. 1 hora) desde el cron:
vim /usr/local/bin/dantelog.sh chmod u+x /usr/local/bin/dantelog.sh crontab -e
y añadimos la línea:
@hourly sh /usr/local/bin/dantelog.sh
Podemos ver el registro en /var/log/danted.log
Referencias
Autenticación con Dante
guifi-proxysocks
- guifi-proxysocks (en desarrollo)
Configuración de un socks relay
En algunas instalaciones puede convenir tener un proxy local que sea el encargado de gestionar una lista de los proxys disponibles, para no tener que modificar un elevado número de máquinas cuando el proxy principal esté caido.
Tenemos disponible, para varios sistemas operativos, el paquete srelay, que nos permite hacer este tipo de instalación.
Instalación
(FreeBSD 8.1R, Solaris 8, 10, Linux-i386, MacOS 10.5)
Descargamos el código fuente de la web. Descomprimimos el archivo y seguimos las instrucciones del archivo INSTALL, según qué sistema operativo estemos utilizando. Normalmente (si no necesitamos ninguna configuración especial), lo instalaremos con:
./configure make
(OpenWRT)
opkg update && opkg install srelay
Configuración
Editamos el archivo /etc/srelay.conf con el siguiente contenido:
# Listado global de todos los servicios publicos en Guifi.net: # http://guifi.net/ca/node/3671/view/services # Subred local con acceso al relay 192.168.1.0/24 any - # Cadena de proxy socks de guifi.net # Se recomienda ordenar por proximidad geografica # dest[/mask] port proxy proxy-port # SFelDCproxy2 - Sant Feliu de Codines (Valles Oriental, Barcelona) # http://guifi.net/node/55511 0.0.0.0 any 10.140.150.227 1080 # SFelDCproxy1 - Sant Feliu de Codines (Valles Oriental, Barcelona) # http://guifi.net/node/46911 0.0.0.0 any 10.140.150.42 1080 # Proxy socks BCNRossello208 - (Barcelones, Barcelona) # http://guifi.net/node/40880 0.0.0.0 any 10.228.192.210 1080 # ProxyTRSASantMateu39 - Terrassa (Valles Occidental, Barcelona) # http://guifi.net/node/36194 0.0.0.0 any 10.139.61.67 1080 # BCNOnzeSetembre11 - (Barcelones, Barcelona) # http://guifi.net/node/53577 0.0.0.0 any 10.139.7.4 1080
Editamos el rango de red local según corresponda, y modificamos el orden de los proxys según la proximidad geográfica a la ubicación de nuestro servidor.
Con esta configuración tendremos escuchando en el puerto 1080 del servidor el srelay, que se encargará de redirigir hacia el primer proxy que encuentre disponible las peticiones de los clientes de correo (srelay lee srelay.conf de arriba a abajo). Los clientes de correo se han de configurar con la IP y puerto del servidor local.
Nota importante: En zonas aisladas (no conectadas a la totalidad de la red guifi.net) donde solamente haya un único servidor proxy socks, NO es necesaria la configuración de un relay.
guifi-socksrelay
- guifi-socksrelay (en desarrollo)