Está en la página 1de 15

Instalación 

y configura de servidor Proxy
Basado en Squid

Alberto Miguel Moreno
Leonardo Augusto Campos
Juan Marcelo Cruz Benavides
Flavio Rubén Cari
Fabio Alejandro Vilca
Daniel Alejandro Velásquez

Laboratorio de Sistemas Operativos II

Tutor: Luís Tomas Wayar

Analista Progrmador Universitario
Universidad Nacional de Jujuy

TM

PDF Editor
San Salvador de Jujuy, Agosto 2009
                                             Instalación y Configuración
 de Servidor Proxy
Basado en Squid

TM

PDF Editor
versión 1.0
12/08/2009
INDICE
Índice.............................................................................................................................................1
Objetivos.......................................................................................................................................2
Esquema propuesto.......................................................................................................................3
Squid.............................................................................................................................................4
          Instalación...........................................................................................................................4
          Configuración.....................................................................................................................4
Apache..........................................................................................................................................5
          Instalación...........................................................................................................................6
Dansguardian................................................................................................................................6
          Instalación...........................................................................................................................6
          Configuración.....................................................................................................................6
Sarg...............................................................................................................................................7
          Instalación...........................................................................................................................7
          Configuración.....................................................................................................................8
DNS..............................................................................................................................................9
          Instalación..........................................................................................................................10
DHCP...........................................................................................................................................10
          Instalación..........................................................................................................................10
          Configuración....................................................................................................................10
Iptables.........................................................................................................................................12
          Configuración.,,,................................................................................................................12
Agradecimientos..........................................................................................................................13

TM

PDF Editor 1
Objetivos
En siguiente manual tiene como objetivo detallar los pasos principales de como instalar y configurar 
un servidor Proxy, basado en Software Libre Ubuntu 9.04, que permitirá el acceso a Internet a otras 
PC's. Este servidor permitirá brindar mayor seguridad a la navegación por Internet, permitiendo el 
registro de todas las actividades realizadas por los usuarios, la prohibición de acceso a distintas 
páginas, y la distribución automática de IP's a las PC's clientes.

Para cumplir con este objetivo se eligió como solución la inhalación de los servicios Squid3, 
Apache2,  Dansguardian, Sarg y DHCP3­Server. Este trabajo consiste en integrar dichas 
aplicaciones para ofrecer un acceso mas controlado a Internet.

TM

PDF Editor 2
Esquema propuesto

En el esquema que se propone consiste en la instalación de un servidor Proxy basado en 
GNU/Linux.
En el servidor Linux se instalara Squid para cumplir la función de Proxy, Apache para el servicio 
Web, Sarg que realizara los reporte de navegación, Dansguardian como filtro de contenidos web y 
DHCP como proveedor de IP's al las maquina clientes.

Respecto a la seguridad Squid, posee un mecanismo de control de contenido Web mediante un 
esquema de control de acceso (acl). Además  se propone la utilización de los mecanismos que 
ofrece Squid para el control de ancho de banda del acceso a Internet, permitiendo así un mejor uso 
de los recursos.

TM

PDF Editor 3
Squid 

Squid es un servidor Proxy para clientes Web que soporta los protocolos HTTP, HTTPS y FTP.  El 
mismo permite almacenar los objetos accedidos por los diferentes usuarios en una cache destinada 
para ese propósito, lo cual posibilita un acceso mas rápido a Internet.

Instalación

Bueno ahora pasaremos a la instalación de Squid la cual es sencilla solo aplicando unas línea de 
comandos es suficiente. Vale aclarar q todas las instalaciones y configuraciones que realizaremos 
este manual serán como “root”

#apt­cache search squid3
#apt­get install squid3

De esta manera ya tenemos instalado a Squid en nuestro sistema

Configuración
Squid utiliza el fichero de configuración localizado en /etc/squid3/squid.conf y se podrá utilizar un 
editor de texto sencillo para su configuración. 

Entramos a /etc/squid3/squid.conf para la configuración

# gedit /etc/squid3/squid.conf

1­Para que Squid funciones debemos colocar en la directiva visible_hostname el nombre de nuestro 
equipo

visble_hostname localhost

 Remplazamos localhost por en nombre de nuestro equipo

visible_hostname  <nombre de nuestro equipo>

2­ Luego verificaremos que el puerto de Squid sea el predefinido y lo hacemos transparente para 
evitar la configuración del explorador de cada computadora cliente. Lo cual modificaremos el 
http_port 3128 de la siguiente manera.
TM
http_port 3128
http_port 192.168.0.1:3128 transparent

