Español  

Proxy socks/ca

De Guifi.net - Wiki Català

Proxy Socks

Alguns serveis com el correu electrònic no els podem redirigir directament cap a un proxy http (squid). En aquests casos podem fer servir un altre tipus de proxy: el proxy socks. El podem instal·lar a qualsevol servidor que tingui sortides cap a Internet i cap a Guifi.net, amb una o dues ethernet.

Configuració a la web de guifi.net

Configuració del proxy socks Dante amb Debian

apt-get update && apt-get install dante-server

Editem l'arxiu /etc/danted.conf.

Configuració del servei

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


Aquesta configuració seria en el cas de que tinguessim a eth0 la sortida cap a Guifi.net, i a eth1 la sortida cap a Internet. S'ha de modificar segons es tingui configurada la xarxa al vostre servidor. En cas d'accedir a Internet i a Guifi.net per la mateixa interfície, el valor d'internal i external sera el mateix (p.e. eth0). Recordeu de fer la redirecció del port 1080 a l'antena cap al servidor, i/o obrir-lo al router.

Conexions dels clients

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
}

Conexions per ports i protocols

# 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 servei l'iniciem amb:

/etc/init.d/danted start

Qualsevol client de correu que es pugui configurar per fer servir proxy socks v5 hauria de funcionar. Provat exitosament amb Thunderbird (a Windows, Linux i Mac osX).

Registre de conexions al proxy

Per poder controlar les conexions que es fan al proxy socks, podem fer servir aquest script:

#!/bin/bash
NUMS_PIDS_DANTED=$(pidof danted)
kill -s 10 $NUMS_PIDS_DANTED
exit 0

El guardem com dantelog.sh, p.e. a /usr/local/bin/ , li donem permissos d'execució i l'executem a intervals (p.e. 1 hora) des del cron:

vim /usr/local/bin/dantelog.sh
chmod u+x /usr/local/bin/dantelog.sh
crontab -e

i afegim la linia:

 @hourly sh /usr/local/bin/dantelog.sh

Podem veure el registre a /var/log/danted.log

Referències

Autenticació amb Dante

LDAP

Per realitzar una consulta d'un usuari de proxy al LDAP, primer configurem LDAP perquè validi contra guifi:

Al fitxer /etc/ldap/ldap.conf afegim:

 BASE    dc=guifi,dc=net
 URI     ldaps://ldap.guifi.net/ ldaps://ldap2.guifi.net/
 TLS_REQCERT never

Fem una consulta del tipus:

 ldapsearch -x -W -D "uid=nom.cognom,o=proxyusers,dc=guifi,dc=net" -b "o=proxyusers,dc=guifi,dc=net" -H ldaps://ldap.guifi.net/ "(cn=nom.cognom)"
 Enter LDAP Password:

guifi-proxysocks

Configuració d'un socks relay

En algunes instal·lacions pot convenir tenir un proxy local que sigui l'encarregat de gestionar una llista dels proxys disponibles, per no haver de modificar un alt nombre de màquines quan el proxy principal estigui caigut.

Tenim disponible, per varis sistemes operatius, el paquet srelay, que ens permet fer aquest tipus d'instal·lació.

Instal·lació

(FreeBSD 8.1R, Solaris 8, 10, Linux-i386, MacOS 10.5)

Descarreguem el codi font de la web. Descomprimim l'arxiu i seguim les instruccions de l'arxiu INSTALL, segons quin sistema operatiu estem fent servir. Normalment (si no necessitem cap configuració especial) l'instal·larem amb:

./configure
make

(OpenWRT)

opkg update && opkg install srelay

Configuració

Editem l'arxiu /etc/srelay.conf amb el següent contingut:

# 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

Editem el rang de xarxa local segons correspongui, i modifiquem l'ordre dels proxys segons la proximitat geogràfica a l'ubicació del nostre servidor.

Amb aquesta configuració tindrem escoltant al port 1080 del servidor el srelay, que s'encarregarà de redirigir cap al primer proxy que trobi disponible les peticions dels clients de correu (srelay llegeix srelay.conf de dalt a baix). Els clients de correu s'han de configurar amb l'IP i port del servidor local.

Nota important: A zones aïllades (no conectades a la totalitat de la xarxa guifi.net) on nomès hi hagi un ùnic servidor proxy socks, NO es necessària la configuració d'un relay.

guifi-socksrelay


<< Tornar a Servidor Proxy

Eines de l'usuari