Merge branch 'master' of gitlab.com:naortega/ceu-notes
This commit is contained in:
commit
02be4e23db
105
1/GBD/t6-ex-nortega.sql
Normal file
105
1/GBD/t6-ex-nortega.sql
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
SET SERVEROUTPUT ON;
|
||||||
|
|
||||||
|
-- ej1
|
||||||
|
|
||||||
|
/* Declara una variable departamento que tenga como tipo de dato una fila
|
||||||
|
* completa de la tabla dept.
|
||||||
|
*
|
||||||
|
* Después, mediante un cursor implícito, guarda en esa variable departamento la
|
||||||
|
* fila de la tabla dept cuyo campo loc vale CHICAGO. Para terminar, utiliza un
|
||||||
|
* bucle FOR que recorra todas las letras del nombre (dname) de la fila guardada
|
||||||
|
* en la variable departamento y vaya mostrando en cada iteración, cada letra
|
||||||
|
* de dname.
|
||||||
|
*/
|
||||||
|
|
||||||
|
DECLARE
|
||||||
|
departamento dept%ROWTYPE;
|
||||||
|
BEGIN
|
||||||
|
SELECT * INTO departamento FROM dept WHERE loc='CHICAGO';
|
||||||
|
FOR i IN 1..LENGTH(departamento.dname)
|
||||||
|
LOOP
|
||||||
|
dbms_output.put_line(SUBSTR(departamento.dname,i,1));
|
||||||
|
END LOOP;
|
||||||
|
END;
|
||||||
|
/
|
||||||
|
|
||||||
|
-- ej2
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Crea un tipo de dato registro con los campos id (tipo de dato igual a deptno de
|
||||||
|
* la tabla dept) y nombre (tipo de dato igual a dname de la tabla dept) y declara
|
||||||
|
* una variable departamento del tipo de ese registro. Ahora usa un cursor
|
||||||
|
* implícito para guardar en esa variable departamento el deptno y el dname de la
|
||||||
|
* fila de la tabla dept cuyo deptno vale 10. Para terminar, muestra por pantalla
|
||||||
|
* el id y el nombre de la variable departamento obtenido.
|
||||||
|
*/
|
||||||
|
|
||||||
|
DECLARE
|
||||||
|
TYPE DEPT_DATA IS RECORD(
|
||||||
|
id dept.deptno%type,
|
||||||
|
nombre dept.dname%type);
|
||||||
|
departamento DEPT_DATA;
|
||||||
|
BEGIN
|
||||||
|
SELECT deptno, dname INTO departamento
|
||||||
|
FROM dept WHERE deptno=10;
|
||||||
|
dbms_output.put_line(departamento.id || ' ' ||
|
||||||
|
departamento.nombre);
|
||||||
|
END;
|
||||||
|
/
|
||||||
|
|
||||||
|
-- ej3
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Se necesita un registro para los empleados y otro para las localidades.
|
||||||
|
*
|
||||||
|
* El registro de empleados debe tener los siguientes campos: id (tipo de dato
|
||||||
|
* igual que el campo empno de la tabla emp), nombre (tipo de dato igual que el
|
||||||
|
* campo ename de la tabla emp), sueldo (tipo de dato igual que el campo sal de la
|
||||||
|
* tabla emp), localidad (tipo de dato igual que el registro de localidades).
|
||||||
|
*
|
||||||
|
* El registro de localidades debe tener los siguientes campos: ref (varchar
|
||||||
|
* tamaño 3 con valor MAI), localidad varchar tamaño 50 con valor MAIRENA,
|
||||||
|
* provincia (varchar tamaño 50 con valor SEVILLA) y cp (int tamaño 5 con valor
|
||||||
|
* 41927).
|
||||||
|
*
|
||||||
|
* Se quiere declarar una variable del tipo registro empleado y un cursor
|
||||||
|
* explícito que se traiga los campos empno, ename y sal de la tabla emp.
|
||||||
|
*
|
||||||
|
* Recorre todas las filas del cursor declarado con un bucle LOOP, guardando los
|
||||||
|
* datos extraídos en la variable del tipo registro empleado.
|
||||||
|
*
|
||||||
|
* En cada iteración del bucle LOOP muestra por pantalla id, nombre, sueldo, ref
|
||||||
|
* de localidad, localidad de localidad, provincia de localidad y cp de
|
||||||
|
* localidad.
|
||||||
|
*/
|
||||||
|
|
||||||
|
DECLARE
|
||||||
|
TYPE LOC_DATA IS RECORD(
|
||||||
|
ref VARCHAR(3) := 'MAI',
|
||||||
|
localidad VARCHAR(50) := 'MAIRENA',
|
||||||
|
provincia VARCHAR(50) := 'SEVILLA',
|
||||||
|
cp INT(5) := 41927);
|
||||||
|
TYPE EMP_DATA IS RECORD(
|
||||||
|
id emp.empno%type,
|
||||||
|
nombre emp.ename%type,
|
||||||
|
sueldo emp.sal%type,
|
||||||
|
loc LOC_DATA);
|
||||||
|
empl EMP_DATA;
|
||||||
|
CURSOR empls IS SELECT empno, ename, sal FROM emp;
|
||||||
|
BEGIN
|
||||||
|
OPEN empls;
|
||||||
|
LOOP
|
||||||
|
FETCH empls INTO empl.id, empl.nombre, empl.sueldo;
|
||||||
|
EXIT WHEN empls%notfound;
|
||||||
|
dbms_output.put_line('-----');
|
||||||
|
dbms_output.put_line('Empleado número ' || empl.id);
|
||||||
|
dbms_output.put_line('Nombre: ' || empl.nombre);
|
||||||
|
dbms_output.put_line('Sueldo: ' || empl.sueldo);
|
||||||
|
dbms_output.put_line('Referencia de localidad: ' || empl.loc.ref);
|
||||||
|
dbms_output.put_line('Nombre de localidad: ' || empl.loc.localidad);
|
||||||
|
dbms_output.put_line('Provincia de localidad: ' || empl.loc.provincia);
|
||||||
|
dbms_output.put_line('Código postal de localidad: ' || empl.loc.cp);
|
||||||
|
END LOOP;
|
||||||
|
CLOSE empls;
|
||||||
|
END;
|
||||||
|
/
|
BIN
1/ISO/assignments/t11-ej1/t11-ej1-naortega.pdf
Normal file
BIN
1/ISO/assignments/t11-ej1/t11-ej1-naortega.pdf
Normal file
Binary file not shown.
399
1/ISO/assignments/t11-ej1/t11-ej1-naortega.tex
Normal file
399
1/ISO/assignments/t11-ej1/t11-ej1-naortega.tex
Normal file
@ -0,0 +1,399 @@
|
|||||||
|
\documentclass[12pt,a4paper]{article}
|
||||||
|
\usepackage[spanish]{babel}
|
||||||
|
\usepackage{hyperref}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{subcaption}
|
||||||
|
|
||||||
|
\title{Tema XI Ejercicio I: Instalación De Un S.O. De Servidor}
|
||||||
|
\author{Nicolás A. Ortega Froysa}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
\pagebreak
|
||||||
|
\tableofcontents
|
||||||
|
\pagebreak
|
||||||
|
|
||||||
|
\section{Introducción}
|
||||||
|
|
||||||
|
El objetivo de esta práctica es la instalación de un sistema operativo para el
|
||||||
|
propósito de ser usado como servidor (i.e.\ sin entorno gráfico), que
|
||||||
|
preferiblemente venga ya instalado con el servicio SSH que no servirá para
|
||||||
|
interactuar con la máquina de manera remota.
|
||||||
|
|
||||||
|
Este tipo de sistema nos es útil para aquellos casos donde la máquina no tiene
|
||||||
|
necesidad de mostrar ningún entorno gráfico, ya que su usuario no lo usa de
|
||||||
|
forma local, sino a través de unos servicios de red que se proveen (e.g.\
|
||||||
|
servidor web). En estos casos no es necesario ni que el ordenador esté conectado
|
||||||
|
a una pantalla para cumplir su función.
|
||||||
|
|
||||||
|
\section{Requisitos}
|
||||||
|
|
||||||
|
\begin{figure}[!htb]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.75\linewidth]{imgs/00-download.png}
|
||||||
|
\caption{Download.}
|
||||||
|
\label{fig:download}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
Hay muchas distribuciones GNU/Linux que se pueden usar como S.O. para un
|
||||||
|
servidor. En el caso de esta práctica, se documentará la instalación de Debian
|
||||||
|
11 (Bullseye). Para ello, se descarga la ISO de su página web, \url{debian.org},
|
||||||
|
que nos descargará la versión estable más reciente (actualmente Bullseye) de la
|
||||||
|
ISO de instalación por red que se denominan {\tt netinst} (figura
|
||||||
|
\ref{fig:download}).
|
||||||
|
|
||||||
|
Cuando ya esté completa la descarga, se tiene que instalar la ISO en un
|
||||||
|
dispositivo de instalación (e.g.\ CD, {\em pendrive}, tarjeta SD). En GNU/Linux
|
||||||
|
esto se puede hacer con el comando siguiente, cambiando {\tt \<dispositivo\>}
|
||||||
|
con el nombre del archivo de dispositivo donde queremos instalar la ISO:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
$ dd if=debian-11.3.0-amd64-netinst.iso \
|
||||||
|
of=<dispositivo> bs=1M status=progress
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
Una vez instalada la ISO en el dispositivo, iniciamos la máquina que nos servirá
|
||||||
|
de servidor y la arrancamos desde el dispositivo insertado.
|
||||||
|
|
||||||
|
\section{Configuración}
|
||||||
|
|
||||||
|
\begin{figure}[!htb]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.75\linewidth]{imgs/01-install-menu.png}
|
||||||
|
\caption{Install menu.}
|
||||||
|
\label{fig:install-menu}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
Una vez iniciada la máquina, nos abrirá un menú para seleccionar qué tipo de
|
||||||
|
instalación (o mejor dicho: instalador) queremos usar (figura
|
||||||
|
\ref{fig:install-menu}). Como un servidor no tiene por qué tener tarjeta
|
||||||
|
gráfica, usamos la instalación normal (no gráfica).
|
||||||
|
|
||||||
|
\subsection{Navegación Y Selección}
|
||||||
|
|
||||||
|
Como no tenemos acceso a un ratón para el proceso de esta instalación, tendremos
|
||||||
|
que usar el teclado para todo. Generalmente es bastante intuitivo usarse. Se
|
||||||
|
navega entre las distintas opciones con las flechas del teclado, y se selecciona
|
||||||
|
con el espacio o {\em Enter}. Luego, para salir de la selección principal y
|
||||||
|
entrar en la selección de {\em Continuar} o {\em Atrás}, se usa la tecla {\em
|
||||||
|
Tab}.
|
||||||
|
|
||||||
|
\subsection{Localización}
|
||||||
|
|
||||||
|
\begin{figure}[!htb]
|
||||||
|
\centering
|
||||||
|
\begin{subfigure}[tb]{0.45\textwidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{imgs/02-language-select.png}
|
||||||
|
\caption{Language select.}
|
||||||
|
\label{fig:language-select}
|
||||||
|
\end{subfigure}
|
||||||
|
\hfill
|
||||||
|
\begin{subfigure}[tb]{0.45\textwidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{imgs/03-location-select.png}
|
||||||
|
\caption{Location select.}
|
||||||
|
\label{fig:location-select}
|
||||||
|
\end{subfigure}
|
||||||
|
\hfill
|
||||||
|
\begin{subfigure}[tb]{0.45\textwidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{imgs/04-encoding-select.png}
|
||||||
|
\caption{Locale select.}
|
||||||
|
\label{fig:encoding-select}
|
||||||
|
\end{subfigure}
|
||||||
|
\caption{Locale configuration.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
Lo primero que se nos pedirá es configurar la localización de nuestra máquina
|
||||||
|
(e.g.\ lengua, teclado, etc.). En primer lugar, definimos la lengua que queremos
|
||||||
|
usar para nuestro servidor (figura \ref{fig:language-select}). Usaremos el
|
||||||
|
inglés ya que tiene más soporte es confunde mucho cuando en la informática se
|
||||||
|
mezcla el inglés y el español. Notamos que aunque la lengua usada por el
|
||||||
|
servidor sea, por ejemplo, inglés, no quiere decir que no pueda proveer
|
||||||
|
servicios en otra, como el español. Sólo se trata de que en cuanto a la
|
||||||
|
administración del servidor en sí todos los mensajes nos van a salir en inglés.
|
||||||
|
|
||||||
|
En segundo lugar definimos la localización física de la máquina. En nuestro
|
||||||
|
caso: {\em Spain} (España). Como hemos puesto el inglés como lengua de nuestro
|
||||||
|
servidor, nos mostrará el principio sólo aquellos países donde se habla el
|
||||||
|
inglés como primera lengua. Como no queremos ninguno de éstos seleccionamos {\em
|
||||||
|
others} $\rightarrow$ {\em Europe} $\rightarrow$ {\em Spain} (figura
|
||||||
|
\ref{fig:location-select}).
|
||||||
|
|
||||||
|
Finalmente, definimos el {\em locale}. Como las lenguas no sólo dependen de
|
||||||
|
idioma, sino también de dialecto, y los caractéres que se necesitan pueden ser
|
||||||
|
diferentes dependiendo de esto, definimos el locale por el dialecto específico
|
||||||
|
que queremos usar. Como lo más cómodo (para mí) es el inglés estadounidense,
|
||||||
|
especificamos {\tt en\_US.UTF-8} (figura \ref{fig:encoding-select}).
|
||||||
|
|
||||||
|
\subsection{Red}
|
||||||
|
|
||||||
|
\begin{figure}[!htb]
|
||||||
|
\centering
|
||||||
|
\begin{subfigure}[tb]{0.45\textwidth}
|
||||||
|
\includegraphics[width=0.95\linewidth]{imgs/06-set-hostname.png}
|
||||||
|
\caption{Set hostname.}
|
||||||
|
\label{fig:set-hostname}
|
||||||
|
\end{subfigure}
|
||||||
|
\hfill
|
||||||
|
\begin{subfigure}[tb]{0.45\textwidth}
|
||||||
|
\includegraphics[width=0.95\linewidth]{imgs/07-set-domain-name.png}
|
||||||
|
\caption{Set domain name.}
|
||||||
|
\label{fig:set-domain-name}
|
||||||
|
\end{subfigure}
|
||||||
|
\caption{Network configuration.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
A continuación nos pedirá configurar la red. Lo primero es definir el {\em
|
||||||
|
hostname}, que sería el nombre de red que tiene la máquina (figura
|
||||||
|
\ref{fig:set-hostname}). Esto es útil para la red interna para reconocer y
|
||||||
|
encontrar ordenadores por un nombre en vez de su dirección IP. También nos
|
||||||
|
permite distinguir entre máquinas dentro de la red en cuanto a archivos de {\em
|
||||||
|
logs}, correo electrónico, y demás.
|
||||||
|
|
||||||
|
En el caso de un servidor, es especialmente importante definir el {\em domain
|
||||||
|
name} (figura \ref{fig:set-domain-name}). Si es un servidor con acceso a la red
|
||||||
|
externa, esto debe de tener el nombre que usaremos en la red externa (e.g.\ {\tt
|
||||||
|
mi-servidor.es}). Como en nuestro caso estamos creando un servidor de pruebas de
|
||||||
|
uso interno, usaremos el dominio {\tt home-server.local}.
|
||||||
|
|
||||||
|
\subsection{Usuarios}
|
||||||
|
|
||||||
|
\begin{figure}[!htb]
|
||||||
|
\centering
|
||||||
|
\begin{subfigure}[tb]{0.45\textwidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{imgs/08-set-root-password.png}
|
||||||
|
\caption{Set root password.}
|
||||||
|
\label{fig:set-root-password}
|
||||||
|
\end{subfigure}
|
||||||
|
\hfill
|
||||||
|
\begin{subfigure}[tb]{0.45\textwidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{imgs/09-set-user-full-name.png}
|
||||||
|
\caption{Set user full name.}
|
||||||
|
\label{fig:set-user-full-name}
|
||||||
|
\end{subfigure}
|
||||||
|
\caption{User configuration.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
A continuación configuramos los usuarios de nuestro sistema. En primer lugar,
|
||||||
|
configuramos la contraseña del usuario {\em Root} (figura
|
||||||
|
\ref{fig:set-root-password}), que es el usuario administrador del sistema. Este
|
||||||
|
usuario conviene que tenga una contraseña muy segura, ya que tiene todos los
|
||||||
|
permisos. Nos pedirá también verificar la contraseña, introduciendo ésta de
|
||||||
|
nuevo.
|
||||||
|
|
||||||
|
Después nos pide crear un usuario normal (figura \ref{fig:set-user-full-name}).
|
||||||
|
Para esto, primero nos pide el nombre completo, que se usa simplemente por
|
||||||
|
motivos estéticos y burocráticos. Posteriormente nos pedirá el nombre de
|
||||||
|
usuario, que es lo que usaremos para entrar en nuestro usuario en la máquina.
|
||||||
|
Para este nombre, hemos de evitar espacios (e.g.\ {\tt nicolas}). Finalmente
|
||||||
|
definimos la contraseña para este usuario.
|
||||||
|
|
||||||
|
\pagebreak
|
||||||
|
|
||||||
|
\subsection{Zona Horaria}
|
||||||
|
|
||||||
|
\begin{figure}[!htb]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.75\linewidth]{imgs/10-set-timezone.png}
|
||||||
|
\caption{Set timezone.}
|
||||||
|
\label{fig:set-timezone}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
Para tener la hora correcta, y poder sincronizar la hora con servidores
|
||||||
|
exteriores, es necesario definir nuestra zona horaria. Como ya habíamos
|
||||||
|
seleccionado el país antes como España, ahora nos mostrará tan sólo las zonas
|
||||||
|
horarias disponibles para nuestro país (figura \ref{fig:set-timezone}).
|
||||||
|
|
||||||
|
\subsection{Particionado Del Disco}
|
||||||
|
|
||||||
|
\begin{figure}[!htb]
|
||||||
|
\centering
|
||||||
|
\begin{subfigure}[tb]{0.45\textwidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{imgs/11-disk-setup-menu.png}
|
||||||
|
\caption{Disk setup menu.}
|
||||||
|
\label{fig:disk-setup-menu}
|
||||||
|
\end{subfigure}
|
||||||
|
\hfill
|
||||||
|
\begin{subfigure}[tb]{0.45\textwidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{imgs/12-select-partition-scheme.png}
|
||||||
|
\caption{Select partition scheme.}
|
||||||
|
\label{fig:select-partition-scheme}
|
||||||
|
\end{subfigure}
|
||||||
|
\hfill
|
||||||
|
\begin{subfigure}[tb]{0.45\textwidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{imgs/13-partitioning-overview.png}
|
||||||
|
\caption{Partitioning overview.}
|
||||||
|
\label{fig:partitioning-overview}
|
||||||
|
\end{subfigure}
|
||||||
|
\caption{Disk partitioning.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
Para poder instalar debidamente el sistema operativo, hemos de particionar el
|
||||||
|
formatear el disco. Del formateo se encargará directamente el instalador, que
|
||||||
|
usará por defecto el formato EXT4.
|
||||||
|
|
||||||
|
La primera pantalla nos mostrará varias opciones para el particionado del disco
|
||||||
|
(figura \ref{fig:disk-setup-menu}). Como queremos usar el disco entero, y no
|
||||||
|
tenemos otros sistemas instalados, seleccionamos la primera opción: <<Guided --
|
||||||
|
use entire disk>>.
|
||||||
|
|
||||||
|
Para el particionado del disco, podemos dividir el sistema de archivos de
|
||||||
|
nuestro sistema en varias particiones. Lo más usual es que el directorio {\tt
|
||||||
|
/home/} tenga su propia partición, para poder separar los datos de usuario y los
|
||||||
|
archivos de sistema. En nuestro caso, no nos interesa, ya que como servidor los
|
||||||
|
usuarios no tendrán ficheros propios (por lo general). Seleccionamos la primera
|
||||||
|
opción: <<All files in one partition>> (figura
|
||||||
|
\ref{fig:select-partition-scheme}).
|
||||||
|
|
||||||
|
Finalizado esto, nos mostrará por pantalla un resumen de los cambios que se van
|
||||||
|
a realizar, y nos pedirá la confirmación (figura
|
||||||
|
\ref{fig:partitioning-overview}). Como esta acción es permanente y podemos
|
||||||
|
perder información que pueda haber en el disco anteriormente, la opción por
|
||||||
|
defecto es {\em no} hacer los cambios, luego entonces es necesario cambiar a
|
||||||
|
decir que sí.
|
||||||
|
|
||||||
|
\subsection{Instalación De Software}
|
||||||
|
|
||||||
|
\begin{figure}[!htb]
|
||||||
|
\centering
|
||||||
|
\begin{subfigure}[tb]{0.45\textwidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{imgs/15-scan-for-extra-installation-media.png}
|
||||||
|
\caption{Scan for extra installation media.}
|
||||||
|
\label{fig:scan-for-extra-installation-media}
|
||||||
|
\end{subfigure}
|
||||||
|
\hfill
|
||||||
|
\begin{subfigure}[tb]{0.45\textwidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{imgs/16-mirror-selection.png}
|
||||||
|
\caption{Mirror selection.}
|
||||||
|
\label{fig:mirror-selection}
|
||||||
|
\end{subfigure}
|
||||||
|
\hfill
|
||||||
|
\begin{subfigure}[tb]{0.45\textwidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{imgs/17-package-usage-survey.png}
|
||||||
|
\caption{Package usage survey.}
|
||||||
|
\label{fig:package-usage-survey}
|
||||||
|
\end{subfigure}
|
||||||
|
\hfill
|
||||||
|
\begin{subfigure}[tb]{0.45\textwidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{imgs/18-extra-packages.png}
|
||||||
|
\caption{Extra packages.}
|
||||||
|
\label{fig:extra-packages}
|
||||||
|
\end{subfigure}
|
||||||
|
\caption{Repository and package configuration/installation.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
Para la instalación de {\em software} adicional, lo primero que nos va a
|
||||||
|
preguntar es por si queremos instalar algo de un dispositivo adicional (figura
|
||||||
|
\ref{fig:scan-for-extra-installation-media}). Se hace de los dispositivos ya que
|
||||||
|
es posible que la máquina no tenga acceso a {\em internet} por falta de los {\em
|
||||||
|
drivers} necesarios para los interfaces de red -- esto suele pasar con tarjetas
|
||||||
|
de Wi-Fi. Como en nuestro caso no nos hace falta, elegimos <<No>>.
|
||||||
|
|
||||||
|
A continuación pide que seleccionemos el espejo que se va a usar para descargar
|
||||||
|
paquetes software (figura \ref{fig:mirror-selection}). Son espejos porque todos
|
||||||
|
contienen los mismos paquetes (y las mismas versiones de cada paquete). Lo que
|
||||||
|
diferencia uno de otro es su localización. Se podrá descargar paquetes a mayor
|
||||||
|
velocidad de los servidores más cercanos físicamente que de los servidores más
|
||||||
|
lejanos. Como en nuestro caso estamos en España, elegimos cualquier espejo de
|
||||||
|
España.
|
||||||
|
|
||||||
|
También nos preguntará acerca de si queremos participar en el llamado <<Package
|
||||||
|
Usage Survey>> o <<Popularity Contest>> (figura \ref{fig:package-usage-survey}).
|
||||||
|
Se trata de que tu máquina enviará estadísticas anónimas a los servidores de
|
||||||
|
Debian que contendrán los paquetes que usas en tu máquina con el propósito de
|
||||||
|
saber qué paquetes son más populares y precisan de más atención de los
|
||||||
|
administradores.
|
||||||
|
|
||||||
|
Finalmente nos da algunas opciones de programas que instalar de forma adicional
|
||||||
|
(figura \ref{fig:extra-packages}). Las primeras opciones son de entornos
|
||||||
|
gráficos, que no nos sirven ya que vamos a montar un servidor. Sí que interesa
|
||||||
|
la instalación de un servidor web y servidor SSH. Lo primero nos permitirá
|
||||||
|
montar un sitio web en nuestra máquina, y lo segundo nos sirve para acceder a la
|
||||||
|
máquina de manera remota.
|
||||||
|
|
||||||
|
\subsection{GRUB}
|
||||||
|
|
||||||
|
\begin{figure}[!htb]
|
||||||
|
\centering
|
||||||
|
\begin{subfigure}[tb]{0.45\textwidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{imgs/19-grub-installation.png}
|
||||||
|
\caption{GRUB installation.}
|
||||||
|
\label{fig:grub-installation}
|
||||||
|
\end{subfigure}
|
||||||
|
\hfill
|
||||||
|
\begin{subfigure}[tb]{0.45\textwidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{imgs/20-select-disk-for-grub-installation.png}
|
||||||
|
\caption{Select disk for GRUB installation.}
|
||||||
|
\label{fig:select-disk-for-grub-installation}
|
||||||
|
\end{subfigure}
|
||||||
|
\caption{GRUB configuration.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
El último paso de la instalación es de instalar y configurar GRUB, que nos sirve
|
||||||
|
para elegir el sistema que queremos inicializar, o la versión de kernel que
|
||||||
|
queremos usar. Como este es el único sistema que vamos a tener instalado,
|
||||||
|
instalamos GRUB (figura \ref{fig:grub-installation}). Es necesario especificar
|
||||||
|
el disco en el que queremos instalarlo (figura
|
||||||
|
\ref{fig:select-disk-for-grub-installation}), que como nuestra máquina tan sólo
|
||||||
|
tiene un disco, lo instalamos en aquel.
|
||||||
|
|
||||||
|
\subsection{Finalización}
|
||||||
|
|
||||||
|
\begin{figure}[!htb]
|
||||||
|
\centering
|
||||||
|
\begin{subfigure}[tb]{0.45\textwidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{imgs/21-installation-complete.png}
|
||||||
|
\caption{Installation complete.}
|
||||||
|
\label{fig:installation-complete}
|
||||||
|
\end{subfigure}
|
||||||
|
\hfill
|
||||||
|
\begin{subfigure}[tb]{0.45\textwidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{imgs/22-first-boot.png}
|
||||||
|
\caption{First boot.}
|
||||||
|
\label{fig:first-boot}
|
||||||
|
\end{subfigure}
|
||||||
|
\caption{Install completion.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
Una vez que todo esté instalado y configurado nos pedirá reiniciar la máquina y
|
||||||
|
quitar el dispositivo de instalación (figura \ref{fig:installation-complete}).
|
||||||
|
En cuanto reiniciamos, mostrará por pantalla un {\em login} donde podemos meter
|
||||||
|
el usuario (igualmente podemos meter {\tt root}). Cuando nos pide la contraseña,
|
||||||
|
aunque no aparezca visiblemente ningún carácter en la pantalla, sí está grabando
|
||||||
|
las teclas para comparar (figura \ref{fig:first-boot}).
|
||||||
|
|
||||||
|
\section{Conclusión}
|
||||||
|
|
||||||
|
Es muchísimo más útil e intuitivo usar Debian para servidores que Windows Server
|
||||||
|
2008. Para empezar, no hay entorno gráfico, lo cual ahorramos recursos que
|
||||||
|
serían necesarios para servir a los clientes. El instalador de {\tt curses}
|
||||||
|
(i.e.\ el instalador no-gráfico) es también más bonito y me da nostalgia de mi
|
||||||
|
juventud.
|
||||||
|
|
||||||
|
\pagebreak
|
||||||
|
|
||||||
|
\section{Derechos de Autor y Licencia}
|
||||||
|
|
||||||
|
\noindent
|
||||||
|
Copyright \copyright\ \the\year\ Nicolás A. Ortega Froysa
|
||||||
|
<nicolas@ortegas.org> \\
|
||||||
|
\\
|
||||||
|
Este documento se distribuye bajo los términos y condiciones de la licencia
|
||||||
|
Creative Commons Attribution No Derivatives 4.0 International.
|
||||||
|
|
||||||
|
\end{document}
|
15
1/ISO/assignments/t11-ej1/t11-ej1-naortega.toc
Normal file
15
1/ISO/assignments/t11-ej1/t11-ej1-naortega.toc
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
\babel@toc {spanish}{}\relax
|
||||||
|
\contentsline {section}{\numberline {1}Introducción}{3}{section.1}%
|
||||||
|
\contentsline {section}{\numberline {2}Requisitos}{3}{section.2}%
|
||||||
|
\contentsline {section}{\numberline {3}Configuración}{4}{section.3}%
|
||||||
|
\contentsline {subsection}{\numberline {3.1}Navegación Y Selección}{4}{subsection.3.1}%
|
||||||
|
\contentsline {subsection}{\numberline {3.2}Localización}{5}{subsection.3.2}%
|
||||||
|
\contentsline {subsection}{\numberline {3.3}Red}{6}{subsection.3.3}%
|
||||||
|
\contentsline {subsection}{\numberline {3.4}Usuarios}{7}{subsection.3.4}%
|
||||||
|
\contentsline {subsection}{\numberline {3.5}Zona Horaria}{8}{subsection.3.5}%
|
||||||
|
\contentsline {subsection}{\numberline {3.6}Particionado Del Disco}{8}{subsection.3.6}%
|
||||||
|
\contentsline {subsection}{\numberline {3.7}Instalación De Software}{10}{subsection.3.7}%
|
||||||
|
\contentsline {subsection}{\numberline {3.8}GRUB}{11}{subsection.3.8}%
|
||||||
|
\contentsline {subsection}{\numberline {3.9}Finalización}{12}{subsection.3.9}%
|
||||||
|
\contentsline {section}{\numberline {4}Conclusión}{12}{section.4}%
|
||||||
|
\contentsline {section}{\numberline {5}Derechos de Autor y Licencia}{13}{section.5}%
|
27
1/ISO/examenes/tema11-naortega/ej1.sh
Executable file
27
1/ISO/examenes/tema11-naortega/ej1.sh
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ $# -lt 3 ]
|
||||||
|
then
|
||||||
|
echo "Son necesarias al menos 3 argumentos numéricos."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# a
|
||||||
|
echo "Se han introducido $# argumentos."
|
||||||
|
|
||||||
|
# b
|
||||||
|
SUM=0
|
||||||
|
|
||||||
|
for i in ${@:1:3}
|
||||||
|
do
|
||||||
|
SUM=$[$SUM+$i]
|
||||||
|
done
|
||||||
|
|
||||||
|
AVG=$(echo "scale=3; $SUM / 3" | bc)
|
||||||
|
echo $AVG
|
||||||
|
|
||||||
|
# c
|
||||||
|
echo $@
|
||||||
|
|
||||||
|
# d
|
||||||
|
echo $[$2 ** $3]
|
13
1/ISO/examenes/tema11-naortega/ej2.sh
Executable file
13
1/ISO/examenes/tema11-naortega/ej2.sh
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# crear estructura:
|
||||||
|
mkdir -p /home/usuario/prueba/dir1/dir11
|
||||||
|
mkdir -p /home/usuario/prueba/dir2/dir41
|
||||||
|
mkdir -p /home/usuario/prueba/dir3/dir31
|
||||||
|
mkdir -p /home/usuario/prueba/dir4
|
||||||
|
|
||||||
|
# número de usuarios conectados
|
||||||
|
who | wc -l
|
||||||
|
|
||||||
|
# cuándo arrancó
|
||||||
|
uptime --pretty
|
9
1/ISO/examenes/tema11-naortega/ej3.txt
Normal file
9
1/ISO/examenes/tema11-naortega/ej3.txt
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
3.a)
|
||||||
|
Quiere decir Ctrl
|
||||||
|
|
||||||
|
3.b)
|
||||||
|
i. Esc y después ':'
|
||||||
|
ii. Asumiendo que estamos en modo normal: ':wq'
|
||||||
|
|
||||||
|
NOTA: si hay algo entre comillas simples, es porque se interpreta lo que hay
|
||||||
|
dentro porque son comandos.
|
25
1/ISO/examenes/tema11-naortega/ej4.sh
Executable file
25
1/ISO/examenes/tema11-naortega/ej4.sh
Executable file
@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
function palindromo {
|
||||||
|
WORD=$1
|
||||||
|
REV=$(echo "$WORD" | rev)
|
||||||
|
if [ $WORD = $REV ]
|
||||||
|
then
|
||||||
|
echo "Es capicúa."
|
||||||
|
else
|
||||||
|
echo "No es capicúa."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
NUMERO=$1
|
||||||
|
|
||||||
|
if [ $NUMERO -lt 1000 ] || [ ${#NUMERO} -ne 5 ]
|
||||||
|
then
|
||||||
|
echo "Se necesita un número mayor que 1000 y con 5 cifras"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
HALF=$(echo "scale=3; $NUMERO / 2" | bc)
|
||||||
|
echo $HALF
|
||||||
|
|
||||||
|
palindromo $NUMERO
|
14
1/ISO/examenes/tema11-naortega/ej6.sh
Executable file
14
1/ISO/examenes/tema11-naortega/ej6.sh
Executable file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
function impar {
|
||||||
|
LIM=$1
|
||||||
|
seq 1 2 $LIM
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ ${#1} -ne 3 ]
|
||||||
|
then
|
||||||
|
echo "Se requiere un número de 3 cifras."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
impar $1
|
37
1/LMSGI/PromedioNotas/A00001_3NotasPromedio.html
Normal file
37
1/LMSGI/PromedioNotas/A00001_3NotasPromedio.html
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Notas</h1>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var nota1,nota2,nota3;
|
||||||
|
nota1=prompt('Ingrese 1ra. nota:','');
|
||||||
|
nota2=prompt('Ingrese 2da. nota:','');
|
||||||
|
nota3=prompt('Ingrese 3ra. nota:','');
|
||||||
|
//Convertimos los 3 string en enteros
|
||||||
|
nota1=parseInt(nota1);
|
||||||
|
nota2=parseInt(nota2);
|
||||||
|
nota3=parseInt(nota3);
|
||||||
|
var pro;
|
||||||
|
pro=(nota1+nota2+nota3)/3;
|
||||||
|
if (pro>=7)
|
||||||
|
{
|
||||||
|
document.write('promocionado');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (pro>=4)
|
||||||
|
{
|
||||||
|
document.write('regular');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
document.write('reprobado');
|
||||||
|
}
|
||||||
|
}</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
53
1/LMSGI/PromedioNotas/A00098_Recoger3ValoresForm.html
Normal file
53
1/LMSGI/PromedioNotas/A00098_Recoger3ValoresForm.html
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/
|
||||||
|
xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
|
<title>Ejemplo de código JavaScript en el propio documento</title>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
/**function limita(maximoCaracteres) {
|
||||||
|
var elemento = document.getElementById("texto");
|
||||||
|
if(elemento.value.length >= maximoCaracteres ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
**/
|
||||||
|
|
||||||
|
function comprueba(){
|
||||||
|
var cuadrotxt = document.getElementById("elemento");
|
||||||
|
alert ("value; "+cuadrotxt.value+"\n type: "+cuadrotxt.type+"\n name: "+cuadrotxt.name);
|
||||||
|
alert ("elemento2: "+cuadrotxt.form.elemento2.value);
|
||||||
|
}
|
||||||
|
|
||||||
|
window.onload=function(){
|
||||||
|
if(document.forms.length > 0) {
|
||||||
|
if(document.forms[0].elements.length > 0) {
|
||||||
|
document.forms[0].elements[0].focus();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form name="formulario" id="formulario" >
|
||||||
|
<input type="number" name="elemento" id="elemento" />
|
||||||
|
<input type="number" name="elemento2" id="elemento2" />
|
||||||
|
|
||||||
|
<textarea id="texto" onkeypress="return limita(100);"></textarea>
|
||||||
|
|
||||||
|
<input type="button" value="Enviar" onclick="this.value='enviando...';comprueba()"/>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--this.disabled=true;-->
|
29
1/LMSGI/PromedioNotas/promedio-notas.html
Normal file
29
1/LMSGI/PromedioNotas/promedio-notas.html
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<title>Promedio de Notas</title>
|
||||||
|
<script type="text/javascript">
|
||||||
|
function average() {
|
||||||
|
var notaISO = parseInt(document.getElementById("notaISO").value);
|
||||||
|
var notaLMSGI = parseInt(document.getElementById("notaLMSGI").value);
|
||||||
|
var notaGBD = parseInt(document.getElementById("notaGBD").value);
|
||||||
|
var avg = (notaISO + notaLMSGI + notaGBD)/3;
|
||||||
|
document.getElementById("result").innerHTML = "<p>Resultado: " + avg + "</p>";
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Calculadora Promedio Notas</h1>
|
||||||
|
<form onsubmit="event.preventDefault(); average()" >
|
||||||
|
<label>ISO:</label><br />
|
||||||
|
<input type="number" id="notaISO" name="notaISO" min="0" max="10" value="0" ><br />
|
||||||
|
<label>LMSGI:</label><br />
|
||||||
|
<input type="number" id="notaLMSGI" name="notaLMSGI" min="0" max="10" value="0" ><br />
|
||||||
|
<label>GBD:</label><br />
|
||||||
|
<input type="number" id="notaGBD" name="notaGBD" min="0" max="10" value="0" ><br />
|
||||||
|
<input type="submit" >
|
||||||
|
</form>
|
||||||
|
<div id="result" ></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
29
1/LMSGI/T8-XQUERY-futbol/futbol.xqy
Normal file
29
1/LMSGI/T8-XQUERY-futbol/futbol.xqy
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th colspan="4" >Temporada:
|
||||||
|
{
|
||||||
|
doc("futbol1.xml")/marcador/competicion[id="1"]/temporada
|
||||||
|
}
|
||||||
|
-
|
||||||
|
Jornada:
|
||||||
|
{
|
||||||
|
doc("futbol1.xml")/marcador/competicion[id="1"]/jornada/id
|
||||||
|
}
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
{
|
||||||
|
for $event in doc("futbol1.xml")/marcador/competicion[id="1"]/grupos/grupo[id="1"]/eventos/evento
|
||||||
|
return
|
||||||
|
<tr>
|
||||||
|
<td>{ string($event/id) }</td>
|
||||||
|
<td>{ string($event/equipolocal) } - { string($event/equipovisitante) }</td>
|
||||||
|
<td>{ string($event/resultadolocal) }</td>
|
||||||
|
<td>{ string($event/resultadovisitante) }</td>
|
||||||
|
</tr>
|
||||||
|
}
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -1,8 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<marcador>
|
<marcador>
|
||||||
<competicion id="1"><nombre>LFP 1 DIVISION</nombre>
|
<competicion id="1">
|
||||||
|
<nombre>LFP 1 DIVISION</nombre>
|
||||||
<fase id="0"> </fase>
|
<fase id="0"> </fase>
|
||||||
<jornada id="30" jornadaAnterior="https://www.marca.com/marcador/futbol/iphone/1/2021_22/fase0/jornada_29/marcador.xml" jornadaSiguiente="https://www.marca.com/marcador/futbol/iphone/1/2021_22/fase0/jornada_31/marcador.xml"></jornada>
|
<jornada id="30" jornadaAnterior="https://www.marca.com/marcador/futbol/iphone/1/2021_22/fase0/jornada_29/marcador.xml" jornadaSiguiente="https://www.marca.com/marcador/futbol/iphone/1/2021_22/fase0/jornada_31/marcador.xml"/>
|
||||||
<temporada>2021_22</temporada>
|
<temporada>2021_22</temporada>
|
||||||
<grupos>
|
<grupos>
|
||||||
<grupo id="1">
|
<grupo id="1">
|
||||||
@ -17,11 +18,13 @@
|
|||||||
<tipodeporte>1</tipodeporte>
|
<tipodeporte>1</tipodeporte>
|
||||||
<escudoLocal>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/1450.png</escudoLocal>
|
<escudoLocal>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/1450.png</escudoLocal>
|
||||||
<escudoVisitante>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/181.png</escudoVisitante>
|
<escudoVisitante>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/181.png</escudoVisitante>
|
||||||
<tv></tv>
|
<tv/>
|
||||||
<estadisticas></estadisticas>
|
<estadisticas/>
|
||||||
<alineaciones>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/get_mal/alineaciones.html</alineaciones>
|
<alineaciones>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/get_mal/alineaciones.html</alineaciones>
|
||||||
<comentariosLectores></comentariosLectores>
|
<comentariosLectores/>
|
||||||
<previacronica>2</previacronica><enlaceDirecto>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/get_mal/directo.xml</enlaceDirecto></evento>
|
<previacronica>2</previacronica>
|
||||||
|
<enlaceDirecto>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/get_mal/directo.xml</enlaceDirecto>
|
||||||
|
</evento>
|
||||||
<evento id="522007">
|
<evento id="522007">
|
||||||
<fecha>02/04/2022 16:15</fecha>
|
<fecha>02/04/2022 16:15</fecha>
|
||||||
<estado id="3">Finalizado</estado>
|
<estado id="3">Finalizado</estado>
|
||||||
@ -32,11 +35,13 @@
|
|||||||
<tipodeporte>1</tipodeporte>
|
<tipodeporte>1</tipodeporte>
|
||||||
<escudoLocal>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/855.png</escudoLocal>
|
<escudoLocal>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/855.png</escudoLocal>
|
||||||
<escudoVisitante>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/449.png</escudoVisitante>
|
<escudoVisitante>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/449.png</escudoVisitante>
|
||||||
<tv></tv>
|
<tv/>
|
||||||
<estadisticas></estadisticas>
|
<estadisticas/>
|
||||||
<alineaciones>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/lev_vil/alineaciones.html</alineaciones>
|
<alineaciones>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/lev_vil/alineaciones.html</alineaciones>
|
||||||
<comentariosLectores></comentariosLectores>
|
<comentariosLectores/>
|
||||||
<previacronica>-1</previacronica><enlaceDirecto>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/lev_vil/directo.xml</enlaceDirecto></evento>
|
<previacronica>-1</previacronica>
|
||||||
|
<enlaceDirecto>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/lev_vil/directo.xml</enlaceDirecto>
|
||||||
|
</evento>
|
||||||
<evento id="522004">
|
<evento id="522004">
|
||||||
<fecha>02/04/2022 18:30</fecha>
|
<fecha>02/04/2022 18:30</fecha>
|
||||||
<estado id="3">Finalizado</estado>
|
<estado id="3">Finalizado</estado>
|
||||||
@ -47,11 +52,13 @@
|
|||||||
<tipodeporte>1</tipodeporte>
|
<tipodeporte>1</tipodeporte>
|
||||||
<escudoLocal>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/176.png</escudoLocal>
|
<escudoLocal>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/176.png</escudoLocal>
|
||||||
<escudoVisitante>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/186.png</escudoVisitante>
|
<escudoVisitante>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/186.png</escudoVisitante>
|
||||||
<tv></tv>
|
<tv/>
|
||||||
<estadisticas></estadisticas>
|
<estadisticas/>
|
||||||
<alineaciones>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/cel_rma/alineaciones.html</alineaciones>
|
<alineaciones>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/cel_rma/alineaciones.html</alineaciones>
|
||||||
<comentariosLectores></comentariosLectores>
|
<comentariosLectores/>
|
||||||
<previacronica>2</previacronica><enlaceDirecto>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/cel_rma/directo.xml</enlaceDirecto></evento>
|
<previacronica>2</previacronica>
|
||||||
|
<enlaceDirecto>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/cel_rma/directo.xml</enlaceDirecto>
|
||||||
|
</evento>
|
||||||
<evento id="522002">
|
<evento id="522002">
|
||||||
<fecha>02/04/2022 21:00</fecha>
|
<fecha>02/04/2022 21:00</fecha>
|
||||||
<estado id="3">Finalizado</estado>
|
<estado id="3">Finalizado</estado>
|
||||||
@ -62,11 +69,13 @@
|
|||||||
<tipodeporte>1</tipodeporte>
|
<tipodeporte>1</tipodeporte>
|
||||||
<escudoLocal>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/175.png</escudoLocal>
|
<escudoLocal>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/175.png</escudoLocal>
|
||||||
<escudoVisitante>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/173.png</escudoVisitante>
|
<escudoVisitante>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/173.png</escudoVisitante>
|
||||||
<tv></tv>
|
<tv/>
|
||||||
<estadisticas></estadisticas>
|
<estadisticas/>
|
||||||
<alineaciones>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/atm_ala/alineaciones.html</alineaciones>
|
<alineaciones>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/atm_ala/alineaciones.html</alineaciones>
|
||||||
<comentariosLectores></comentariosLectores>
|
<comentariosLectores/>
|
||||||
<previacronica>2</previacronica><enlaceDirecto>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/atm_ala/directo.xml</enlaceDirecto></evento>
|
<previacronica>2</previacronica>
|
||||||
|
<enlaceDirecto>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/atm_ala/directo.xml</enlaceDirecto>
|
||||||
|
</evento>
|
||||||
<evento id="522001">
|
<evento id="522001">
|
||||||
<fecha>03/04/2022 14:00</fecha>
|
<fecha>03/04/2022 14:00</fecha>
|
||||||
<estado id="3">Finalizado</estado>
|
<estado id="3">Finalizado</estado>
|
||||||
@ -77,11 +86,13 @@
|
|||||||
<tipodeporte>1</tipodeporte>
|
<tipodeporte>1</tipodeporte>
|
||||||
<escudoLocal>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/174.png</escudoLocal>
|
<escudoLocal>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/174.png</escudoLocal>
|
||||||
<escudoVisitante>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/954.png</escudoVisitante>
|
<escudoVisitante>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/954.png</escudoVisitante>
|
||||||
<tv></tv>
|
<tv/>
|
||||||
<estadisticas></estadisticas>
|
<estadisticas/>
|
||||||
<alineaciones>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/ath_elc/alineaciones.html</alineaciones>
|
<alineaciones>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/ath_elc/alineaciones.html</alineaciones>
|
||||||
<comentariosLectores></comentariosLectores>
|
<comentariosLectores/>
|
||||||
<previacronica>2</previacronica><enlaceDirecto>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/ath_elc/directo.xml</enlaceDirecto></evento>
|
<previacronica>2</previacronica>
|
||||||
|
<enlaceDirecto>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/ath_elc/directo.xml</enlaceDirecto>
|
||||||
|
</evento>
|
||||||
<evento id="522008">
|
<evento id="522008">
|
||||||
<fecha>03/04/2022 16:15</fecha>
|
<fecha>03/04/2022 16:15</fecha>
|
||||||
<estado id="3">Finalizado</estado>
|
<estado id="3">Finalizado</estado>
|
||||||
@ -92,11 +103,13 @@
|
|||||||
<tipodeporte>1</tipodeporte>
|
<tipodeporte>1</tipodeporte>
|
||||||
<escudoLocal>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/185.png</escudoLocal>
|
<escudoLocal>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/185.png</escudoLocal>
|
||||||
<escudoVisitante>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/450.png</escudoVisitante>
|
<escudoVisitante>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/450.png</escudoVisitante>
|
||||||
<tv></tv>
|
<tv/>
|
||||||
<estadisticas></estadisticas>
|
<estadisticas/>
|
||||||
<alineaciones>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/bet_osa/alineaciones.html</alineaciones>
|
<alineaciones>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/bet_osa/alineaciones.html</alineaciones>
|
||||||
<comentariosLectores></comentariosLectores>
|
<comentariosLectores/>
|
||||||
<previacronica>2</previacronica><enlaceDirecto>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/bet_osa/directo.xml</enlaceDirecto></evento>
|
<previacronica>2</previacronica>
|
||||||
|
<enlaceDirecto>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/bet_osa/directo.xml</enlaceDirecto>
|
||||||
|
</evento>
|
||||||
<evento id="522006">
|
<evento id="522006">
|
||||||
<fecha>03/04/2022 18:30</fecha>
|
<fecha>03/04/2022 18:30</fecha>
|
||||||
<estado id="3">Finalizado</estado>
|
<estado id="3">Finalizado</estado>
|
||||||
@ -107,11 +120,13 @@
|
|||||||
<tipodeporte>1</tipodeporte>
|
<tipodeporte>1</tipodeporte>
|
||||||
<escudoLocal>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/5683.png</escudoLocal>
|
<escudoLocal>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/5683.png</escudoLocal>
|
||||||
<escudoVisitante>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/184.png</escudoVisitante>
|
<escudoVisitante>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/184.png</escudoVisitante>
|
||||||
<tv></tv>
|
<tv/>
|
||||||
<estadisticas></estadisticas>
|
<estadisticas/>
|
||||||
<alineaciones>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/gda_ray/alineaciones.html</alineaciones>
|
<alineaciones>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/gda_ray/alineaciones.html</alineaciones>
|
||||||
<comentariosLectores></comentariosLectores>
|
<comentariosLectores/>
|
||||||
<previacronica>2</previacronica><enlaceDirecto>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/gda_ray/directo.xml</enlaceDirecto></evento>
|
<previacronica>2</previacronica>
|
||||||
|
<enlaceDirecto>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/gda_ray/directo.xml</enlaceDirecto>
|
||||||
|
</evento>
|
||||||
<evento id="522005">
|
<evento id="522005">
|
||||||
<fecha>03/04/2022 18:30</fecha>
|
<fecha>03/04/2022 18:30</fecha>
|
||||||
<estado id="3">Finalizado</estado>
|
<estado id="3">Finalizado</estado>
|
||||||
@ -122,11 +137,13 @@
|
|||||||
<tipodeporte>1</tipodeporte>
|
<tipodeporte>1</tipodeporte>
|
||||||
<escudoLocal>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/191.png</escudoLocal>
|
<escudoLocal>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/191.png</escudoLocal>
|
||||||
<escudoVisitante>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/1737.png</escudoVisitante>
|
<escudoVisitante>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/1737.png</escudoVisitante>
|
||||||
<tv></tv>
|
<tv/>
|
||||||
<estadisticas></estadisticas>
|
<estadisticas/>
|
||||||
<alineaciones>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/val_cad/alineaciones.html</alineaciones>
|
<alineaciones>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/val_cad/alineaciones.html</alineaciones>
|
||||||
<comentariosLectores></comentariosLectores>
|
<comentariosLectores/>
|
||||||
<previacronica>-1</previacronica><enlaceDirecto>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/val_cad/directo.xml</enlaceDirecto></evento>
|
<previacronica>-1</previacronica>
|
||||||
|
<enlaceDirecto>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/val_cad/directo.xml</enlaceDirecto>
|
||||||
|
</evento>
|
||||||
<evento id="522003">
|
<evento id="522003">
|
||||||
<fecha>03/04/2022 21:00</fecha>
|
<fecha>03/04/2022 21:00</fecha>
|
||||||
<estado id="3">Finalizado</estado>
|
<estado id="3">Finalizado</estado>
|
||||||
@ -137,11 +154,13 @@
|
|||||||
<tipodeporte>1</tipodeporte>
|
<tipodeporte>1</tipodeporte>
|
||||||
<escudoLocal>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/178.png</escudoLocal>
|
<escudoLocal>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/178.png</escudoLocal>
|
||||||
<escudoVisitante>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/179.png</escudoVisitante>
|
<escudoVisitante>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/179.png</escudoVisitante>
|
||||||
<tv></tv>
|
<tv/>
|
||||||
<estadisticas></estadisticas>
|
<estadisticas/>
|
||||||
<alineaciones>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/bar_sev/alineaciones.html</alineaciones>
|
<alineaciones>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/bar_sev/alineaciones.html</alineaciones>
|
||||||
<comentariosLectores></comentariosLectores>
|
<comentariosLectores/>
|
||||||
<previacronica>2</previacronica><enlaceDirecto>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/bar_sev/directo.xml</enlaceDirecto></evento>
|
<previacronica>2</previacronica>
|
||||||
|
<enlaceDirecto>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/bar_sev/directo.xml</enlaceDirecto>
|
||||||
|
</evento>
|
||||||
<evento id="522009">
|
<evento id="522009">
|
||||||
<fecha>04/04/2022 21:00</fecha>
|
<fecha>04/04/2022 21:00</fecha>
|
||||||
<estado id="3">Finalizado</estado>
|
<estado id="3">Finalizado</estado>
|
||||||
@ -152,11 +171,13 @@
|
|||||||
<tipodeporte>1</tipodeporte>
|
<tipodeporte>1</tipodeporte>
|
||||||
<escudoLocal>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/188.png</escudoLocal>
|
<escudoLocal>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/188.png</escudoLocal>
|
||||||
<escudoVisitante>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/177.png</escudoVisitante>
|
<escudoVisitante>https://e00-marca.uecdn.es/assets/datos-deportivos/escudos/opta/png/ios/28px/2x/177.png</escudoVisitante>
|
||||||
<tv></tv>
|
<tv/>
|
||||||
<estadisticas></estadisticas>
|
<estadisticas/>
|
||||||
<alineaciones>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/rso_esp/alineaciones.html</alineaciones>
|
<alineaciones>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/rso_esp/alineaciones.html</alineaciones>
|
||||||
<comentariosLectores></comentariosLectores>
|
<comentariosLectores/>
|
||||||
<previacronica>-1</previacronica><enlaceDirecto>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/rso_esp/directo.xml</enlaceDirecto></evento>
|
<previacronica>-1</previacronica>
|
||||||
|
<enlaceDirecto>https://www.marca.com/eventos/marcador/futbol/2021_22/la-liga/jornada_30/rso_esp/directo.xml</enlaceDirecto>
|
||||||
|
</evento>
|
||||||
</eventos>
|
</eventos>
|
||||||
<clasificacion>
|
<clasificacion>
|
||||||
<team>
|
<team>
|
||||||
|
BIN
1/PAR/assignments/t8-ej6-naortega/mapa.PNG
Normal file
BIN
1/PAR/assignments/t8-ej6-naortega/mapa.PNG
Normal file
Binary file not shown.
After Width: | Height: | Size: 34 KiB |
BIN
1/PAR/assignments/t8-ej6-naortega/t8-ej6-naortega.pdf
Normal file
BIN
1/PAR/assignments/t8-ej6-naortega/t8-ej6-naortega.pdf
Normal file
Binary file not shown.
BIN
1/PAR/assignments/t8-ej6-naortega/t8-ej6-naortega.pkt
Normal file
BIN
1/PAR/assignments/t8-ej6-naortega/t8-ej6-naortega.pkt
Normal file
Binary file not shown.
206
1/PAR/assignments/t8-ej6-naortega/t8-ej6-naortega.tex
Normal file
206
1/PAR/assignments/t8-ej6-naortega/t8-ej6-naortega.tex
Normal file
@ -0,0 +1,206 @@
|
|||||||
|
\documentclass[12pt,a4paper]{article}
|
||||||
|
\usepackage[spanish]{babel}
|
||||||
|
\usepackage{hyperref}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{subcaption}
|
||||||
|
|
||||||
|
\title{Tema VIII Ejercicio VI}
|
||||||
|
\author{Nicolás A. Ortega Froysa}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
\pagebreak
|
||||||
|
\tableofcontents
|
||||||
|
\pagebreak
|
||||||
|
|
||||||
|
\section{Resumen Ejecutivo}
|
||||||
|
|
||||||
|
\begin{figure}[!htb]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.75\linewidth]{./mapa.PNG}
|
||||||
|
\caption{Mapa de red.}
|
||||||
|
\label{fig:mapa}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
El propósito de este documento es proveer los pasos necesarios para configurar
|
||||||
|
una red con asignación de direcciones dinámica, y redes virtuales internas, de
|
||||||
|
tal manera que se pueden expandir los terminales conectados a la red.
|
||||||
|
|
||||||
|
\section{Configuración}
|
||||||
|
|
||||||
|
\subsection{Switches}
|
||||||
|
|
||||||
|
Antes que nada se ha de configurar la seguridad del {\em switch} del
|
||||||
|
administrador con la contraseña {\tt 1234}, y con el MOTD <<Buenos dias,
|
||||||
|
Jefe!>>.
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
enable secret 1234
|
||||||
|
username admin password 0 1234
|
||||||
|
banner motd *Buenos dias, Jefe!*
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
\subsubsection{VLANs}
|
||||||
|
|
||||||
|
En los {\em switches} será necesario crear las VLAN de nuestra red. En nuestro
|
||||||
|
caso nos hacen falta tres:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item VLAN 10: ADMIN
|
||||||
|
\item VLAN 20: COM
|
||||||
|
\item VLAN 30: INF
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\noindent
|
||||||
|
Para este propósito hemos de correr los siguientes comandos en ambos switches
|
||||||
|
desde la consola de configuración:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
vlan 10
|
||||||
|
name ADMIN
|
||||||
|
vlan 20
|
||||||
|
name COM
|
||||||
|
vlan 30
|
||||||
|
name INF
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
\noindent
|
||||||
|
Con las VLAN creadas, ya podemos asignar VLANs a nuestros dispositivos, y
|
||||||
|
también consiguiendo una conexión de {\em trunk} entre los {\em switches}.
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
# Switch0
|
||||||
|
int range fa0/1-3
|
||||||
|
switchport mode access
|
||||||
|
switchport access vlan 10
|
||||||
|
int range fa0/4-5
|
||||||
|
switchport mode access
|
||||||
|
switchport access vlan 20
|
||||||
|
int fa0/6
|
||||||
|
switchport mode access
|
||||||
|
switchport access vlan 30
|
||||||
|
int range fa0/22-23
|
||||||
|
switchport mode trunk
|
||||||
|
|
||||||
|
# Switch1
|
||||||
|
int range fa0/1,3
|
||||||
|
switchport mode access
|
||||||
|
switchport access vlan 20
|
||||||
|
int fa0/2
|
||||||
|
switchport mode access
|
||||||
|
switchport access vlan 30
|
||||||
|
int range fa0/22-23
|
||||||
|
switchport mode trunk
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
\noindent
|
||||||
|
Con esto configurado, ya todos los terminales y el servidor estarán conectados a
|
||||||
|
sus VLAN correspondientes, y no podrán comunicarse a los otros que no sean de su
|
||||||
|
VLAN.
|
||||||
|
|
||||||
|
\subsubsection{DHCP}
|
||||||
|
|
||||||
|
Para poder asignar de forma dinámica las direcciones de los terminales de
|
||||||
|
nuestra red, creamos varios {\em pools} DHCP en el Switch0; uno para cada VLAN.
|
||||||
|
Para ello, primer asignamos una dirección IP al {\em switch} en cada VLAN para
|
||||||
|
que así puedan comunicar los terminales con el servidor DHCP (siendo el mismo
|
||||||
|
{\em switch}):
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
int vlan 10
|
||||||
|
ip address 192.168.10.5
|
||||||
|
int vlan 20
|
||||||
|
ip address 192.168.20.5
|
||||||
|
int vlan 30
|
||||||
|
ip address 192.168.30.5
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
\noindent
|
||||||
|
En segundo lugar creamos los {\em pools} de DHCP:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
ip dhcp pool ADMIN
|
||||||
|
network 192.168.10.0 255.255.255.0
|
||||||
|
default-router 192.168.10.1
|
||||||
|
ip dhcp pool COM
|
||||||
|
network 192.168.20.0 255.255.255.0
|
||||||
|
default-router 192.168.20.1
|
||||||
|
ip dhcp pool INF
|
||||||
|
network 192.168.30.0 255.255.255.0
|
||||||
|
default-router 192.168.30.1
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
Una vez que esté todo esto configurado, ya se puede usar la asignación de
|
||||||
|
direcciones dinámica, aunque todavía no podrá conectarse al {\em router}. Para
|
||||||
|
esto hemos de configurar la interfaz que nos conecta al {\em router} como
|
||||||
|
un enlace troncal ({\em trunk}) y luego configurar el {\em router} en sí:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
int fa0/24
|
||||||
|
switchport mode trunk
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
\subsection{Router}
|
||||||
|
|
||||||
|
El {\em router} nos servirá para acceder a internet. Para ello, hemos de
|
||||||
|
configurarlo con nuestra red interna. El primer paso es configurar las redes
|
||||||
|
virtuales:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
vlan 10 name ADMIN
|
||||||
|
vlan 20 name COM
|
||||||
|
vlan 30 name INF
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
Una vez creadas en nuestro {\em router}, hemos de asignarlas a unas interfaces.
|
||||||
|
Ahora, como el mismo {\em router} se encarga de proveer servicio a todas las
|
||||||
|
redes virtuales, pero nos conectamos por tan sólo una interfaz red, tendremos
|
||||||
|
que crear sub-interfaces por las cuales el mismo {\em router} puede tener varias
|
||||||
|
direcciones IP (una para cada red virtual, y una más para la red nativa):
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
# no usar fa0/0 directamente
|
||||||
|
int fa0/0
|
||||||
|
no ip address
|
||||||
|
# crear sub-interfaz nativa
|
||||||
|
int fa0/0.1
|
||||||
|
encapsulation dot1Q 1 native
|
||||||
|
ip address 192.168.0.1 255.255.255.0
|
||||||
|
# sub-interfaces de VLAN
|
||||||
|
int fa0/0.10
|
||||||
|
encapsulation dot1Q 10
|
||||||
|
ip address 192.168.10.1 255.255.255.0
|
||||||
|
switchport mode access vlan 10
|
||||||
|
int fa0/0.20
|
||||||
|
encapsulation dot1Q 20
|
||||||
|
ip address 192.168.20.1 255.255.255.0
|
||||||
|
switchport mode access vlan 20
|
||||||
|
int fa0/0.30
|
||||||
|
encapsulation dot1Q 30
|
||||||
|
ip address 192.168.30.1 255.255.255.0
|
||||||
|
switchport mode access vlan 30
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
\subsection{Direcciones Estáticas}
|
||||||
|
|
||||||
|
Como el servidor tiene que tener una dirección IP estática, asignamos a él la
|
||||||
|
dirección IP {\tt 192.168.20.2}, ya que tenemos reservados las primeras cinco
|
||||||
|
direcciones de cada red virtual, y la primera se usará para el {\em router}.
|
||||||
|
|
||||||
|
\section{Conclusión}
|
||||||
|
|
||||||
|
Al final de este proceso, se tendrá una red interna de empresa en correcto
|
||||||
|
funcionamiento, como se puede ver en la simulación de {\em CISCO PacketTracer}.
|
||||||
|
|
||||||
|
\pagebreak
|
||||||
|
|
||||||
|
\section{Derechos de Autor y Licencia}
|
||||||
|
|
||||||
|
\noindent
|
||||||
|
Copyright \copyright\ \the\year\ Nicolás A. Ortega Froysa
|
||||||
|
<nicolas@ortegas.org> \\
|
||||||
|
\\
|
||||||
|
Este documento se distribuye bajo los términos y condiciones de la licencia
|
||||||
|
Creative Commons Attribution No Derivatives 4.0 International.
|
||||||
|
|
||||||
|
\end{document}
|
10
1/PAR/assignments/t8-ej6-naortega/t8-ej6-naortega.toc
Normal file
10
1/PAR/assignments/t8-ej6-naortega/t8-ej6-naortega.toc
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
\babel@toc {spanish}{}\relax
|
||||||
|
\contentsline {section}{\numberline {1}Resumen Ejecutivo}{3}{section.1}%
|
||||||
|
\contentsline {section}{\numberline {2}Configuración}{3}{section.2}%
|
||||||
|
\contentsline {subsection}{\numberline {2.1}Switches}{3}{subsection.2.1}%
|
||||||
|
\contentsline {subsubsection}{\numberline {2.1.1}VLANs}{3}{subsubsection.2.1.1}%
|
||||||
|
\contentsline {subsubsection}{\numberline {2.1.2}DHCP}{5}{subsubsection.2.1.2}%
|
||||||
|
\contentsline {subsection}{\numberline {2.2}Router}{5}{subsection.2.2}%
|
||||||
|
\contentsline {subsection}{\numberline {2.3}Direcciones Estáticas}{6}{subsection.2.3}%
|
||||||
|
\contentsline {section}{\numberline {3}Conclusión}{6}{section.3}%
|
||||||
|
\contentsline {section}{\numberline {4}Derechos de Autor y Licencia}{7}{section.4}%
|
BIN
1/PAR/assignments/t8-ej7/imgs/00-mapa-de-la-red.png
Normal file
BIN
1/PAR/assignments/t8-ej7/imgs/00-mapa-de-la-red.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 66 KiB |
BIN
1/PAR/assignments/t8-ej7/imgs/01-configuración-DHCP.png
Normal file
BIN
1/PAR/assignments/t8-ej7/imgs/01-configuración-DHCP.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 33 KiB |
BIN
1/PAR/assignments/t8-ej7/imgs/02-configuración-DNS.png
Normal file
BIN
1/PAR/assignments/t8-ej7/imgs/02-configuración-DNS.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
BIN
1/PAR/assignments/t8-ej7/imgs/03-prueba-conexión-HTTP.png
Normal file
BIN
1/PAR/assignments/t8-ej7/imgs/03-prueba-conexión-HTTP.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
BIN
1/PAR/assignments/t8-ej7/t8-ej7-naortega.pdf
Normal file
BIN
1/PAR/assignments/t8-ej7/t8-ej7-naortega.pdf
Normal file
Binary file not shown.
225
1/PAR/assignments/t8-ej7/t8-ej7-naortega.tex
Normal file
225
1/PAR/assignments/t8-ej7/t8-ej7-naortega.tex
Normal file
@ -0,0 +1,225 @@
|
|||||||
|
\documentclass[12pt,a4paper]{article}
|
||||||
|
\usepackage[spanish]{babel}
|
||||||
|
\usepackage{hyperref}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{subcaption}
|
||||||
|
|
||||||
|
\title{Tema VIII Ejercicio VII}
|
||||||
|
\author{Nicolás A. Ortega Froysa}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
\pagebreak
|
||||||
|
\tableofcontents
|
||||||
|
\pagebreak
|
||||||
|
|
||||||
|
\section{Resumen Ejecutivo}
|
||||||
|
|
||||||
|
\begin{figure}[!htb]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.75\linewidth]{imgs/00-mapa-de-la-red.png}
|
||||||
|
\caption{Mapa de la red.}
|
||||||
|
\label{fig:mapa-de-la-red}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
El objetivo de esta práctica es crear una red dinámica en la que hay tres
|
||||||
|
servidores (DNS, DHCP, y HTTP), y cuatro redes (virtuales) distintas que tienen
|
||||||
|
al menos cinco terminales. Para montar esta red, se hará uso de cinco {\em
|
||||||
|
switches} y un {\em router}, de tal modo que quede como se puede ver en la
|
||||||
|
figura \ref{fig:mapa-de-la-red}.
|
||||||
|
|
||||||
|
\section{Configuración}
|
||||||
|
|
||||||
|
\subsection{Switches}
|
||||||
|
|
||||||
|
En todos los {\em switches} hemos de configurar algunas cosas básicas, como
|
||||||
|
sería las VLAN, la contraseña de entrada ({\tt ASIR1}) y el MOTD. Para esto, en
|
||||||
|
cada {\em switch} corremos los siguientes comandos:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
enable
|
||||||
|
conf t
|
||||||
|
enable secret ASIR1
|
||||||
|
banner motd "Estas accediendo al switch, enhorabuena!"
|
||||||
|
vlan 10
|
||||||
|
name INF
|
||||||
|
vlan 20
|
||||||
|
name ASIR
|
||||||
|
vlan 30
|
||||||
|
name DAW
|
||||||
|
vlan 40
|
||||||
|
name DAM
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
En aquellos {\em switches} que estén más cerca de los terminales y servidores
|
||||||
|
(i.e.\ S-INF, S-ASIR, S-DAW, y S-DAM) tenemos que configurar sus interfaces.
|
||||||
|
Asumimos que la interfaz FastEthernet0/1 siempre queda reservada para conectarse
|
||||||
|
al {\em switch} central (i.e.\ S-CENTRAL), y las demás las podemos usar para
|
||||||
|
terminales y servidores. Para esto corremos los comandos siguientes,
|
||||||
|
intercambiando {\tt \textless{}n\textgreater{}} por la VLAN que corresponde a la
|
||||||
|
red virtual asignada a este {\em switch}:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
int fa0/1
|
||||||
|
switchport mode trunk
|
||||||
|
int range fa0/2-24
|
||||||
|
switchport mode access
|
||||||
|
switchport access vlan <n>
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
Luego, en el {\em switch} central (S-CENTRAL) configuramos tal que todas las
|
||||||
|
interfaces que estamos usando (i.e. FastEthernet0/1-5) sean de tipo troncal:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
int range fa0/1-5
|
||||||
|
switchport mode trunk
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
\subsection{Servidores}
|
||||||
|
|
||||||
|
Todos los servidores de nuestra red se encuentran dentro de la VLAN 10 (con
|
||||||
|
nombre <<INF>>). Físicamente se encuentran conectados al {\em switch} S-INF.
|
||||||
|
|
||||||
|
\subsubsection{Servidor DHCP}
|
||||||
|
|
||||||
|
\begin{figure}[!htb]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.75\linewidth]{imgs/01-configuración-DHCP.png}
|
||||||
|
\caption{Configuración DHCP.}
|
||||||
|
\label{fig:configuracion-dhcp}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
El servidor DHCP lo configuramos manualmente con las direcciones IP siguientes:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item IP: 192.168.1.2
|
||||||
|
\item Máscara: 255.255.255.0
|
||||||
|
\item Gateway: 192.168.1.1
|
||||||
|
\item DNS: 192.168.1.3
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\noindent
|
||||||
|
Luego configuramos cuatro {\em pools} de DHCP distintas para cada VLAN tal como
|
||||||
|
aparecen en la figura \ref{fig:configuracion-dhcp}. Empezamos a partir de la
|
||||||
|
dirección 192.168.x.10 de cada red para reservar las primeras direcciones por si
|
||||||
|
quisiéramos añadir más servidores que proveen servicios en cada red. Antes de
|
||||||
|
continuar nos aseguramos de que el servicio esté encendido.
|
||||||
|
|
||||||
|
\subsubsection{Servidor DNS}
|
||||||
|
|
||||||
|
\begin{figure}[!htb]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.75\linewidth]{imgs/02-configuración-DNS.png}
|
||||||
|
\caption{Configuración DNS.}
|
||||||
|
\label{fig:configuracion-dns}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
El servidor DNS lo configuramos manualmente con las direcciones IP siguientes:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item IP: 192.168.1.3
|
||||||
|
\item Máscara: 255.255.255.0
|
||||||
|
\item Gateway: 192.168.1.1
|
||||||
|
\item DNS: 192.168.1.3
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
Es aquí en este servidor donde tenemos que configurar el nombre de dominio de
|
||||||
|
nuestro servidor HTTP. Para esto añadimos una entrada apuntando el nombre de
|
||||||
|
dominio <<www.universidadasir.es>> a la dirección IP 192.168.1.4. Nos aseguramos
|
||||||
|
de que el servicio está encendido, de tal modo que el debería parecerse a la
|
||||||
|
figura \ref{fig:configuracion-dns}.
|
||||||
|
|
||||||
|
\subsubsection{Servidor HTTP}
|
||||||
|
|
||||||
|
El servidor HTTP lo configuramos manualmente con las direcciones IP siguientes:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item IP: 192.168.1.4
|
||||||
|
\item Máscara: 255.255.255.0
|
||||||
|
\item Gateway: 192.168.1.1
|
||||||
|
\item DNS: 192.168.1.3
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
Para este servidor tan sólo hemos de entrar en la configuración de HTTP y
|
||||||
|
asegurarnos de que esté encendido, y (opcionalmente) modificar el archivo {\tt
|
||||||
|
index.html} para que aparezca algún resultado más reconocible.
|
||||||
|
|
||||||
|
\subsection{Router}
|
||||||
|
|
||||||
|
Para la configuración del {\em router} tenemos que configurar primero las VLAN,
|
||||||
|
que se puede hacer con los comandos siguientes:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
enable
|
||||||
|
vlan database
|
||||||
|
vlan 10 name INF
|
||||||
|
vlan 20 name ASIR
|
||||||
|
vlan 30 name DAW
|
||||||
|
vlan 40 name DAM
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
A continuación configuramos la interfaz FastEthernet0/0 para que se divida en
|
||||||
|
varias sub-interfaces: una nativa (0/0.1), y una por cada VLAN de nuestra red.
|
||||||
|
También hemos de asignar un {\em helper address} que servirá para redireccionar
|
||||||
|
todas las peticiones de DHCP a nuestro servidor DHCP que se encuentra en la red
|
||||||
|
VLAN 10.
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
int fa0/0
|
||||||
|
no ip address
|
||||||
|
int fa0/0.1
|
||||||
|
encapsulation dot1Q 1 native
|
||||||
|
ip address 192.168.0.1
|
||||||
|
int fa0/0.10
|
||||||
|
encapsulation dot1Q 10
|
||||||
|
ip address 192.168.1.1
|
||||||
|
int fa0/0.20
|
||||||
|
encapsulation dot1Q 10
|
||||||
|
ip address 192.168.2.1
|
||||||
|
int fa0/0.20
|
||||||
|
encapsulation dot1Q 20
|
||||||
|
ip address 192.168.2.1
|
||||||
|
int fa0/0.30
|
||||||
|
encapsulation dot1Q 30
|
||||||
|
ip address 192.168.3.1
|
||||||
|
int fa0/0.40
|
||||||
|
encapsulation dot1Q 40
|
||||||
|
ip address 192.168.4.1
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
\subsection{Terminales}
|
||||||
|
|
||||||
|
Con todo esto configurado, la configuración de los terminales es bien fácil. Tan
|
||||||
|
sólo hemos de entrar en la configuración de IP de cada terminal y cambiarlo de
|
||||||
|
modo estático al uso de DHCP. Entonces debería recibir la configuración dada por
|
||||||
|
el servidor DHCP al ordenador con una dirección IP nueva que corresponde a su
|
||||||
|
VLAN.
|
||||||
|
|
||||||
|
\section{Prueba}
|
||||||
|
|
||||||
|
\begin{figure}[!htb]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.75\linewidth]{imgs/03-prueba-conexión-HTTP.png}
|
||||||
|
\caption{Prueba conexión HTTP.}
|
||||||
|
\label{fig:prueba-conexion-http}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
Una vez que tengamos todo configurado, podemos verificar si nuestra red funciona
|
||||||
|
accediendo mediante navegador web desde un terminal en cualquier VLAN que no sea
|
||||||
|
la 10 (de INF) a nuestro servidor HTTP con el nombre de dominio que hemos
|
||||||
|
asignado anteriormente. Si todo funciona correctamente, ha de aparecer la página
|
||||||
|
{\tt index.html} que hemos modificado anteriormente (figura
|
||||||
|
\ref{fig:prueba-conexion-http}).
|
||||||
|
|
||||||
|
\pagebreak
|
||||||
|
|
||||||
|
\section{Derechos de Autor y Licencia}
|
||||||
|
|
||||||
|
\noindent
|
||||||
|
Copyright \copyright\ \the\year\ Nicolás A. Ortega Froysa
|
||||||
|
<nicolas@ortegas.org> \\
|
||||||
|
\\
|
||||||
|
Este documento se distribuye bajo los términos y condiciones de la licencia
|
||||||
|
Creative Commons Attribution No Derivatives 4.0 International.
|
||||||
|
|
||||||
|
\end{document}
|
12
1/PAR/assignments/t8-ej7/t8-ej7-naortega.toc
Normal file
12
1/PAR/assignments/t8-ej7/t8-ej7-naortega.toc
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
\babel@toc {spanish}{}\relax
|
||||||
|
\contentsline {section}{\numberline {1}Resumen Ejecutivo}{3}{section.1}%
|
||||||
|
\contentsline {section}{\numberline {2}Configuración}{3}{section.2}%
|
||||||
|
\contentsline {subsection}{\numberline {2.1}Switches}{3}{subsection.2.1}%
|
||||||
|
\contentsline {subsection}{\numberline {2.2}Servidores}{4}{subsection.2.2}%
|
||||||
|
\contentsline {subsubsection}{\numberline {2.2.1}Servidor DHCP}{4}{subsubsection.2.2.1}%
|
||||||
|
\contentsline {subsubsection}{\numberline {2.2.2}Servidor DNS}{5}{subsubsection.2.2.2}%
|
||||||
|
\contentsline {subsubsection}{\numberline {2.2.3}Servidor HTTP}{6}{subsubsection.2.2.3}%
|
||||||
|
\contentsline {subsection}{\numberline {2.3}Router}{7}{subsection.2.3}%
|
||||||
|
\contentsline {subsection}{\numberline {2.4}Terminales}{7}{subsection.2.4}%
|
||||||
|
\contentsline {section}{\numberline {3}Prueba}{8}{section.3}%
|
||||||
|
\contentsline {section}{\numberline {4}Derechos de Autor y Licencia}{9}{section.4}%
|
BIN
1/PAR/assignments/t8-ej7/t8-ej7.pkt
Normal file
BIN
1/PAR/assignments/t8-ej7/t8-ej7.pkt
Normal file
Binary file not shown.
@ -15,6 +15,12 @@ enable secret <password>
|
|||||||
username <usuario> privilege 1 password 0 <password>
|
username <usuario> privilege 1 password 0 <password>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### MOTD
|
||||||
|
|
||||||
|
```
|
||||||
|
banner motd "<motd>"
|
||||||
|
```
|
||||||
|
|
||||||
## Sub-Interfaces
|
## Sub-Interfaces
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -73,3 +79,15 @@ default-router <ip>
|
|||||||
dns-server <ip>
|
dns-server <ip>
|
||||||
ip dhcp excluded-address <low-ip> <high-ip>
|
ip dhcp excluded-address <low-ip> <high-ip>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Asignar Dirección Servidor DHCP
|
||||||
|
|
||||||
|
Hay veces que queremos asignar desde un __router__ o un __switch__ el servidor
|
||||||
|
DHCP con un cierto IP que está dentro de otra red. Para esto hacemos uso del
|
||||||
|
__helper address__. Simplemente entramos en la (sub-)interfaz a la que queremos
|
||||||
|
asignar este servidor, y añadimos el __helper__ como de forma siguiente:
|
||||||
|
|
||||||
|
```
|
||||||
|
int <if>[.<sub-if>]
|
||||||
|
ip helper-address <ip-dhcp>
|
||||||
|
```
|
||||||
|
Loading…
Reference in New Issue
Block a user