Você está na página 1de 10

Cmo instalar un proxy cach (Squid) transparente en Ubuntu 11.

04 con
ptables usando ! m"quinas #irtuales en $irtual%ox
- COGIDO Y ADAPTADO DE
http://www.tutoriales-ubuntu.com/archies/con!i"urar-un-pro#$-transparente-con-s%ui&
'.- (e parte &e ) m*%uinas irtuales +buntu ''.,- con!i"ura&as en .irtual/o# con ) tar0etas &e re&:
SQUID+IPTABLES
Router
Internet
Mquina Ubuntu 11.04
Mquina Ubuntu 11.04 64 TRA
et!0 1"#.16$.1.#1
et!1
1"#.16$.0.#1
et!1
1"#.16$.0.## et!0 1"#.16$.1.##
%ate&a'
1"#.16$.0.#1
Tar(eta )e re)
)e*a+ti,a)a )e*)e
Ubuntu
Con&i'uracin de tar(etas de red en la m"quina #irtual Ubuntu 11.04)
Con&i'uracin de tar(etas de red en la m"quina #irtual Ubuntu 11.04 *4 +,-.)
).- (e parte &e la base &e %ue en la m*%uina irtual +buntu ''.,- est* instala&o $ con!i"ura&o (%ui& 1no
&el tipo transparente2.
Tareas a reali3ar en la m*%uina irtual +buntu ''.,-:
se e&ita en mo&o superusuario el archio /etc/s$sctl.con! 1su&o "e&it /etc/s$sctl.con!2. En &icho
archio se hace permanente la actiaci4n &el reen5o &e pa%uetes 1pac6et !orwar&in"27
&escomentan&o la l5nea:
/net.ip#4.ip0&or1ard21
&e !orma %ue %ue&e as5:
net.ip#4.ip0&or1ard21
Guar&ar el archio.
E&itar el archio /etc/s%ui&/s%ui&.con! $ cambiar lo necesario para %ue pon"a:
port 8')9 transparent
acl re&local src ':).';9.,.,/)-
Guar&ar el archio $ reiniciar s%ui&:
serice s%ui& stop
serice s%ui& start
A<a&ir7 &es&e una terminal $ como superusuario7 estas ) re"las &e iptables:
iptables -t nat -A PO(T=O+TI>G -s ':).';9.,.,/)- -o eth, -0 (>AT ?to ':).';9.'.)'
iptables -t nat -A P=E=O+TI>G -i eth' -p tcp --&port 9, -0 D>AT --to ':).';9.'.)':8')9
Con estas ) re"las &el corta!ue"os iptables7 $a se tiene con!i"ura&a la m*%uina irtual +buntu ''.,-
como seri&or pro#$ cach@ transparente. Aue&a a<a&ir estas re"las a un script para %ue se e0ecute
autom*ticamente ca&a e3 %ue se arran%ue la m*%uina irtual:
El archio se llama /etc/init.&/re"lasBiptables
Ese archio &ebe ser propie&a& &e root $ "rupo root 1&es&e una terminal se escribe7 en mo&o
superusuario7 los si"uientes coman&os:
chown root:root /etc/init.&/re"lasBiptables
chmo& CDD /etc/init.&/re"lasBiptables
(i se %uiere lan3ar el script en el niel &e e0ecuci4n )7 ha$ %ue teclear:
c& /etc/rc).&
ln -s /etc/init.&/re"lasBiptables (),re"lasBiptables
Para comprobar %ue !unciona7 reiniciamos la m*%uina irtual &e +buntu %ue tiene instala&o (%ui& $7
&es&e una terminal $ como root7 hacemos:
8.- Tareas a reali3ar en la m*%uina irtual +buntu ''.,- ;- OT=A:
Desactiar tar0eta &e re& eth, 1er m*s arriba2
Poner como "atewa$ &e eth': 13!.1*4.0.!1 1er m*s arriba2
Pue&e comprobarse %ue !unciona el reen5o &e pa%uetes hacien&o7 &es&e la m*%uina irtual +buntu
''.,- ;- OT=A &es&e una terminal el coman&o pin" ':).';9.'.)'7 $ !uncionar*:
-.- Parte &el archio /etc/s%ui&.con! re!eri&a a las acl 1listas &e control &e acceso2 $ httpBaccess 1re"las
&e control &e acceso2:
-Re+o..en)e) .ini.u. +on/i%uration0
a+1 a11 *r+ a11
a+1 .ana%er 2roto +a+!e3ob(e+t
a+1 1o+a1!o*t *r+ 1#4.0.0.156#
a+1 to31o+a1!o*t )*t 1#4.0.0.05$ 0.0.0.056#
a+1 re)1o+a1 *r+ 1"#.16$.0.05#4
-
- E7a.21e ru1e a11o&in% a++e** /ro. 'our 1o+a1 net&or8*.
- A)a2t to 1i*t 'our 9interna1: IP net&or8* /ro. &!ere bro&*in%
- *!ou1) be a11o&e)
a+1 1o+a1net *r+ 10.0.0.05$ - R;<1"1$ 2o**ib1e interna1 net&or8
a+1 1o+a1net *r+ 14#.16.0.051# - R;<1"1$ 2o**ib1e interna1 net&or8
a+1 1o+a1net *r+ 1"#.16$.0.0516 - R;<1"1$ 2o**ib1e interna1 net&or8
-
a+1 SSL32ort* 2ort 446 - !tt2*
a+1 SSL32ort* 2ort =66 - *ne&*
a+1 SSL32ort* 2ort $46 - r*'n+
a+1 Sa/e32ort* 2ort $0 - !tt2
a+1 Sa/e32ort* 2ort #1 - /t2
a+1 Sa/e32ort* 2ort 446 - !tt2*
a+1 Sa/e32ort* 2ort 40 - %o2!er
a+1 Sa/e32ort* 2ort #10 - &ai*
a+1 Sa/e32ort* 2ort 10#=>6==6= - unre%i*tere) 2ort*
a+1 Sa/e32ort* 2ort #$0 - !tt2>.%.t
a+1 Sa/e32ort* 2ort 4$$ - %**>!tt2
a+1 Sa/e32ort* 2ort ="1 - /i1e.a8er
a+1 Sa/e32ort* 2ort 444 - .u1ti1in% !tt2
a+1 Sa/e32ort* 2ort 661 - +u2*
a+1 Sa/e32ort* 2ort $46 - r*'n+
a+1 Sa/e32ort* 2ort "01 - S?AT
a+1 2ur%e .et!o) PUR@E
a+1 <AAE<T .et!o) <AAE<T
a+1 2a1abra*no ur13re%e7 >i B5et+5*qui)52a1abra*.t7tB
a+1 no,a1en ur13re%e7 B5et+5*qui)5*itio*3)ene%a)o*.t7tB
a+1 )ene%a)a* )*t)o.ain &&&.terra.e* &&&./a+eboo8.+o. &&&.tuenti.+o.
- n1' a11o& +a+!e.%r a++e** /ro. 1o+a1!o*t
!tt23a++e** a11o& .ana%er 1o+a1!o*t
!tt23a++e** )en' .ana%er
- n1' a11o& 2ur%e reque*t* /ro. 1o+a1!o*t
!tt23a++e** a11o& 2ur%e 1o+a1!o*t
!tt23a++e** )en' 2ur%e
- Den' reque*t* to un8no&n 2ort*
!tt23a++e** )en' CSa/e32ort*
- Den' <AAE<T to ot!er t!an SSL 2ort*
!tt23a++e** )en' <AAE<T CSSL32ort*
- IASERT DUR ?A RULE9S: EERE T ALL? A<<ESS ;RM DUR <LIEATS
- E7a.21e ru1e a11o&in% a++e** /ro. 'our 1o+a1 net&or8*.
- A)a2t 1o+a1net in t!e A<L *e+tion to 1i*t 'our 9interna1: IP net&or8*
- /ro. &!ere bro&*in% *!ou1) be a11o&e)
-!tt23a++e** a11o& 1o+a1net
!tt23a++e** )en' 2a1abra*no
!tt23a++e** )en' no,a1en
!tt23a++e** )en' )ene%a)a*
!tt23a++e** a11o& 1o+a1!o*t
!tt23a++e** a11o& re)1o+a1
- An) /ina11' )en' a11 ot!er a++e** to t!i* 2ro7'
httpBaccess &en$ all
E0emplo &e %ue !unciona el pro#$-cach@ (%ui& e iptables isto &es&e la m*%uina +buntu ''.,- ;-
OT=A7 con un nae"a&or &e Internet:
<on/i%ura+iFn )e1 na,e%a)or )e
Internet MoGi11a ;ire/o7 en 1a
.quina Ubuntu 11.04 64 TRA
Con!i"urar un Pro#$ Transparente con (A+ID
April '-7 ),,: E roa6soa#
En este tutorial se les mostrar* como con!i"urar un Pro#$ Transparente con (A+ID. Para los %ue
necesiten saber la &e!inici4n &e lo %ue es un pro#$7 $ &e lo %ue es un pro#$ transparente7 esta pue&en
encontrarla a%u5. Ahora bien7 la estructura %ue se muestra a continuaci4n es c4mo se instalar* el
seri&or pro#$:
/ueno7 entonces lo primero %ue tenemos %ue hacer es instalar (%ui& &e la si"uiente manera:
:~$ sudo apt-get install squid
+na e3 instala&o7 s%ui& nos proeer* un archio &e con!i"uraci4n locali3a&o en /etc/squid/squid.conf.
Este archio contiene to&a la &ocumentaci4n &e s%ui&. Al ser un archio mu$ e#tenso7 nosotros no
necesitaremos tal con!i"uraci4n por tal motio crearemos una copia &e respal&o a este archio &e la
si"uiente manera:
:~$ sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
Fue"o7 mo!icamos el archio &e con!i"uraci4n ori"inal 1/etc/squid/squid.conf2 $ eliminamos to&o lo %ue
conten"a. Fue"o in"resamos lo si"uiente:
http_port 3128 transparent
cache_e 1!! "#
cache_dir ufs /$ar/spool/squid 1%! 1& 2%&
acl red_local src 1!.1!.1!.!/2'
acl localhost src 12(.!.!.1/32
acl all src all
http_access allo) localhost
http_access allo) red_local
Fue"o7 tenemos %ue con!i"urar las iptables para %ue po&amos tener acceso a Internet $ para %ue lo
ha"amos me&iante el pro#$. Por esta ra34n in"resamos las si"uientes re"las:
:~$ sudo iptables -t nat -* +,-./,0.123 -s 1!.1!.1!.!/2' -o eth! -4 -2*. --to 152.1&8.1.1
:~$ sudo iptables -t nat -* +/6/,0.123 -i eth1 -p tcp --dport 8! -4 72*. --to
152.1&8.1.1:3128
:~$ sudo iptables -t nat -* +/6/,0.123 -i eth! -p tcp --dport 8! -4 /671/68. --to-port 3128
NOTA: en las ariables ?&port7 ?to $ ?to-port7 n4tese %ue se utili3a doble guon 1 5 2*ntes &e ca&a
ariable. Por motios e#ternos es %ue en el tutorial aparece como si !uese uno s4lo.
Para terminar7 tenemos %ue recar"ar la con!i"uraci4n &e s%ui&. Esto lo hacemos &e la si"uiente manera:
:~$ sudo squid -k reconfigure
Ahora simplemente &es&e las m*%uinas clientes probamos %ue tenemos acceso a Internet. .ale notar
%ue esta con!i"uraci4n &e pro#$ transparente solo sire para almacenar en la cach@ $ %ue la nae"aci4n
por Internet sea m*s r*pi&a. (i &eseamos blo%uear acceso a p*"inas7 tenemos %ue crear m*s re"las.
Al"unas re"las &e e0emplo se las mostar@ en un pr4#imo tutorial.