PDF Editor
Nota: no se utilizara el puerto 8080 como en otros manuales que lo mencionan debido a que este 
puerto será utilizado para Dansguadian.

4
3­Ahora modificaremos el siguiente parámetro, el cual se utiliza para establecer el tamaño de cache 
en el disco duro para Squid. Por defecto Squid usa una cache de 100Mb lo cual encontraremos la 
línea siguiente: 
  
cache_dir ufs /var/spool/squid3 100 16 256

Se puede incrementar el tamaño de cache hasta donde desee el administrador, mientras más grande 
sea el cache, mas objetos se almacenaran en éste y por lo tanto se utilizara menos ancho de banda. 
En este caso le daremos 700Mb

cache_dir ufs /var/spool/squid3 700 16 256

Los número 16 y 256 significan que el directorio del cache contendrá 16 directorios subordinados 
con 256 niveles cada uno. No es necesario la modificación de estos.

4­Modificaremos el parámetro cache_men el cual establece la cantidad de memoria para los objetos 
de transito, los objetos frecuentemente utilizados (Hot) y los objetos negativamente almacenados en 
caché. Los datos de estos objetos se almacenan en bloques de 4Kb. Este parámetro especifica un 
limite máximo en el tamaño total de bloques acomodados, donde los objetos de transito tienen 
mayor prioridad. Los objetivos Hot y los negativamente almacenados en cache podrán utilizar la 
memoria no utilizada hasta sea requerida. Por defecto Squid establece 8Mb.

cache_mem 8Mb

los cuales pueden ser modificados de acuerdo a lo necesitado, nosotros utilizaremos 16Mb.

cache_mem 16Mb

5­Creamos un acl para dansguardian de la siguiente manera

acl dasnguardian scr 192.168.0.1  

6­Cerramos el editor guardando los cambios y reiniciamos Squid de la siguiente manera.

# /etc/init.d/squid3 restart

De esta manera tenemos configurado nuestro Proxy

Apache TM

PDF Editor
Apache es un servidor Web HTTP de código abierto para la plataformas UNIX,Microsoft, 
Macintosh y otras, que implementa el protocolo HTTP/1.1 y la nocion del sitio web, el cual se 
encarga de resolver las peticiónese de paginas de Internet de los cliente. 

5
Instalación

Para la instilación  de Apache realizamos lo siguiente(usaremos Apache2)

#apt­cache search apache2
#apt­get install apache2

Y así ya tenemos instalado nuestro servidor Web.

Dansguardian

Dansguardian es un filtro de contenidos de sitios Web muy potente que trabaja conjuntamente con 
el servidor Proxy Squid, Dansguardian se sitúa o actúa entre el navegador cliente  y el Proxy 
interceptando y modificando la comunicación entre ambos. De esta forma facilita la tarea de filtrado 
paginas visitadas por el usuario desde el equipo cliente. Al instalar el paquete la configuración por 
defecto, limita las visitas la pagina para menores de edad, también dispone archivos de 
configuración para llevar acabo una configuración mas personalizada.

Instalación

Para la instilación de Dansguardian realizaremos lo siguiente

#apt­get search dansguardia
#apt­get install dansguardian
  
De esta manera tenemos instalado el dansguardian.

Configuración

Dansguardian utiliza como fichero de configuración localizado en 
/etc/dansguardian/dansguardian.conf, el cual modificaremos con un editor de texto.

Abrimos  /etc/dansguardian/dansguardian.conf para la correspondiente configuración

#gedit /etc/dansguardian/dansguardian.conf
TM
1­Establecemos la línea que contiene la directiva UNCONFIGURED como un comentario, para 
esto agregamos al principio de la línea un “#”

PDF Editor
UNCONFIGURED – Please remove this line after configuration
#UNCONFIGURED – Please remove this line after configuration

6
2­Si no estamos trabajando con el antivirus modificar la línea correspondiente desactivando la 
opción y comentar la línea indicada.

virusscan = on
virusscan = off

virusengine = 'clamav'
#virusengine = 'clamav'

3­En la sección 'Network Settings' comprobar que estén las siguientes líneas

Filterport = 8080
poxyip = 192.168.0.1
proxyport = 3128
 
4­Modificar el idioma por defecto, para esto sustituir el 'ukenglish' por 'spanish'

language = 'ukenglish'
language = 'spanish' 

5­Guardamos los cambios, salimos del editor y reiniciamos el servicio Danguardian ejecutando la 
siguiente orden

# /etc/init.d/dansguardian restart

Y así tenemos configurado a dansguardian.

