Español  

Proxy socks/ca: Diferència entre les revisions

De Guifi.net - Wiki Català

(Configuració del proxy socks Dante amb Debian)
m (Al ha mogut Proxy socks a Proxy socks/ca)
 
(Hi ha 27 revisions intermèdies sense mostrar fetes per 4 usuaris)
Línia 1: Línia 1:
 
= Proxy Socks =
 
= Proxy Socks =
  
Alguns serveis com el correu electrònic no els podem redirigir cap a un proxy http (squid).
+
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.
 
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.
 
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 ==
 
== Configuració del proxy socks Dante amb Debian ==
  
''apt-get update && apt-get install dante-server''
+
''apt-get update && apt-get install dante-server''
 +
 
 +
Editem l'arxiu '''/etc/danted.conf'''.
 +
 
 +
=== Configuració del servei ===
  
Editem l'arxiu /etc/danted.conf.
 
  
==Configuració del servei:==
+
logoutput: /var/log/danted.log<br>
 +
internal: eth0 port = 1080<br>
 +
external: eth1<br>
 +
method: username none<br>
 +
user.privileged: proxy<br>
 +
user.notprivileged: nobody<br>
 +
user.libwrap: nobody<br>
 +
connecttimeout: 30  <br>
 +
iotimeout: 30000<br>
  
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.
 
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).
 
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:==
+
===Conexions dels clients===
  
client pass {
+
client pass {
 
         from: 10.0.0.0/8 port 1-65535 to: 0.0.0.0/0
 
         from: 10.0.0.0/8 port 1-65535 to: 0.0.0.0/0
}
+
}
 
+
client block {
client block {
+
 
         from: 0.0.0.0/0 to: 0.0.0.0/0
 
         from: 0.0.0.0/0 to: 0.0.0.0/0
 
         log: connect error
 
         log: connect error
}
+
}
  
==Conexions per ports i protocols:==
+
===Conexions per ports i protocols===
  
# permitir http (comentado porque vamos a usar squid para el http)
+
# permitir http (comentado porque vamos a usar squid para el http)
#pass {
+
#pass {
#        from: 10.0.0.0/8 to: 0.0.0.0/0 port = 80
+
#        from: 10.0.0.0/8 to: 0.0.0.0/0 port = 80
#}
+
#}
 
+
#imap
#imap
+
pass {
pass {
+
 
         from: 10.0.0.0/8 to: 0.0.0.0/0 port = 143
 
         from: 10.0.0.0/8 to: 0.0.0.0/0 port = 143
}
+
}
 
+
pass {
pass {
+
 
         from: 10.0.0.0/8 to: 0.0.0.0/0 port = 993
 
         from: 10.0.0.0/8 to: 0.0.0.0/0 port = 993
}
+
}
 
+
#pop  
#pop
+
pass {
pass {
+
 
         from: 10.0.0.0/8 to: 0.0.0.0/0 port = 110
 
         from: 10.0.0.0/8 to: 0.0.0.0/0 port = 110
}
+
}
 
+
pass {
pass {
+
 
         from: 10.0.0.0/8 to: 0.0.0.0/0 port = 995
 
         from: 10.0.0.0/8 to: 0.0.0.0/0 port = 995
}
+
}
 
+
#smtp
#smtp
+
pass {
pass {
+
 
         from: 10.0.0.0/8 to: 0.0.0.0/0 port = 25
 
         from: 10.0.0.0/8 to: 0.0.0.0/0 port = 25
}
+
}
 
+
pass {
pass {
+
 
         from: 10.0.0.0/8 to: 0.0.0.0/0 port = 587
 
         from: 10.0.0.0/8 to: 0.0.0.0/0 port = 587
}
+
}
 
+
pass {
pass {
+
 
         from: 10.0.0.0/8 to: 0.0.0.0/0 port = 465
 
         from: 10.0.0.0/8 to: 0.0.0.0/0 port = 465
}
+
}  
 
+
block {
 
+
block {
+
 
       from: 0.0.0.0/0 to: 0.0.0.0/0
 
       from: 0.0.0.0/0 to: 0.0.0.0/0
 
       log: connect error disconnect
 
       log: connect error disconnect
}
+
}
  
 +
El servei l'iniciem amb:
  
El servei el podem iniciar amb:
+
''/etc/init.d/danted start''
 
+
''/etc/init.d/danted start''
+
  
 
Qualsevol client de correu que es pugui configurar per fer servir proxy socks v5 hauria de funcionar.
 
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).
 
Provat exitosament amb Thunderbird (a Windows, Linux i Mac osX).
  
==Referències:==
+
===Registre de conexions al proxy===
*[http://blackhold.nusepas.com/2011/08/socks-proxy-con-dante-o-sacar-el-correo-por-guifi/ Socks Proxy con Dante o sacar el correo por guifi]
+
  
== Configuració a la web de guifi.net ==
+
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===
 +
*[http://blackhold.nusepas.com/2011/08/socks-proxy-con-dante-o-sacar-el-correo-por-guifi/ Socks Proxy con Dante o sacar el correo por guifi]
  
 
== Autenticació amb Dante ==
 
== 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 ==
 
== guifi-proxysocks ==
 +
 +
*[https://gitorious.org/guifi-proxysocks guifi-proxysocks] (en desenvolupament)
  
 
== Configuració d'un socks relay ==
 
== 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 [http://sourceforge.net/projects/socks-relay/files/latest 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 ==
 
== guifi-socksrelay ==
 +
*[https://gitorious.org/guifi-socksrelay guifi-socksrelay] (en desenvolupament)
 +
 +
 +
[[Servidor_Proxy|<< Tornar a Servidor Proxy]]
 +
[[es:Proxy socks]]
 +
[[Categoria:Proxy]]

Revisió de 15:01, 3 març 2014

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