Proxy socks/ca: Diferència entre les revisions
De Guifi.net - Wiki Català
Al (Discussió | contribucions) m (Al ha mogut Proxy socks a Proxy socks/ca) |
|||
(Hi ha 23 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> |
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, o obrir-lo al router. | + | 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 | + | 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 104: | Línia 127: | ||
== Configuració d'un socks relay == | == Configuració d'un socks relay == | ||
− | En algunes instal·lacions | + | 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, | + | Tenim disponible, per varis sistemes operatius, el paquet srelay, que ens permet fer aquest tipus d'instal·lació. |
===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)'''==== | ===='''(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 |
− | # | + | # SFelDCproxy2 - Sant Feliu de Codines (Valles Oriental, Barcelona) |
− | # http://guifi.net/node/ | + | # http://guifi.net/node/55511 |
− | 0.0.0.0 any 10.140.150. | + | 0.0.0.0 any 10.140.150.227 1080 |
− | # | + | # SFelDCproxy1 - Sant Feliu de Codines (Valles Oriental, Barcelona) |
− | # http://guifi.net/node/ | + | # http://guifi.net/node/46911 |
− | 0.0.0.0 any 10.140.150. | + | 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 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.''' | '''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.''' | ||
Línia 150: | 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
Contingut
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
- guifi-proxysocks (en desenvolupament)
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
- guifi-socksrelay (en desenvolupament)