Español  

Proxy socks/ca: Diferència entre les revisions

De Guifi.net - Wiki Català

(Configuració d'un socks relay)
m (Al ha mogut Proxy socks a Proxy socks/ca)
 
(Hi ha 21 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.
Línia 9: Línia 9:
 
== 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'''.
 
Editem l'arxiu '''/etc/danted.conf'''.
Línia 16: Línia 16:
  
  
logoutput: /var/log/danted.log<br>
+
logoutput: /var/log/danted.log<br>
internal: eth0 port = 1080<br>
+
internal: eth0 port = 1080<br>
external: eth1<br>
+
external: eth1<br>
method: username none<br>
+
method: username none<br>
user.privileged: proxy<br>
+
user.privileged: proxy<br>
user.notprivileged: nobody<br>
+
user.notprivileged: nobody<br>
user.libwrap: nobody<br>
+
user.libwrap: nobody<br>
connecttimeout: 30  <br>
+
connecttimeout: 30  <br>
iotimeout: 30000<br>
+
iotimeout: 30000<br>
  
  
Línia 33: Línia 33:
 
===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 el podem iniciar amb:
+
El servei l'iniciem 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).
 +
 +
===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===
 
===Referències===
Línia 97: Línia 106:
  
 
== 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 ==
Línia 106: Línia 129:
 
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.
 
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, tant a Debian com a OpenWRT, el paquet srelay, que ens permet fer aquest tipus d'instal·lació.
+
Tenim disponible, per varis sistemes operatius, el paquet srelay, que ens permet fer aquest tipus d'instal·lació.
  
 
===Instal·lació===
 
===Instal·lació===
===='''(Debian)'''====
+
===='''(FreeBSD 8.1R, Solaris 8, 10, Linux-i386, MacOS 10.5)'''====
  
''apt-get update && apt-get install srelay''
+
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)'''====
 
===='''(OpenWRT)'''====
  
''opkg update && opkg install srelay''
+
''opkg update && opkg install srelay''
  
 
===Configuració===
 
===Configuració===
Línia 121: Línia 148:
 
Editem l'arxiu '''/etc/srelay.conf''' amb el següent contingut:
 
Editem l'arxiu '''/etc/srelay.conf''' amb el següent contingut:
  
# Listado global de todos los servicios publicos en Guifi.net:
+
# Listado global de todos los servicios publicos en Guifi.net:
# http://guifi.net/ca/node/3671/view/services
+
# http://guifi.net/ca/node/3671/view/services
# Subred local con acceso al relay
+
# Subred local con acceso al relay
192.168.1.0/24 any -
+
192.168.1.0/24 any -
# Cadena de proxy socks de guifi.net
+
# Cadena de proxy socks de guifi.net
# Se recomienda ordenar por proximidad geografica
+
# Se recomienda ordenar por proximidad geografica
# dest[/mask] port proxy proxy-port
+
# dest[/mask] port proxy proxy-port
# SFelDCproxy1 - Sant Feliu de Codines (Valles Oriental, Barcelona)
+
# SFelDCproxy2 - Sant Feliu de Codines (Valles Oriental, Barcelona)
# http://guifi.net/node/51756
+
# http://guifi.net/node/55511
0.0.0.0 any 10.140.150.196 1080
+
0.0.0.0 any 10.140.150.227 1080
# SFelDCproxy2 - Sant Feliu de Codines (Valles Oriental, Barcelona)
+
# SFelDCproxy1 - Sant Feliu de Codines (Valles Oriental, Barcelona)
# http://guifi.net/node/55511
+
# http://guifi.net/node/46911
0.0.0.0 any 10.140.150.227 1080
+
0.0.0.0 any 10.140.150.42 1080  
# Proxy socks BCNRossello208 - (Barcelones, Barcelona)
+
# Proxy socks BCNRossello208 - (Barcelones, Barcelona)
# http://guifi.net/node/40880
+
# http://guifi.net/node/40880
0.0.0.0 any 10.228.192.210 1080
+
0.0.0.0 any 10.228.192.210 1080
# ProxyTRSASantMateu39 - Terrassa (Valles Occidental, Barcelona)
+
# ProxyTRSASantMateu39 - Terrassa (Valles Occidental, Barcelona)
# http://guifi.net/node/36194
+
# http://guifi.net/node/36194
0.0.0.0 any 10.139.61.67 1080
+
0.0.0.0 any 10.139.61.67 1080
# BCNOnzeSetembre11 - (Barcelones, Barcelona)
+
# BCNOnzeSetembre11 - (Barcelones, Barcelona)
# http://guifi.net/node/53577
+
# http://guifi.net/node/53577
0.0.0.0 any 10.139.7.4 1080
+
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.
 
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 (srelay llegeix srelay.conf de dalt a baix) les peticions dels clients de correu.
+
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.
 
Els clients de correu s'han de configurar amb l'IP i port del servidor local.
  
Línia 153: Línia 180:
 
== guifi-socksrelay ==
 
== guifi-socksrelay ==
 
*[https://gitorious.org/guifi-socksrelay guifi-socksrelay] (en desenvolupament)
 
*[https://gitorious.org/guifi-socksrelay guifi-socksrelay] (en desenvolupament)
 +
 +
 +
[[Servidor_Proxy|<< Tornar a Servidor Proxy]]
 +
[[es:Proxy socks]]
 +
[[Categoria:Proxy]]

Revisió de 14: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