Tutorial: Monta un servidor Proxy en ubuntu

Imagen de neo22s
0 puntos

fuente: deambulando.com

Buenas!!

Este es el primer artículo técnico que escribo en el blog.

Voy a intentar explicarme lo mejor que yo pueda, y si os surge cualquier duda la posteis y ayudamos que para esso estamos xD

Bien explicaré el problema, explicaré una posible solución, y luego daré todos los comandos que debéis usar. mola??? jeje

Veamos caso ficticio:

Tenemos una sala de bichos(usuarios con pcs), que en vez de ponerse a trabajar no tienen nada mejor que hacer que ponerse a ver las paginas de youtube(genial), pero claro eso genera unos grandes problemas:

1. gastan el ancho de banda de mi emule(o del compañero)
2. generan trafico de red innecesario
3. no trabajan, pierden tiempo
4. llenan los bichos de mierda(literalmente y técnicamente)
5. asi justificamos nuestro puesto de trabajo de una forma genial :D

Entonces es cuando dices….esto no puede seguir así….vamos a cortarles inernés. Y tu dices vale, eso ya lo se hace tiempo pero comoooool?? si necesitan rellenar formularios de unas websss?? y no voy a ir pc por pc limitando las paginas del IE(Internet Explorer) si luego lo quitan!!

Pues bien ahí va sale el listo de turno y estornuda aaachis!!, noooo ha dicho Squid!

aaaaaaaaaaaa ahora queda todo mas claro Squid, es un servidor proxy!!! de este modo haremos una lista con las paginas permitidas, uauuuuuuuuuuu, pero como lo hacemos eso??

Yo pensé que tal Debian?? y dije pues debian mismo, pero como ese dia me llegaron los cd´s de ubuntu a casa….

Bueno explico un poco Ubuntu es una versión de Debian que esta subvencionada por el africano ese que vendió verisign por un huevo y luego se fue pa la luna.

La idea es la siguiente, pillas un Pc que aya por ahí, no hace falta ningún pepino, yo lo monte sobre un 800 con 196mb y 20gb, y funciona perfecto, es importante que según el trafico que vaya a haber que la tarjeta de red sea mas o menos decente, pones el cd de instalación de Ubuntu, haces que el pc bootee desde el CD, y cuando te salga una línea que pone boot: ponemos server, de este modo realizamos una instalación limpia para instalar lo que nosotros deseemos. Le damo pa'lante a to personalizando lo que nos convenga hasta haber finalizado, luego seguimos estos comandos siempre teniendo en cuenta que se ha de adaptar a nuestra red.

#configuracion servidor proxy squid
#objetivo: limitar el acceso a internet, solo a paginas permitidas
#SO: ubuntu breezy server-configuration

#realizamos la instalacion base del sistema

#para seguir en linea de comandos una vez instalado

#actualizamos la lista de paquetes
vi /etc/apt/sources.list
coger de aqui:http://www.ubuntu-es.org/node/9043

#actualizamos el apt
aptitude update

#confguramos la interface de red
vi /etc/network/interfaces

# The loopback interface
auto lo
iface lo inet loopback

# The first network card - this entry was created during the Debian installation
# (network, broadcast and gateway are optional)
auto eth0
iface eth0 inet static
address 172.16.0.1
netmask 255.255.255.0
network 172.16.0.0
broadcast 172.16.0.255
gateway 172.16.0.10

#le damos el dns de resolucion
vi /etc/resolv.conf
nameserver TUDNSAKI

#reiniciamos la red
/etc/init.d/networking restart

#instalamos xinetd
aptitude install xinetd

#intsalamos los paquetes que usaremos, ssh para la administracion remota usamos putty, squid proxy,iptables (routing firewall) aptitude install ssh squid iptables

#configuramos el squid
vi /etc/squid/squid.conf

http_port 8080
cache_mem 16 MB#memoria que usara
cache_dir ufs /var/spool/squid 100 16 256#esto es la cache

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_single_host off
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
offline_mode on
ie_refresh on

acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl redlocal src 172.16.0.0/255.255.255.0
acl per url_regex "/etc/squid/permitidos"

http_access allow per
http_access allow localhost
http_access deny all

