Diferencia entre revisiones de «Www-infoadicional»
(Página creada con '{{Title|Ejercicio práctico sobre WWW: CONFIGURACIÓN DETALLADA}} ===Utilización de Ethereal para las redes virtuales del escenario=== * Para poder capturar en tiempo real (co...') |
(Sin diferencias)
|
Revisión actual del 23:39 26 oct 2011
Ejercicio práctico sobre WWW: CONFIGURACIÓN DETALLADA
Sumario
Utilización de Ethereal para las redes virtuales del escenario
- Para poder capturar en tiempo real (con Ethereal, por ejemplo) evitando guardar las capturas de las máquinas virtuales y copiarlas posteriormente de manera remota, se añade en la "lan1" (red de los clientes y el proxy) y la "lan2" (la del servidor) dos nuevos atributos en su especificación:
<net name="lan1" mode="uml_switch" uml_switch_binary="/usr/bin/uml_switch4capture" capture_dev="red1" />
<net name="lan2" mode="uml_switch" uml_switch_binary="/usr/bin/uml_switch4capture" capture_dev="red2" />
- De esta forma el tráfico de las redes se podrá capturar a través de las interfaces "red1" y "red2".
Apartado 1
- Secuencia de comandos (en s1):
- Para este escenario se utilizará un servidor "apache2".
- La página que enviará el servidor es "index.html". Al arrancar la máquina virtual esta página esta vacía, por lo que se copia otra página con contenido para ser enviada. De esta forma podrá ser almacenada en el proxy más adelante.
<filetree root="/var/www" when="aptdo1">home/rebeca/vnuml/www/www_conf/apache2_html</filetree>
- Se inicia el servidor con el correspondiente comando:
<exec seq="aptdo1" type="verbatim"> /etc/init.d/apache2 start</exec>
NOTA: El servidor estará activo durante toda la práctica.
Apartado 2
- Secuencia de comandos (en p1):
- Se copia el archivo de configuración squid.conf modificado:
<filetree root="/etc/squid" when="aptdo2">home/usuario/vnuml/www/www_conf/squid_www_2</filetree>
- Se inicia el proxy. Para este escenario se utilizará un proxy "squid".
<exec seq="aptdo2" type="verbatim"> /etc/init.d/squid start</exec>
squid.conf:
- Las modificaciones al archivo original son las siguientes:
- Variable "visible_hostname":
- Por defecto era:
visible_hostname none
- En este apartado:
visible_hostname proxy
- Variable "http_access":
- Por defecto era:
http_access deny all
- En este apartado:
http_access allow all
Apartado 3
- Secuencia de comandos (en p1):
- Se para el servicio squid para poder llevar a cabo la reconfiguración:
<exec seq="aptdo3" type="verbatim"> /etc/init.d/squid stop</exec>
- Se borra caché del proxy squid:
- La manera más rápida de reiniciar el proxy con una caché totalmente limpia es sobrescribir los archivos swap.state de cada directorio de caché del archivo de configuración (en este caso sólo uno en var/spool/squid/swap.state). Sin embargo, no se puede simplemente borrar el archivo swap.state o truncar su tamaño a cero. Se debe colocar en él un byte de basura:
<exec seq="aptdo3" type="verbatim"> echo "" >/var/spool/squid/swap.state </exec>
- Se recrean los directorios:
<exec seq="aptdo3" type="verbatim"> squid -z </exec>
- Se reinicia el servicio squid:
<exec seq="aptdo3" type="verbatim"> /etc/init.d/squid restart</exec>
Apartado 4
- Secuencia de comandos (en p1):
- Se copia el archivo de configuración squid.conf modificado:
<filetree root="/etc/squid" when="aptdo4">home/usuario /vnuml/www/www_conf/squid_www_3</filetree>
- Se reinicia el proxy:
<exec seq="aptdo4" type="verbatim"> /etc/init.d/squid restart</exec>
squid.conf:
- Las modificaciones al archivo original son las siguientes:
- Variable "visible_hostname":
- Por defecto era:
visible_hostname none
- En este apartado:
visible_hostname proxy
- Variable "http_access":
- Por defecto era:
http_access deny all
- En este apartado:
- Para permitir el acceso al cliente 1, en primer lugar se crea una lista de acceso (acl c1) con su dirección IP:
acl c1 src 192.168.1.2/255.255.255.255 http_access allow c1
- Para denegar el acceso al cliente 1, en primer lugar se crea una lista de acceso (acl c2) con su dirección IP:
acl c2 src 192.168.1.4/255.255.255.255 http_access deny c2
Apartado 5
- Secuencia de comandos VNUML (en p1):
- Se restaura la configuración del squid del segundo apartado para que todas las máquinas tengan el acceso permitido de ahora en adelante.
<filetree root="/etc/squid" when="aptdo5">home/rebeca/vnuml/www/www_conf/squid_www_2</filetree>
- Se borra la caché del squid:
<exec seq="aptdo5" type="verbatim"> /etc/init.d/squid stop</exec> <exec seq="aptdo5" type="verbatim"> echo "" >/var/spool/squid/swap.state </exec> <exec seq="aptdo5" type="verbatim"> squid -z </exec> <exec seq="aptdo5" type="verbatim"> /etc/init.d/squid restart</exec>
- Secuencia de comandos VNUML (en s1):
- Se copian los archivo de configuración httpd, expires.conf y expires.load:
<filetree root="/etc/apache2" when="aptdo5">home/rebeca/vnuml/www/www_conf/httpd</filetree> <filetree root="/etc/apache2/mods-available" when="aptdo5">home/rebeca/vnuml/www/www_conf/expires_conf</filetree> <filetree root="/etc/apache2/mods-available" when="aptdo5">home/rebeca/vnuml/www/www_conf/expires_load</filetree>
- Se para el servicio apache para poder llevar a cabo la reconfiguración:
<exec seq="aptdo5" type="verbatim"> /etc/init.d/apache2 stop</exec>
- Se crean los enlaces simbólicos necesarios para la carga del módulo del squid "mod-expires":
<exec seq="aptdo5" type="verbatim"> ln -s /etc/apache2/mods-available/expires.load /etc/apache2/mods-enabled/expires.load </exec> <exec seq="aptdo5" type="verbatim"> ln -s /etc/apache2/mods-available/expires.conf /etc/apache2/mods-enabled/expires.conf </exec>
- Se reinicia el servicio apache:
<exec seq="aptdo5" type="verbatim"> /etc/init.d/apache2 restart</exec>
httpd.conf:
- Este archivo, originalmente, no existe. En él indicamos la ubicación del archivo de configuración de mod-expires, cuando éste está cargado, con las líneas:
- <IfModule mod_expires.c>
- Include /etc/apache2/mods-available/expires.conf
- </IfModule>
expires.conf:
- Este archivo, originalmente, no existe. En primer lugar habilitamos las expiraciones. Esto significa que nos disponemos a establecer un tiempo en el que el proxy considerará que la copia de la página que conserva en caché puede no estar actualizada. A partir de la cantidad de tiempo que impongamos, el proxy hará un Get condicional al servidor en caso de petición de un cliente. Para este apartado seleccionamos 0 segundos, de forma que el proxy estará obligado a hacer la petición condicional en todos los casos. Las órdenes necesarias son:
- ExpiresActive On
- ExpiresDefault "access plus 0 seconds"
expires.load:
- En principio este archivo está vacío. Si escribimos en él la siguiente línea damos la orden de cargar el módulo utilizado ("mod-expires"):
- LoadModule expires_module /usr/lib/apache2/modules/mod_expires.so
Apartado 6
- Secuencia de comandos VNUML (en p1):
- Se borra la caché del squid:
<exec seq="aptdo6" type="verbatim"> /etc/init.d/squid stop</exec> <exec seq="aptdo6" type="verbatim"> echo "" >/var/spool/squid/swap.state </exec> <exec seq="aptdo6" type="verbatim"> squid -z </exec> <exec seq="aptdo6" type="verbatim"> /etc/init.d/squid restart</exec>
- Secuencia de comandos VNUML (en s1):
- Se copian los archivo de configuración httpd, headers.conf y headers.load:
<filetree root="/etc/apache2" when="aptdo6">home/rebeca/vnuml/www/www_conf/httpd_2</filetree> <filetree root="/etc/apache2/mods-available" when="aptdo6">home/rebeca/vnuml/www/www_conf/headers_conf</filetree> <filetree root="/etc/apache2/mods-available" when="aptdo6">home/rebeca/vnuml/www/www_conf/headers_load</filetree>
- Se para el servicio apache para poder llevar a cabo la reconfiguración:
<exec seq="aptdo6" type="verbatim"> /etc/init.d/apache2 stop</exec>
- Se borran los ficheros de configuración para establecer un tiempo de expiración:
<exec seq="aptdo6" type="verbatim"> rm /etc/apache2/mods-available/expires.conf /etc/apache2/mods-available/expires.load /etc/apache2/mods-enabled/expires.conf /etc/apache2/mods-enabled/expires.load </exec>
- Se crean los enlaces simbólicos necesarios para la carga del módulo del squid "mod-headers":
<exec seq="aptdo6" type="verbatim"> ln -s /etc/apache2/mods-available/headers.load /etc/apache2/mods-enabled/headers.load </exec> <exec seq="aptdo6" type="verbatim"> ln -s /etc/apache2/mods-available/headers.conf /etc/apache2/mods-enabled/headers.conf </exec>
- Se reinicia el servicio apache:
<exec seq="aptdo6" type="verbatim"> /etc/init.d/apache2 restart</exec>
httpd.conf:
- Este archivo, originalmente, no existe. En él indicamos la ubicación del archivo de configuración de mod-headers, cuando éste está cargado, con las líneas:
- <IfModule mod_headers.c>
- Include /etc/apache2/mods-available/headers.conf
- </IfModule>
headers.conf:
- Este archivo, originalmente, no existe. Con esta línea añadimos a todos los paquetes HTTP que envíe el servidor un campo en la cabecera que impide que sean almacenados. Esto quiere decir que ningún proxy podrá guardar una copia en su caché de las páginas de ese servidor. Siempre tendrá que acudir al servidor.
- Header append Cache-Control "no-store"
headers.load:
- En principio este archivo está vacío. Si escribimos en él la siguiente línea damos la orden de cargar el módulo utilizado ("mod-headers"):
- LoadModule expires_module /usr/lib/apache2/modules/mod_headers.so
Apartado 7
- Secuencia de comandos VNUML (en p1):
- Se borra la caché del squid:
<exec seq="aptdo7" type="verbatim"> /etc/init.d/squid stop</exec> <exec seq="aptdo7" type="verbatim"> echo "" >/var/spool/squid/swap.state </exec> <exec seq="aptdo7" type="verbatim"> squid -z </exec> <exec seq="aptdo7" type="verbatim"> /etc/init.d/squid restart</exec>
- Se copian los archivo de configuración httpd, headers.conf (modificado respecto al apartado anterior) y headers.load:
<filetree root="/etc/apache2" when="aptdo7">home/rebeca/vnuml/www/www_conf/httpd_2</filetree> <filetree root="/etc/apache2/mods-available" when="aptdo7">home/rebeca/vnuml/www/www_conf/headers_conf_2</filetree> <filetree root="/etc/apache2/mods-available" when="aptdo7">home/rebeca/vnuml/www/www_conf/headers_load</filetree>
- Secuencia de comandos VNUML (en s1):
- Se para el servicio apache para poder llevar a cabo la reconfiguración:
<exec seq="aptdo6" type="verbatim"> /etc/init.d/apache2 stop</exec>
- Se borra el enlace simbólico al anterior headers.conf puesto que se ha modificado:
<exec seq="aptdo7" type="verbatim"> rm /etc/apache2/mods-enabled/headers.conf </exec>
- Se crean los enlaces simbólicos necesarios para la carga del módulo del squid "mod-headers":
<exec seq="aptdo7" type="verbatim"> ln -s /etc/apache2/mods-available/headers.load /etc/apache2/mods-enabled/headers.load </exec> <exec seq="aptdo7" type="verbatim"> ln -s /etc/apache2/mods-available/headers.conf /etc/apache2/mods-enabled/headers.conf </exec>
- Se reinicia el servicio apache:
<exec seq="aptdo7" type="verbatim"> /etc/init.d/apache2 restart</exec>
httpd.conf:
- Este archivo, originalmente, no existe. En él indicamos la ubicación del archivo de configuración de mod-headers, cuando éste está cargado, con las líneas:
- <IfModule mod_headers.c>
- Include /etc/apache2/mods-available/headers.conf
- </IfModule>
headers.conf:
- Este archivo, originalmente, no existe. Con esta línea añadimos a todos los paquetes HTTP que envíe el servidor un campo en la cabecera que impide que sean cacheados. Esto quiere decir que ningún proxy podrá entregar una copia almacenada en su caché sin previa confirmación del servidor (con un Get condicional):
- Header append Cache-Control "no-cache"
headers.load:
- En principio este archivo está vacío. Si escribimos en él la siguiente línea damos la orden de cargar el módulo utilizado ("mod-headers"):
- LoadModule expires_module /usr/lib/apache2/modules/mod_headers.so
Apartado 8
- Para incluir el host en el escenario son necesarias las siguientes líneas en la especificación www.xml:
- <host>
- <hostif net="lan2">
- <ipv4>192.168.2.3</ipv4>
- </hostif>
- <route type="ipv4" gw="192.168.2.1">192.168.0.0/16</route>
- <hostif net="lan2">
- </host>
- Secuencia de comandos VNUML (en p1) para la primera parte:
- Se borra la caché del squid:
<exec seq="aptdo8" type="verbatim"> /etc/init.d/squid stop</exec> <exec seq="aptdo8" type="verbatim"> echo "" >/var/spool/squid/swap.state </exec> <exec seq="aptdo8" type="verbatim"> squid -z </exec> <exec seq="aptdo8" type="verbatim"> /etc/init.d/squid restart</exec>
- Secuencia de comandos VNUML (en s1) para la primera parte:
- Se para el servicio apache para poder llevar a cabo la reconfiguración:
<exec seq="aptdo8" type="verbatim"> /etc/init.d/apache2 stop</exec>
- Se borran los ficheros de configuración para añadir cabeceras HTTP:
<exec seq="aptdo8" type="verbatim"> rm /etc/apache2/mods-available/headers.conf /etc/apache2/mods-available/headers.load /etc/apache2/mods-enabled/headers.conf /etc/apache2/mods-enabled/headers.load </exec>
- Se reinicia el servicio apache:
<exec seq="aptdo8" type="verbatim"> /etc/init.d/apache2 restart</exec>
- Secuencia de comandos VNUML (en p1) para la segunda parte:
- Se borra la caché del squid:
<exec seq="aptdo8B" type="verbatim"> /etc/init.d/squid stop</exec> <exec seq="aptdo8B" type="verbatim"> echo "" >/var/spool/squid/swap.state </exec> <exec seq="aptdo8B" type="verbatim"> squid -z </exec> <exec seq="aptdo8B" type="verbatim"> /etc/init.d/squid restart</exec>
- Secuencia de comandos (en s1) para la segunda parte:
- Se para el servicio squid para poder llevar a cabo la reconfiguración:
<exec seq="aptdo8B" type="verbatim"> /etc/init.d/apache2 stop</exec>
- Se configura como página a enviar una página que contiene un enlace a una imagen y se introduce en el directorio la imagen correspondiente:
<exec seq="aptdo8B" type="verbatim"> cp /var/www/apache2-default/index.html.es /var/www/index.html </exec> <exec seq="aptdo8B" type="verbatim"> cp /var/www/apache2-default/apache_pb.gif /var/www </exec>
- Se reinicia el servicio squid:
<exec seq="aptdo8B" type="verbatim"> /etc/init.d/apache2 restart</exec>