Internet, red de redes
Transcript of Internet, red de redes
Internet, red de redes
Internet es la red de redes que interconecta ordenadores mediante diferentes protocolos.
Un ordenador puede conectarse a una red local y los ordenadores de dicha red local pueden conectarse a Internet mediante una puerta de enlace.
Existen ordenadores permanentemente conectados a Internet que ofrecen recursos (son los servidores)
2
¿Qué es Internet? (1) Servidor
Cliente
3
¿Qué es Internet? (2)
Red Local Enrutador
Servicios de Comunicación
Enrutador
Red Local
Enrutador
Red Local Enrutador
Red Local
4
Como trabajan los servicios en internet
El cliente envía un mensaje de solicitud al servidor para pedir cierto servicio (ejemplo: lectura de un bloque de cierto archivo).
El servidor hace el trabajo y regresa los datos solicitados o un código de error.
Núcleo Núcleo
Cliente Servidor
Solicitud
Respuestas
Cliente/servidor:
5
Intr
anet
pro
tegi
da
ServidorinternoWWW,
Base de Datos
Servidoexterno
WWW, ftp
Servidormail, DNS
Red
per
imet
ral *
Fire
wal
l
Enrutador
Interior
Internet
EnrutadorExterior
Enrutador exterior
Enrutador interior
Servidor externo www, ftp
Servidor Mail, DNS
Servidor interno BD, www
Implementar servicios de internet/internet en empresas
6
Un servidor web se mantiene a la espera de peticiones de ejecución que le hará un cliente o un usuario de Internet. El servidor web se encarga de contestar a
estas peticiones de forma adecuada, entregando como resultado una página web o información de todo tipo de acuerdo a los comandos solicitados.
¿CUÁLES SON LAS FUNCIONES DE UN SERVIDOR WEB?
7
¿CUÁLES SON LAS FUNCIONES DE UN SERVIDOR WEB?
8
• "SERVIDOR DEDICADO", que se refiere a una computadora servidor dedicada exclusivamente al sitio del cliente (para aplicaciones de alta demanda).
• "SERVIDOR COMPARTIDO", lo que significa que un mismo servidor (computadora + programa servidos) se usará para varios clientes compartiendo los recursos.
¿QUÉ TIPOS DE SERVIDOR WEB EXISTEN?
9
¿CUÁLES SON LOS SERVIDORES WEB MÁS UTILIZADOS?
• Apache: Este es el más común y más utilizado en todo el mundo. Además, es gratuito y de código abierto, así que podríamos decir que corre sobre cualquier plataforma.
• Microsoft IIS: Sólo funciona sobre sistemas Windows. Si quieres instalarlo sobre otro sistema, tendrás que utilizar una máquina virtual.
10
¿CUÁLES SON LOS SERVIDORES WEB MÁS UTILIZADOS?
• Ngnix: Este es un servidor Web muy ligero y corre sobre sistemas Unix y Windows.
• Lighttp: Está especialmente pensado para hacer cargas pesadas sin perder balance, utilizando poca RAM y poca CPU.
• Sun Java System Web Server: Es multiplataforma, y se distribuye con licencias de código abierto (BSD concretamente).
11
COMO FUNCIONAN LOS SERVIDORES WEB
• La mayoría de servidores añaden algún nivel de seguridad a sus tareas. Página protegida por contraseña.
• El servidor permite al administrador del servidor que mantenga una lista de nombres y contraseñas para las personas a las que se les permite ver la página.
12
COMO FUNCIONAN LOS SERVIDORES WEB
• Añaden seguridad para permitir una conexión encriptada entre el servidor y el navegador para que información de suma importancia como números de tarjetas de crédito puedan ser enviados por internet.
• No está simplemente manejando archivos sino que también está procesando información generando una página dinámica.
13
Cómo funciona la web
14
En la versión 1.0 del protocolo HTTP el cliente web podía solicitar del servidor solo tres operaciones
Cómo funciona la web (1)
Para poder visualizar una página web es preciso: 1)Tener un ordenador conectado a Internet:
Establecer una conexión PPP con la máquina del ISP o estar conectada a una puerta de enlace que tenga acceso a internet.
El ordenador debe tener una dirección IP y una dirección de servidor DNS
15
Cómo funciona la web (2)
2) Iniciar sesión en un navegador Web (ej.: Internet Explorer, Firefox, Safari, etc.) 3) Indicar al navegador el URL de la página que se desea "visitar". 4) El navegador pide al DNS la dirección IP correspondiente al servidor que contiene el documento cuyo URL se ha indicado. 5) El navegador abre una sesión TCP con la máquina cuya dirección IP se ha obtenido.
16
Cómo funciona la web (3)
6) El navegador solicita al servidor que le transmita el documento (orden GET).
7) El servidor web envía el documento.
8) La conexión TCP finaliza.
9) El navegador muestra el documento.
17
Estructura de un URL URL = Uniform Resource Locator
http://www.uv.es/cerveron/index.html
Nombre del protocolo de comunicación con el servidor (http es el estándar para web)
Nombre del dominio del servidor web donde se almacena el documento
Localización del documento dentro del sistema de archivos del servidor web
18
Cómo funciona la web (4)
Servidor de nombres (DNS)
Servidor Web
Cliente Web (Mosaic, Netscape, Internet Explorer,
Firefox, etc.)
Internet Abrir dirección “http://www.uv.es/cerveron/index.html”
Buscando host: www.uv.es
¿dirección IP www.uv.es?
147.156.11.1
Cómo funciona la web (5)
19
Servidor de nombres (DNS)
Servidor Web
Cliente Web (Mosaic, Netscape, Internet Explorer,
Firefox, etc.)
Internet Abrir dirección “http://www.uv.es/cerveron/index.html”
Envíame el documento cerveron/index.html
Cómo funciona la web (6)
20
WWW es un sistema Cliente/Servidor
Clientes Web: Utilizan el protocolo HTTP para conectar con los servidores. Solicitan y muestran las páginas web almacenadas en los
servidores. Clientes típicos: navegadores web (Explorer, Firefox).
Servidores Web: "Escuchan" conexiones entrantes desde clientes. Utilizan el protocolo HTTP para conversar con los clientes. Almacenan y transmiten páginas web a los clientes. Actualmente interactúan con el usuario y generan
dinámicamente páginas web
21
Servidores Web
22
El servidor web, además de suministrar páginas web HTML que no cambian (estáticas), también permite la ejecución de pequeños programas en diferentes lenguajes (PHP, CGI, Java, etcétera) que les proporcionan dinamismo. Los tres elementos básicos que componen las peticiones web dinámicas son: el cliente que la hace, el servidor que la atiende y los datos solicitados.
Servidor Web Apache 2
● Instalación:
#apt-get install apache2 ● Configuración:
/etc/apache2/apache2.conf /etc/apache2/httpd.conf /etc/apache2/sites-available /etc/apache2/sites-enabled /etc/apache2/ports.conf /etc/apache2/mods-avalaible /etc/apache2/mods-enabled
23
Servidor Web Apache 2 La configuración del servidor por defecto define un host virtual default cuyo directorio de trabajo es /var/www, por lo tanto para probar que el servidor está instalado podemos poner en un navegador http://localhost, con lo que se visualizará
24
25
#ps ax|grep apache2 1240 ? Ss 0:00 /usr/sbin/apache2 -k start 1241 ? S 0:00 /usr/sbin/apache2 -k start 1242 ? S 0:00 /usr/sbin/apache2 -k start 1244 ? S 0:00 /usr/sbin/apache2 -k start 1245 ? S 0:00 /usr/sbin/apache2 -k start 1246 ? S 0:00 /usr/sbin/apache2 -k start
Por lo tanto, al instalar Apache2 ya entra en ejecución y lanza varios procesos para atender peticiones http. Para comprobarlo ejecutar la orden:
Servidor Web Apache 2
26
Si se quiere conocer, en un momento determinado, cuál es la versión de Apache2 instalada, ejecutar la orden: #apache2 -v Server version: Apache/2.2.16 (Ubuntu) Server built: Nov 18 2010 21:17:29
Servidor Web Apache 2
¿QUÉ OPÈRACIONES SE PUEDEN REALIZAR CON EL SERVIDOR WEB?
1. Arrancar Apache: ejecutar como root la orden: #/etc/init.d/apache2 start Si no arranca de forma automática, para añadir las entradas adecuadas para que el servidor web se inicie en los niveles de ejecución estándar de Debian ejecutar: #update-rc.d apache2 defaults 2. Detener Apache: ejecutar como root la orden: #/etc/init.d/apache2 stop * Stopping web server apache2 ... ...waiting
28
3. Reiniciar el servidor: cierra las conexiones activas. #/etc/init.d/apache2 restart 4. Forzar a que Apache vuelva a leer su archivo de configuración: #/etc/init.d/apache2 reload/force-reload
¿QUÉ OPÈRACIONES SE PUEDEN REALIZAR CON EL SERVIDOR WEB?
29
Nombre Descripción a2enmod Activa módulos utilizando el anterior sistema de configuración.
a2dismod Desactiva módulos utilizando el anterior sistema de configuración.
a2ensite Activa sitios.
a2dissite Desactiva sitios.
Herramientas disponibles
Módulos en Apache2
Para conseguir que cualquier usuario del sistema pueda publicar su contenido web en el servidor será necesario que su home contenga el directorio public_html, y dentro de éste la página en cuestión.
30
Pasos a seguir: 1) Edita el archivo de configuración del módulo userdir #gedit /etc/apache2/mods-available/userdir.conf 2) Comprueba en el archivo la sección Directory <Directory /home/*/public_html> 4) Activar el módulo userdir #a2enmod userdir 4) Reiniciar el servidor apache ¿Los módulos se activan en caliente? #/etc/init.d/apache2 restart
31
5) Crea una carpeta public_html en el usuario emilio, y dentro un archivo index.html que de la bienvenida a la página personal. <html> <body> <h1> Estás dentro </h1> <h1> Página de Emilio </h1> </body> </html>
Posible contenido del fichero index.html
32
6)Accedemos a la página mediante el navegador y con la URL http://10.0.0.100/~emilio 7) Si queremos acceder a la página sin necesidad de utilizar el carácter ~(gusanillo: Alt Gr- 4) hay que definir un alias en /etc/apache2/mods-available/alias.conf . Editar el archivo: #gedit /etc/aparche2/mods-available/alias.conf Y añadimos la línea: Alias /emilio /home/emilio/public_html/ Y reiniciamos el servicio… 8) Accedemos a la página del usuario a través del navegador y con la URL http://10.0.0.100/emilio
33
Autenticación Básica en Apache2
• Suponemos que tenemos nuestro servidor en funcionamiento.
• Dentro de nuestro servidor queremos tener una carpeta donde tendremos contenido privado con acceso privado.
• El procedimiento es el siguiente:
34
1) Creamos una carpeta «privado» donde pondremos contenidos de acceso privado: #mkdir /var/www/miweb/privado 2) Introducimos una página web de prueba en esta carpeta: index.html que será la que vean los usuarios con contraseña. <html> <body> <h1> Estás dentro </h1> <h1> Directorio Privado </h1> </body> </html>
Posible contenido del fichero index.html
35
3) Creamos la carpeta donde estará el fichero de claves de los usuarios fuera del alcance de la web: #mkdir /etc/apache2/miweb/passwd 4) Creamos el fichero claves que contendrá las claves de los usuarios a los cuales daremos permisos: #htpasswd –c /etc/apache2/miweb/passwd/claves ana
36
5) Añadimos al fichero claves los usuarios a los que pretendemos darles permisos de la siguiente forma: #htpasswd /etc/apache2/miweb/passwd/claves antonio #htpasswd /etc/apache2/miweb/passwd/claves pepe #htpasswd /etc/apache2/miweb/passwd/claves juan Para cada usuario habrá que introducir su contraseña de acceso.
Una vez hecho esto, tendremos que ir al fichero de configuración default que se encuentra en: /etc/apache2/sites-available/ y editarlo de la siguiente forma: #gedit /etc/apache2/sites-available/default
37
38
passwd/claves
6) Tras configurar el fichero default tenemos que recargar el servicio para que la configuración se actualice: Dos posibilidades: #/etc/init.d/apache2 reload #/etc/init.d/apache2 restart 7) Comprobar que funciona desde un navegador dentro del propio servidor, y también desde un navegador de un cliente ajeno al servidor. http://localhost/miweb/privado http://10.0.0.100/miweb/privado 39
8) Comprobamos que tanto en un caso como en otro nos pide una autenticación, es decir, un usuario y una contraseña para poder darnos paso. Ojo que irán en texto plano si no utilizamos certificados https.
40
Creación de grupos de usuarios
Si lo que queremos es restringir el acceso basándonos en grupos de usuarios, el procedimiento es muy similar al caso anterior. 1) Añadimos los usuarios al fichero claves como antes: #htpasswd /etc/apache2/miweb/passwd/claves emilio #htpasswd /etc/apache2/miweb/passwd/claves pedro Introduciendo sus contraseñas. 2) Creamos el fichero del grupo de la forma: #echo “Alumnos: emilio pedro” > /etc/apache2/miweb/grupo
41
3) Editamos el fichero default: #gedit /etc/apache2/sites-available/default y - Empleamos la directiva AuthGroupFile. AuthGroupFile /etc/apache2/miweb/grupo - Requerimos el uso de un grupo determinado. Require Group Alumnos
El resultado en el fichero de configuración default quedaría de la siguiente forma:
42
43
4) Recargamos el servidor para que los cambios tengan efecto: #/etc/init.d/apache2 reload
REALIZAMOS LAS COMPROBACIONES
TENEMOS QUE COMPROBAR QUE SOLO PERMITE EL ACCESO A LA CARPETA PRIVADA A LOS USUARIOS
QUE PERTENECEN AL GRUPO ALUMNOS
44
Host Virtuales: Basados en Nombres
1) Crear la estructura donde vamos a meter nuestra web: #mkdir /var/www/miweb/aula #mkdir /var/www/miweb/profesor 2) Crear un index.html adecuado dentro de cada una de las carpetas anteriores. 3) Creamos un fichero de configuración como el de la página siguiente: denominado confighvn
45
/etc/apache2/sites-available/confighvn
Host Virtuales: Basados en Nombres
46
Host Virtuales: Basados en Nombres
4) Habilitamos el sitio confighvn y desactivamos los demás para evitar conflictos. #a2ensite confighvn #a2dissite default 5) Reiniciamos el servidor apache para que los cambios tomen efecto: #/etc/init.d/apache2 restart
47
Host Virtuales: Basados en Nombres
6) Si no tenemos servidor DNS en el cliente desde donde accederemos al servidor bastará con modificar los siguientes ficheros en las maquinas clientes Windows y Ubuntu según el caso: C:/windows/system32/drivers/etc/hosts /etc/hosts
Tras esto realizamos las comprobaciones….
10.0.0.100 www.servidorweb.com 10.0.0.100 www.profesor.com 10.0.0.100 www.aula.com
48
Host Virtuales: Basados en Nombres
7) Probad desde un navegador web a introducir las direcciones siguientes: www.servidorweb.com www.profesor.com www.aula.com Hacedlo desde un cliente de la red interna y desde un cliente fuera de la red como puede ser el Host Anfitrión (Windows 7).
49
Recordad: En nuestra máquina virtual tendremos que tener dos tarjetas de red. Una de ellas es la que conecta la red interna: 192.168.0.136 (NAT) y la otra es la que conecta con el exterior hacia nuestro host anfitrión (W7) que está configurada como Custom:VMnet1 y sería por ejemplo: 192.168.20.130
50
Host Virtuales: Acceso por Dir. IP
Host Virtuales: Acceso por Dir. IP
1) Crear la estructura donde vamos a meter nuestra web, si no está hecho todavía: #mkdir /var/www/aula #mkdir /var/www/profesor 2) Crear un index.html adecuado dentro de cada una de las carpetas anteriores. 3) Creamos un fichero de configuración como el de la página siguiente: denominado confighvip
51
Host Virtuales: Acceso por Dir. IP
52
confighvip
Host Virtuales: Acceso por Dir. IP
4) Habilitamos el sitio confighvip y desactivamos los demás para evitar conflictos. #a2ensite confighvip #a2dissite default 5) Reiniciamos el servidor apache para que los cambios tomen efecto: #/etc/init.d/apache2 restart
53
Host Virtuales: Acceso por Dir. IP 6) Si no tenemos servidor DNS en el cliente desde donde accederemos al servidor bastará con modificar los siguientes ficheros en las maquinas clientes Windows y Ubuntu según el caso: C:/windows/system32/drivers/etc/hosts /etc/hosts
Tras esto realizamos las comprobaciones….
192.168.0.136 www.miweb.com 192.168.20.130 www.profesor.com 192.168.0.136 www.aula.com
WINDOWS 7
54
UBUNTU
Host Virtuales: Acceso por Dir. IP
55
Recordad que todo la configuración de red sea la correcta: En nuestra máquina virtual tendremos que tener dos tarjetas de red. Una de ellas es la que conecta la red interna: 192.168.0.136 (NAT) y la otra es la que conecta con el exterior hacia nuestro host anfitrión (W7) que está configurada como Custom:VMnet1 y sería por ejemplo: 192.168.20.130
Host Virtuales: Acceso por Dir. IP
7) Probad desde un navegador web a introducir las direcciones siguientes: www.servidorweb.com www.profesor.com www.aula.com Hacedlo desde el servidor, desde un cliente de la red interna y desde un cliente fuera de la red como puede ser el Host Anfitrión (Windows 7).
56
Host Virtuales: Acceso por Dir. IP
57
• Desde dentro del servidor Ubuntu: – Accediendo tanto desde la dirección:
• www.profesor.com o • www.aula.com no hay problemas.
– Accediendo por la dirección IP tampoco hay ningún problema:
• 192.168.20.130 accedemos al AULA • 192.168.0.136 accedemos a PROFESOR
Host Virtuales: Acceso por Dir. IP
• Desde un cliente de la red interna: – Siempre sale la web www.profesor.com
• Accediendo tanto desde la dirección: www.profesor.com o desde www.aula.com coge el primer virtualhost definido que se encuentra en el fichero de configuración confighvip.
– Accediendo por las Ips no hay ningún problema: • 192.168.20.130 accedemos al AULA • 192.168.0.136 accedemos a PROFESOR
58
Host Virtuales: Acceso por Dir. IP
• Desde fuera del servidor Ubuntu: – Accediendo tanto desde la dirección:
• www.profesor.com o • www.aula.com no hay problemas.
– Accediendo por la dirección IP tampoco hay ningún problema:
• 192.168.20.130 accedemos al AULA • 192.168.0.136 accedemos a PROFESOR
59
Host Virtuales: Acceso por Puerto
• Seguimos los pasos anteriores lo mismo que en el caso de Acceso por nombres y Acceso por Ips.
• En esta ocasión configuramos el fichero confighvp y lo activamos.
• Vemos como quedaría el fichero de configuración:
60
Host Virtuales: Acceso por Puerto confighvp
61
Host Virtuales: Acceso por Puerto
• Comprobaciones: Como tenemos definido el puerto 80 para la web del profesor y el puerto 8080 para la web del aula:
– Siempre que se añada el puerto 8080 a cualquier dirección nos mostrará la web del aula.
– Si omitimos o añadimos el puerto 80 a la dirección solo nos saldrá la web del profesor.
62
Host Virtuales: Acceso por Puerto
• www.profesor.com funciona profesor • www.profesor.com:80 funciona profesor • www.profesor.com:8080 funciona aula • www.aula.com:8080 funciona aula • www.servidorweb.com:8080 funciona aula • www.aula.com servidor genérico • www.servidorweb.com servidor genérico
63
Webalizer • Webalizer es una herramienta de análisis de servidores
rápida, fiable y fácil de usar. Genera informes con información detallada sobre todos los movimientos que se producen en un servidor web.
• Instalación:
#apt-get install webalizer
• Modificamos el fichero /etc/apache2/apache2.conf
Donde pone: HostnameLookups Off On
64
65
Configuración de webalizer Suponemos que ya tenemos de las prácticas anteriores configurado un fichero como el confighvn que es un Host Virtual basado en Nombres. Donde tenemos una estructura de directorios ya creada para las páginas de www.aula.com y www.profesor.com
Recordatorio
66
Configuración de webalizer
• Empezaremos configurando webalizer para obtener estadísticas sobre un único dominio, en este caso será:
www.profesor.com
• Seguidamente, configuraremos webalizer para obtener estadísticas de varios nombres de dominios, en este caso serán:
www.profesor.com y www.aula.com
Configuración de webalizer
● El fichero de configuración generado es: /etc/webalizer/webalizer.conf Modificamos: – LogFile /var/log/apache2/access.log.1 access.log – OutputDir /var/www/miweb/profesor/webalizer – HostName http://www.profesor.com
67
Creamos antes esta carpeta
68
Configuración de webalizer • Ejecutamos webalizer y reiniciamos: $sudo webalizer $sudo reboot • Para ejecutar webalizer periódicamente, para actualizar
las estadísticas, podemos usar el cron: $sudo crontab -e y añadimos 0 **** webalizer Por lo que webalizer se ejecutará cada hora
69
Configuración de webalizer
• Para ver las estadísticas :
Abrimos el navegador y tenemos dos posibilidades: 1) www.profesor.com/webalizer (mejor)
2) /var/www/webalizer/index.html
Configuración de webalizer para dominios virtuales
1) Hay que guardar los accesos a cada dominio en ficheros logs diferentes, modificando el archivo : /etc/apache2/sites-availables/ confighvn :
70
ErrorLog /var/log/apache2/profesor-error.log CustomLog /var/log/apache2/profesor-access.log common
ErrorLog /var/log/apache2/aula-error.log CustomLog /var/log/apache2/aula-access.log common
Como aparece en la siguiente diapositiva….
Profesor
Aula
Configuración de webalizer para dominios virtuales
71
/etc/apache2/sites-available/confighvn
Configuración de webalizer para dominios virtuales
2) Creamos un directorio donde vamos a guardar los ficheros de configuración para cada dominio:
#mkdir /var/www/estadistica/
3) Creamos los directorios donde se van a guardar las estadísticas generadas:
#mkdir /var/www/miweb/profesor/webalizer #mkdir /var/www/miweb/aula/webalizer
72
Configuración de webalizer para dominios virtuales
4) A partir del fichero de configuración de webalizer vamos a crear ficheros de configuración para cada dominio:
cp /etc/webalizer/webalizer.conf /var/www/estadistica/aula.conf
cp /etc/webalizer/webalizer.conf /var/www/estadistica/profesor.conf
5) En aula.conf hago las modificaciones:
- LogFile /var/log/apache2/aula-access.log - OutputDir /var/www/miweb/aula/webalizer - HostName www.aula.com
73
Configuración de webalizer para dominios virtuales
6) En profesor.conf hago las modificaciones: - LogFile /var/log/apache2/profesor-access.log - OutputDir var/www/miweb/profesor/webalizer - HostName www.profesor.com
74
Configuración de webalizer para dominios virtuales
7) Se ejecuta webalizer a mano: webalizer -c /var/www/estadistica/aula.conf webalizer -c /var/www/estadistica/profesor.conf
Ya podríamos ver la estadística: www.aula.com/webalizer www.profesor.com/webalizer Si lo que se quiere es automatizar el proceso, es decir, que se actualice automáticamente cada cierto tiempo lo vemos a continuación.
75
Configuración de webalizer para dominios virtuales
8) Creo un script estadistica.sh: #!/bin/bash webalizer -c /var/www/estadistica/aula.conf webalizer -c /var/www/estadistica/profesor.conf Se puede ejecutar: $sh estadistica.sh
9) Creo una tarea con el crontab: $sudo crontab -e 0,10,20,30,40,50 * * * * estadistica.sh > /dev/null
76
¡GRACIAS! 77