#creamos el fichero de permitidos
vi permitidos
akivan las paginas le das al enter para cada web, si lo deseas no pongas la extension

#reiniciamos squid
squid restart

#configuramos el firewall para el routing de puertos, de este modo lo haremos transparente
vi /etc/init.d/firewall.sh
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 8080

#hacemos que arranque como servicio
update-rc.d firewall.sh defaults

#instalamos webmin para la administracion de la maquina y configuramos
aptitude install webmin
vi /etc/webmin/miniserv.conf
allow= all
/etc/init.d/webmin start

#instalamos samba para la comparticion del fichero de permitidos, recuerda crear el usuarioooo
aptitude install samba
smbpasswd -a root

vi /etc/samba/smb.conf
[global]
server string = servidor del proxy squid
hosts allow = 172.16.0.0/24

[squid]
path = /etc/squid
valid users = root
write list = root

#editamos el xinetd activando el servicio(sino no ira ni samba ni na)

vi /etc/xinetd.conf
(quitamos los comentarios)
/etc/init.d/xinetd restart

/etc/init.d/samba restart

#ahora podemos entrar asis: \\172.16.0.1

#instalamos administracion para los servicios via web
aptitude install webmin-squid webmin-xinetd webmin-firewall

#instalamos samba para administracion de samba
aptitude install swat

#el swat(samba) funciona en el puerto 901, y el webmin en el 10000, para acceder http://172.16.0.1:puerto

Una vez hecho todo esto os preguntareis vale muy bonito pero….como lo pongo en los Bichos?? pues tienes dos opciones:

1. En propiedades de la conexión de tu navegador web pones como proxy 172.16.0.1 y puerto el 8080, el problema es q lo pueden deshabilitar
2. Esta es la mejor! pones el servidor 172.16.0.1 como puerta de enlace!!! uauuuuu ni se darán cuenta!!!

Encima tenemos la ventaja de que todo es administrable via web, y el fichero de permitidos lo podemos modificar a nuestro antojo gracias a Samba.

FIN

Espero que os haya sido de gran utilidad

Imagen de Mcfer
+1
0
-1

muy vacano tu articulo sobre todo teniendo en cuenta que debo prearar una exposicion sobre el tema y hablando de eso ya he investigado un poco pero mucha documentacion de squid esta en ingles y pues no me molesta tener que traducirlo, pero me gustaria que me ayudaras con un link o un man en español que conoscas.

+1
0
-1
Imagen de rafaelvtaveras
+1
0
-1

 

 me gustaria saber para que version de squid son estas instruccions porque se presenta un error al ponerlas

# httpd_accel_no_pmtu_disc off
#acelarnado en prueba rafael taveras
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_single_host off
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
offline_mode on
ie_refresh on

2007/09/29 16:47:56| parseConfigFile: line 2982 unrecognized: 'httpd_accel_host virtual'
2007/09/29 16:47:56| parseConfigFile: line 2983 unrecognized: 'httpd_accel_port 80'
2007/09/29 16:47:56| parseConfigFile: line 2984 unrecognized: 'httpd_accel_single_host off'
2007/09/29 16:47:56| parseConfigFile: line 2985 unrecognized: 'httpd_accel_with_proxy on'
2007/09/29 16:47:56| parseConfigFile: line 2986 unrecognized: 'httpd_accel_uses_host_header on'
domcomproxy@(none):~$

quisas sea una burrada mia pero no se.. 

 

.

+1
0
-1

 

Rafael Taveras

Rep.Dom.

Imagen de josaes17
+1
0
-1

 

Mira por el momento solo vamos a instalar por ejemplo 30 maquinas, y si mas adelante deseamos instalar 5 maquinas más no habria problema?

 

"Quisiera saber los pensaminetos de Dios, lo demás son Detalles"
Albert Einstein

+1
0
-1

"Quisiera saber los pensaminetos de Dios, lo demás son Detalles"
Albert Einstein

Imagen de habitat
+1
0
-1

 

Te felicito es un articulo claro y detallado con el que cualquiera podra montar un proxy.

Te realizo la siguiente pregunta por la matización que ponias de tarjeta de red en tu articulo.

