Oggi voglio darvi giusto una pillola, ma sono sicuro che anche se corto questo articolo potrà far risparmiare del tempo a qualcuno che, come me, ha questa esigenza.
Ovvero avendo una macchina Linux con sopra il Proxy Server Squid e vari IP (che possono essere Ipv4 e/o ipv6) configurare come proxy del proprio browser uno di questi ed uscire dalla macchina con quello stesso IP e non con l’ip di default.
Questo può essere utile se si dispone di servizi che richiedono uno specifico IP, o se si vuole dare il proxy a persone diverse ed essere ancora in grado di tracciare quello che fanno.
Per raggiungere questo obiettivo useremo le ACL, Squid ha delle ottime ACL (Access Control Lists), incorporate nel file squid.conf, che consente di bloccare o controllare l’accesso riferendosi al nome, l’IP, le reti, l’ora del giorno, giorno effettivo . Ricordate però che, come ogni firewall, più complicata è una ACL e più lento risulterà Squid nel rispondere alle richieste.
La direttiva che sarà necessario impostare per questa configurazione è tcp_outgoing_address, da manuale di Squid:
consente di mappare le richieste di diversi indirizzi IP in uscita
in base al nome utente o indirizzo di provenienza dell’utente che effettua la richiesta.tcp_outgoing_address ipaddr [[!] aclname] …
Ma penso che sia più facile mostrare direttamente il risultato con alcuni esempi:
Esempio 1
Esempio in cui le richieste provenienti da 10.0.0.0/24 saranno inoltrate con indirizzo sorgente 10.1.0.1,
La rete 10.0.2.0/24 è inoltrata con indirizzo sorgente 10.1.0.2 e il resto sarà inoltrate con indirizzo sorgente 10.1.0.3.
acl abc src 10.0.0.0/24 acl xyz 10.0.2.0/24 tcp_outgoing_address 10.1.0.1 abc tcp_outgoing_address 10.1.0.2 xyz tcp_outgoing_address 10.1.0.3
Esempio 2
Utilizzare più indirizzi IP basandosi su IP di Squid utilizzato come server proxy
acl ip1 myip 192.168.1.2 acl ip2 myip 192.168.1.3 acl ip3 myip 192.168.1.4 tcp_outgoing_address 192.168.1.2 ip1 tcp_outgoing_address 192.168.1.3 ip2 tcp_outgoing_address 192.168.1.4 ip3
Le linee acl dicono a squid di corrispondere a myip il che significa che se qualcuno utilizza l’IP 192.168.1.2 come IP di uscita del server proxy utilizzerà quello abbinato alla ACL ip1 e così via.
Con questi due semplici esempi avete visto come è facilmente impostabile Squid in modo da avere un IP di uscita diverso a seconda di condizioni da voi impostate.
Riferimenti:
http://www1.is.squid-cache.org/Doc/
http://linuxpoison.blogspot.com/2010/03/how-to-setup-squid-proxy-server-to-use.html
http://itechnology.wordpress.com/2008/05/26/setup-squid-proxy-server-to-use-multiple-outgoing-ip-addresses/
Popular Posts:
- None Found
I am using squid Version 3.1.10 but the setting “tcp_outgoing_address xx.xx.xx.xx” is not working. All outgoing connection is still being routed to my default route. What I just want to do is to route all traffic to another IP address. Is there a new setting for squid 3.1.10?
Hello,
From the documentation it should work with 3.1.x:
http://www1.is.squid-cache.org/Doc/config/tcp_outgoing_address/