Sarg

Sarg (Squid Analisys Report Genetator), es un generador de reportes para Squid el cual nos 
permitirá obtener los reportes de navegación de nuestra red, recortándonos los sitios visitados por 
usuarios. 

Instalación

Para la instalación de Sarg haremos lo siguiente
TM
#apt­get search sarg
#apt­get install sarg

PDF Editor
De esta manera tenemos instalado Sarg, listo para su configuración para generar los reporte.

7
Configuración

La configuración de Sarg es sencilla solo hay q modificar los siguientes líneas.

Sarg utiliza como fichero de configuración situado en /etc/squid/sarg.conf, el cual modificaremos 
con el editor de texto.

1­Abrimos /etc/squid/sarg.conf para la configuración

#gedit /etc/squid/sarg.conf

2­Editamos la siguientes líneas. La cuales son la de idioma, el la cual remplazaremos 'English' por 
'Spanish' y los 'access.log' de squid por  los 'access.log' de dansguardian. Para ello relazaremos lo 
siguiente

language Spanish
access_log /var/log/dansguardian/access.log

Después configuramos para que los logs de Dansguardian para que tengan el formato Squid para 
que Sarg los interprete sin problemas, para ello realizaremos lo siguiente.

4­Abrimos y editamos el fichero /etc/dansguardian/dansguardian.conf

#gedit  /etc/dansguardian/dansguardian.conf

5­Editamos la directiva logfileformat.

#log file format
#1 = dansguardian format (space delimited)
#2 = CSV­style format
#3 = Squid Log File Format
#4 = Tab delimited
logfileformat = 3
 
Cerramos el editor y reiniciamos Dansguardian

6­Para q nos genera la pagina Web con el reporte tipearemos la siguiente línea.

#sarg TM

PDF Editor 8
7­Configuramos a que hora realizara los reportes del día, para ello abrimos con el editor de texto 
/etc/crontab

#gedit /etc/crontab

8­De esta manera mostrara lo siguiente, a lo cual agregaremos la siguiente línea '5 0 * * * root 
sarg'

# m h dom mon dow user command

17 * * * * root    cd / && run­parts ­­report /etc/cron.hourly

25 6 * * * root test ­x /usr/sbin/anacron || ( cd / && run­parts ­­report /etc/cron.daily )

47 6 * * 7 root test ­x /usr/sbin/anacron || ( cd / && run­parts ­­report /etc/cron.weekly )

52 6 1 * * root test ­x /usr/sbin/anacron || ( cd / && run­parts ­­report /etc/cron.monthly )

5  0      * * * root sarg

Nota: m son los minutos (0­59), h las horas(0­23), dom son los dias del mes(1­31), mon son los 
meses(1­12), dow son los dias de la semana(1­7), user usuario(root) y command es el comando 
(sarg). * equivale a todo

De esta manera configuramos a Sarg para q realice el reporte a los 5 minitos de las 0 horas todos los 
días, todos los meses y todos los días de la semana.

9­ Para ver dicho reporte abrimos un explorador y colocamos 127.0.0.1/saquid­reports

Y de esta manera tenemos configurado nuestro generador de reportes.

DNS

DNS (Domain Name System) Sistema de Nombres de Dominio es un servidor que como tarea es 
traducir nombres de dominio de una dirección IP. DNS es conjunto de protocolos y servicios para la 
identificación/conversión de una direccion de internet expresada en lenguaje natural por una 
dirección IP. 
TM
Una URL(dirección para acceder a una página web) está compuesta por palabras separadas por 
puntos (ej: www.retonet.com.ar), para acceder a la misma, sólo se debe recordar estas palabras. Esta 

PDF Editor
dirección URL está asociada a un número (dirección IP) que identifica el servidor que se ha de 
contactar para verla (por ej: 200.10.123.01). El servicio DNS se encarga de asociar una dirección 
URL a una dirección IP.
 
9
Instalación

Para la intalacion realizaremos lo siguiente.

#apt­cahe search  bin9
#apt­get install bin9

De esta menera instalamos nuestro servidor DNS

DHCP

DHCP (Dynamic Host Configuration Protocol) es un servidor que provee direcciones IP el cual 
identifica únicamente a computadoras de nuestra red para así asignarles un IP, siendo así obtenida 
automáticamente dicha sin la necesidad de que sea configurada para la maquina cliente, esto facilita 
la conexión de los usuarios que deseen estar en nuestra red, dichas maquinas son conectadas a el 
servidor DHCP.

Instalación
Para realiza la instalación de nuestro servidor DHCP ejecutamos la siguientes líneas.

