howto: I2P + TOR + SQUID

Olá a todos,
Como prometido aqui vão as configurações para Squid de forma a efectuar a canalização e segmentação entre pedidos HTTP a serem anonimificados (!) e outros a terem acessos directos a internet.

A ideia será que todos os pedidos de i2p saiam pela rede i2p, e por exemplo tudo o que seja para o facebook saia pela rede TOR.
Convém como é óbvio terem ambos os serviços já implementados. No meu caso, ambos estão na mesma máquina, mas foi necessário criar um ip alias (segundo IP) pois o squid necessita de ips diferentes para parent caches diferentes.

A ideia será que todos os pedidos de i2p saiam pela rede i2p, e por exemplo tudo o que seja para o facebook saia pela rede TOR.
Convem como é obvio terem ambos os serviços já implementados. No meu caso, ambos estão na mesma máquina, mas foi necessário criar um ip alias (segundo IP) pois o squid necessita de ips diferentes para parent caches diferentes.

A configuração seguinte é para colocar no squid.conf, e após a mesma não se esqueçam de fazer reload ao daemon para assumir as novas configurações.

cache_peer 10.0.0.1 parent 4444 7 no-query no-digest no-netdb-exchange
cache_peer 10.0.0.2 parent 8118 7 no-query no-digest no-netdb-exchange
cache_peer_domain
10.0.0.1 .i2p .to i2p.net
cache_peer_domain
10.0.0.2 .4chan.org
neighbor_type_domain
10.0.0.1 parent .i2p last.fm .to .i2p.net
neighbor_type_domain
10.0.0.2 parent .4chan.org

acl i2p-servers dstdomain .i2p .microsoft.com
acl tor-servers dstdomain .4chan.org

never_direct allow i2p-servers
never_direct allow tor-servers

A legenda é:

cache_peer 10.0.0.1 parent 4444 7 no-query no-digest no-netdb-exchange
cache_peer 10.0.0.2 parent 8118 7 no-query no-digest no-netdb-exchange

Estas linhas indicam os IP’s peers-parent que contem os acessos do router por software I2P e o TOR.
O 10.0.0.1 contem o i2p e o 10.0.0.2 contem o tor.
Ambos foram configurados para permitir acesso externo aos motores de proxy. Pf verifiquem junto da documentação de ambos os softwares como permitir isto.
cache_peer_domain 10.0.0.1  .i2p last.fm .to .i2p.net .microsoft.com
cache_peer_domain 10.0.0.2  .4chan.org
neighbor_type_domain 10.0.0.1  parent .i2p last.fm .to .i2p.net
.microsoft.com
neighbor_type_domain 10.0.0.2  parent .4chan.org

Estas linhas indicam o que mandar para que proxy.
Se repararem, estou a enviar os dominios .i2p, .i2p.net, e last.fm através do cache_peer 10.0.0.1.
Estou ainda a enviar os acessos do .4chan.org através do tor cujo proxy está no ip 10.0.0.2

acl i2p-servers dstdomain .i2p
acl tor-servers dstdomain .4chan.org

never_direct allow i2p-servers
never_direct allow tor-servers

Finalmente estas linhas indicam os acls das redes.
As acls estão defindidas da seguinte forma: acl i2p-servers, tor-servers, e é definido aqui o dominio parent .i2p last.fm .to .i2p.net e microsoft.com
Os acessos da ACL tor-servers indicam acessos para dominios com .4chan.org.

Finalmente, o que cai nas acl’s  é obrigado a nunca ir directamente aos acessos e sair pelo proxy com a directiva never_direct.

É fácil compreender através destas linhas como adicionar novos domínios para forcar saídas pelos proxy’s de privacidade diversos.

Alguma duvida já sabem onde me contactar.

Um abraço