Proxy socks

De Guifi.net - Wiki Hispano

Proxy Socks

Algunos servicios como el correo electrónico no los podemos redirigir 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).

Referencias

Autenticación con Dante

guifi-proxysocks

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
# SFelDCproxy1 - Sant Feliu de Codines (Valles Oriental, Barcelona)
# http://guifi.net/node/51756
0.0.0.0 any 10.140.150.196 1080
# SFelDCproxy2 - Sant Feliu de Codines (Valles Oriental, Barcelona)
# http://guifi.net/node/55511
0.0.0.0 any 10.140.150.227 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

Herramientas personales