#apt­cache serach dhcp3­server
#apt­get install dhcp3­server

De esta manera tenemos instalado DHCP en nuestra computadora

Configuración
La configuración de DHCP la realizaremos sobre los archivos dhcp3­server y dhcp.conf

1­Configuraremos dhcp3­server el cual esta ubicado en /etc/default/dhcp3­server para ello lo 
abrimos con un editor de texto.

#gedit /etc/default/dhcp3­server

2­Buscamos la línea la cual dice INTERFACE y agregamos nuestra placa de red la cual es eth0
TM
INTERFACE='eth0'
 
Cerramos guardando los cambios.

PDF Editor 10
3­Configuramos las interfaces de la red. Para ello abrimos el archivo /etc/network/interfaces con el 
editor de texto

#gedit  etc/network/interfaces
 
4­Reemplazamos la configuración por default, por la siguiente.

auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.0

Ahora configuraremos dhcp.conf. Este archivo contendrá la red que será utilizada para la asignación 
de IP y el rango de IP’s, que se podrán asignar con el servicio DHCP.

5­Abrimos el  archivo dhcp.conf cual esta ubicado en /etc/dhcp3/dhcp.conf Con el editor de texto

#gedit /etc/dhcp3/dhcp.conf

6­Deshabilitamos la configuración por default. Comentando las siguientes líneas:

#option definitions common to all supported networks...
#option domain­name "example.org";
#option domain­name servers ns1.example.org, ns2.example.org;
#default­lease­time 600;
#max­lease­time 7200;

7­Habilitamos las líneas que nos servirán y con las cuales definimos la dirección de red y el rango 
de IP’s el cual será de la IP 192.168.0.11 a la 192.168.0.255

# A slightly different configuration for an internal subnet.
   subnet 192.168.0.0 netmask 255.255.255.0 {
   range 192.168.0.11 192.168.0.254;
   option domain­name­servers 192.168.0.1;
# option domain­name "internal.example.org";
   option routers 192.168.0.1; TM
   option broadcast­address 192.168.0.255;
   default­lease­time 600;
   max­lease­time 7200;

PDF Editor
Cerramos y guardamos los cambios.

11
8­Reiniciamos nuestro servidor DHCP

# /etc/init.d/dhcp3­server

De esta manera configuramos nuestro DHCP

Iptables
Iptables es un conjunto de herramientas (comandos) que le permiten al usuario enviar mensajes al 
kernel. El kernel tiene todo el manejo de paquetes TCP/IP dentro de él, no es algo aparte como lo es 
en otros sistemas operativos, por lo tanto todos los paquetes que van destinados a un Linux o lo 
atraviesan, son manejados por el mismo kernel, el cual maneja cada paquete de red, lo cual nos 
permite (a través de iptables) decirle al kernel qué debe hacer con cada uno de los paquetes. 
Entonces, iptables es una forma de indicarle al kernel algunas cosas que debe hacer con cada 
paquete, esto se hace en base a las características de un paquete en particular. Por lo tanto,  se puede 
decir iptables es un conjunto de comandos que permiten decirle al kernel qué hacer con ciertos 
paquetes que cumplan con ciertas características.

Configuración

Realizaremos la configuración de la iptables para el prerouting y el postrouting. 

1­Ejecutamos la siguiente, que se refiere al prerouting el cual se refiere a que todo lo que entre por 
eth0 con destino al puerto 80 lo envie al puerto 8080

# iptables ­t nat ­A PREROUTING ­i eth0 ­s ! 192.168.0.1 ­p tcp ­­dport 80 ­j DNAT ­­to 
192.168.0.49:8080

2­Luego realizamos la del postrouting, este se encargara de enmascarar todas las ip's de las 
maquinas clientes poniendoles el numero de ip de nuestro servidor para q puedan salir a internet

#iptables ­t nat ­A POSTROUTING ­s ! 198.168.0.1 ­o eth0 ­j MASQUERADE 

De esta manera Finalizamos con la configuración básica de un Servidor Proxy.

TM

PDF Editor 12
AGRADECIMIENTOS

El grupo que realizo este trabajo  agradece al Sr. Luís Tomas Wayar, por toda la ayuda y 
conocimiento brindado, lo que hizo posible la finalización de este trabajo, el cual fue una muy 
buena experiencia, tanto grupal como individual. El grupo adquirió conocimiento como también la 
experiencia de como se trabaja en la vida real, enfrentando problemas y solucionándolos con total 
eficacia. 

TM

PDF Editor 13

También podría gustarte