Mi pregunta llevo un tiempo buscando una buena tarjeta de red (marca)para servidor para Ubuntu claro, incluso tengo la pregunta en el foro (sin contestación) ¿no conoceras alguna?

Gracias

+1
0
-1
Imagen de pevik
+1
0
-1

Amigo, excelente tu aporte, pero hay algo que no me funciona:

Tengo una pc_ubuntu(192.168.1.100) y una pc_windows(192.168.1.10)

cuando configuro el explorador y el gateway de la pc_windows para que use el proxy transparente, no es posible acceder a webmin desde la pc_windows. Sin embargo, cuando no esta configurado para uso del proxy, escribo https://192.168.1.100:10000 y si es posible entrar a la página de webmin.

Te agradecería mucho me indiques que otra configuracion debo hacer para lograr ingresar usando el proxy transparente.

 

 

+1
0
-1
Imagen de juaskemelol
+1
0
-1

hola, soy nuevo en este foro (y tambien con ubuntu :P ) estoy siguiendo paso a paso el manual para montar un proxy pero llego a este punto de modificar el siguiente archivo:

vi /etc/network/interfaces

entonces llegado este punto pongo exactamente lo que pone debajo del post de arriba, coloco mi IP y los demas campos, el problema llega cuando voy a cerrar el archivo guardando los cambios que me dice que no tengo permisos suficientes, lo raro bajo mi punto de vista es que accedo como root.

el ordenador esta en LAN, no tengo ningun problema con el.

espero que alguien me pueda ayudar, gracias de antemano.

+1
0
-1
Imagen de wnino
+1
0
-1

Hola juaskemelol :

También soy novato en esto de Ubuntu, pero, me parece que en lugar de  vi /etc/network/interfaces podrías usar sudo gedit  /etc/network/interfaces.

Espero te funcione. 

+1
0
-1

Lee y cumple las Normas, Pregunta antes a San Google y si tienes éxito con tu problema: dí cómo lo hiciste, edita el título del post y pónle (solucionado).
Imagen de juaskemelol
+1
0
-1

muchas gracias!!

de momento puedo configurar el archivo, antes de reeditar el post tube problemas con el webmin, dejo aqui la solución por si a alguien le hace falta algún día:

http://nideaderedes.urlansoft.com/2006/09/02/instalar-webmin-en-ubuntu-606-dapper/

por lo que veo en diferentes foros y manuales por internet, el siguiente paso es configurar el squid  (segun tengo entendido por lo leido es el verdadero motor del proxy)

 tengo descargada la versión 3.0

 

ejecuto el siguiente comando:

 

% tar zxvf squid-3.0 STABLE1-src.tar.gz

 

pero me dice que esta instrucción no es valida.

 

¿realmente ubuntu es la versión que deberia utilizar para servidor proxy?

 

¿o tal vez debian u otras versiones?

+1
0
-1
Imagen de redsword024
+1
0
-1

hola soy nuevo aqui... estoy configurando mi servidor proxy para uso personal ya que comparto el internet con mi hermana y necesito tener la seguridad de que no va a entrar a ninguna pagina sin querer entonces me gustaria que me ayudaran en el paso de configurar el squid:
desde aqui para abajo.
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_single_host off
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
offline_mode on
ie_refresh on

mi correo es xxxxxxxxxx@xxxxxxxx.com
por favor ayudenme...
Gracias.

+1
0
-1
Imagen de jhonnvill
+1
0
-1

ola q tal amigos...quisiera pedir una ayuda.....debo intalar en mi universidad el webmin-squid.....y quisiera saber cada paso a seguir para la intalacion del mismo.....¿donde lo descarago? como lo instalo?....comonado de configuracion?...es decir todo lo relacionado con el sistema....de antemano agradezco su colaboracion.....jhonnatan villamizar

+1
0
-1
Imagen de wvasquez
+1
0
-1

Hola, tengo una duda tengo instalado una PC que sirve de servidor para una aplicacion alli se encuentra la base de datos, ahora instale un servidor proxy con DHCP en otra maquina y lo que pasa que no pueden conectarse los usuarios del programa con el servidor donde aloja el programa

+1
0
-1