Está en la página 1de 26

EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS

_______________________________________________________________________________________________

EL0045 - LABORATORIO DE REDES DE COMPUTADORAS

LABORATORIO NÚMERO: 01 SEMESTRE: 2021-1

TEMA: Fundamentos de Linux y Redes IP

OBJETIVOS:

 Familiarizar al alumno con los comandos básicos de CLI de Linux a nivel de usuario.
 Identificar las interfaces de comunicación de la computadora
 Familiarizar al alumno con el escenario del laboratorio y el acceso a los switches y routers
desde la consola de Linux.
 Familiarizar al alumno con el programa de captura y análisis de protocolos de red :
wireshark

INTEGRANTES

NOMBRES Y APELLIDOS CÓDIGO

1 Alex Pocohuanca

2 Eduardo Quito Igreda

3 Leonardo Castilla Pachas 202020217

4 Nina Farro Aguilar

5 Santiago Madariaga Collado

Actividades Duración aproximada Puntos

1 Informe Previo 0 5 pts.

2 Prueba en línea usando Intranet 5 pts.

3 Desempeño 5 pts.

4 Desarrollo del Laboratorio 5 pts.

Laboratorio 01: Redes IP en Linux 1


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

PARTE I: FUNDAMENTOS TEÓRICOS


1. Introducción al sistema operativo GNU/Linux

1.1. Kernel
Los Sistemas operativos se dividen en tres partes: hardware, kernel y espacio de usuario. A
continuación, se presenta una imagen donde se puede apreciar el nivel jerárquico y seguridad
que presentan estos tres.

Figura 1.1: Partes del Sistema Operativo

Como se muestra en la imagen, el kernel es el intermediario entre las aplicaciones de usuario y


el hardware. La principal función del kernel es administrar los recursos del computador y
permitir que otros programas se ejecuten y utilicen esos recursos. Con recursos se hace
referencia a:
- Central Proccesing Unit (CPU): el kernel decide que programa que se está ejecutando debe
ser colocado en el procesador.
- Memory: el kernel decide que parte de la memoria de cada procesador puede ser usada y
determina qué hacer en caso la memoria sea insuficiente.
- Input/Output (I/O) Devices: el kernel administra los request (solicitudes) de las aplicaciones
para realizar operaciones de agregar o quitar algún dispositivo.
El GNU/Linux, representa la combinación del núcleo Linux con el sistema GNU; y ambos
conforman un sistema operativo con muchas funcionalidades para la administración de
archivos, dispositivos y conectividad, que pueden ser implementados en computadoras
personales o servidores. Los sistemas basados en Linux son multiproceso y multiusuario.
Actualmente para obtener GNU/Linux o simplemente Linux, se debe obtener una Distribución.
Las distribuciones Linux gratuitas más conocidas son Ubuntu, Linux Mint, CentOS y Fedora.

1.2. Interacción con el usuario


En el pasado, para poder comunicarnos con un mainframe (llámese computadora central) era
necesario tener terminales físicos conectados a esa computadora. Estos terminales eran
simples pantallas con hardware limitado donde se introducía texto usando el teclado y en la
pantalla se observaba lo que uno iba escribiendo. Por el lado del mainframe se tenía un CLI
(command line interpreter) o Shell, este último es un proceso que interpreta y ejecuta
comandos. Su intérprete de comandos en el CLI es el Bash (Bourne Again Shell).
Luego, estos terminales pasaron a tener GUIs (graphical user interfaces). Es un entorno más
amigable y puedes hacer uso de mouse y teclado para realizar cualquier operación. El uso de

Laboratorio 01: Redes IP en Linux 2


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

este entorno es más sencillo, sobre todo para usuarios novatos. Sin embargo, el uso de CLI
provee mayor flexibilidad y control para la administración del sistema y su configuración.
Actualmente, los terminales físicos ya no se usan y en su reemplazo aparecieron los terminales
virtuales. Estos terminales reconocen el texto ingresado y emulan el comportamiento de un
terminal físico. Para acceder a un terminar virtual se hace uso de una combinación de teclas.
La comunicación entre el terminal y el Shell se logra usando un archivo dentro del sistema de
nombre /dev/ttyX (donde la X representa al número de la consola virtual). Para saber el
terminal que se está usando se utiliza el comando tty.
Mientras Linux comienza a cargar, se pueden acceder a seis terminales usando CTRL+ALT+F1….
CTRL+ALT+F6. En el caso de que Linux tenga una GUI, es posible entrar a una consola virtual
denominado terminal emulator o pseudo-terminal. Para inicializar el pseudo-terminal se usa la
combinación de teclas ALT+F2 y luego se usa el comando gnome-terminal o xterm. Otra forma
es yendo a MENU-> Accesorios-> Terminal dos maneras.

Figura 1.2: Terminales o consolas (CLI) de Linux

1.3. Cambio de usuario


Un método para lograr una interacción con el sistema como superusuario (u otro usuario) es
iniciando sesión como tal y autenticarse con la clave. Sin embargo, existen los comandos su y
sudo que pueden lograrlo. El comando su (switch user) permite interactuar como un usuario
diferente con el cual se inició sesión o ejecutar comandos como otro usuario. En caso no se
especifique el usuario por el cual se desea cambiar, automáticamente cambia a root
(administrador del sistema o superusuario). Luego de ejecutar este comando, el sistema pedirá
la clave asociada al usuario que va a utilizar. La desventaja que posee este comando radica en
el caso cuando varias personas conocen la clave de root, ya que, al tener privilegios de
superusuario se puede manipular cualquier cosa del sistema. Para ejecutar este comando se
debe emplear la sintaxis: su <nombre de usuario>.
Por otro lado, para evitar divulgar la clave de root, el administrador de sistema define ciertos
usuarios o grupos para que puedan ejecutar ciertos comandos como si fueran superusuario.
Esta definición se realiza gracias al archivo sudoers (/etc/sudoers). Es decir, luego de ejecutar
el comando sudo, el sistema solicita la contraseña del usuario que está ejecutando tal
comando. La sintaxis que usa es: sudo <comando>.
Recordar que ejecutar un comando a continuación del símbolo: $, quiere decir que está siendo
ejecutado por un usuario regular. En cambio, si se ejecuta a continuación del símbolo: #,
quiere decir que está siendo ejecutado por root.

La consola, en modo usuario, muestra el prompt con el siguiente formato:


usuario@nombredelaPC: ~$
La consola, en modo superusuario (root), muestra el prompt con el siguiente formato:
usuario@nombredelaPC: ~#

Laboratorio 01: Redes IP en Linux 3


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

En el recuadro indicar el usuario y nombre de la computadora. Luego escriba el comando para


determinar el directorio donde se encuentra. También indique el comando para verificar el
tipo de consola de Linux: virtual o pseudo-terminal:

1.4. Estructura de Archivos y rutas


En Linux existen tres tipos de archivos: regulares, que contienen información, directorios, que
contienen archivos y/o subdirectorios, y especiales, con contenido especial y son usados sólo
por el sistema operativo. Los archivos se encuentran almacenados jerárquicamente (se sigue el
estándar de sistemas de archivos jerárquicos o FHS) en una estructura de árbol.
Bajo el nodo / se pueden encontrar todos los archivos y directorios del sistema (incluyendo
todos los dispositivos de almacenamiento que se tengan). Las rutas definen cómo alcanzar o
reconocer unívocamente a un archivo o directorio.
Existen dos tipos: rutas absolutas, las cuales inician siempre con el directorio raíz (/)
proveyendo toda la ruta completa desde éste hasta el archivo o directorio, y rutas relativas,
las cuales proveen rutas desde el directorio actual de trabajo. En la tabla 1 se muestra un
listado de directorios importantes de un sistema operativo Linux.

Tabla 1. Listado de directorios Linux


/ Raíz del sistema
/dev Archivos del sistema que representan dispositivos conectados
físicamente
/etc Reservado para archivos de configuración del sistema
/lib Contiene librerías necesarias para ejecutar programas en /bin y
/sbin
/proc Contiene archivos especiales los cuales envían y reciben
información del kernel.
/bin Contiene binarios de comandos comunes del sistema
/sbin Contiene binarios de comandos de administración
/usr Contiene programas comunes usados por todos los usuarios del
sistema
/usr/bin Programas de propósito general
/usr/doc Documentación del sistema
usr/etc Archivos de configuración de programas de usuarios
/usr/include Archivos de cabecera de C/C++
/usr/info Archivos de información de GNU
/usr/lib Librerías de programas de usuarios
/usr/man Manuales accesibles desde el comando man
/usr/sbin Programas de administración del sistema
/usr/src Código fuente de estos programas
/var Contiene información temporal de programas
/home Contiene el directorio de trabajo de los usuarios del sistema

Laboratorio 01: Redes IP en Linux 4


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

1.5. Los usuarios y sus privilegios. Permisos de archivos estándar:


En los permisos sobre los archivos se distingue entre tres clases de usuarios:
1. El propietario o dueño del archivo.
2. Uno de los grupos existentes en el sistema.
3. Todos los demás usuarios.
Si se listan los archivos de un directorio (con el comando ls -l), los permisos
aparecen al principio de la línea en varias columnas:
Tipo Propietario Grupo Otros
d Rwx rwx rwx

Aquí, el tipo indica si se trata el registro como un directorio (tipo d) o como un archivo
(tipo -). En cuanto a los permisos en sí, se distingue entre los permisos para archivos y
para directorios. Para archivos los símbolos significan:
• r (read): autorización para ver el contenido del archivo – permiso de lectura,
• w (write): autorización para modificar el contenido del archivo – permiso de escritura,
• x (execute): autorización para ejecutar el archivo como programa – permiso de
ejecución.
Para directorios significan:
• r: permiso para mostrar el contenido del directorio,
• w: permiso para crear y borrar ficheros y subdirectorios,
• x: permiso para entrar en el directorio.
tux@tierra: ~ > ls -l
-rw-r--r-- 1 tux users 6 Aug 1 10:33 hola.txt
drwx------ 2 tux users 1024 Aug 10 09:58 Mail

En el caso del ejemplo anterior, los permisos significan, para el archivo hola.txt, que
todos los miembros del grupo users y todos los demás usuarios del sistema pueden
leer el archivo hola.txt, mientras que sólo el propietario tux con cd Mail puede entrar
en el directorio.

1.6. Cambiar el propietario, grupo y permisos de acceso


VÔ4Õ°Ö:×0ÔAØ6Ù_Ú.ÛAØ_Ü.Û:×_Ù2Ý.ÔAØÞ×ßÜ.à#Ù_Úâá¸Ø®ã:Û4ÜåäæÚ_Ü,ç<Û,Ù,خհ×_çYÜ,ç´è4Ù°Ôºé2éÙvçYÜ

Los valores actuales referentes a la propiedad y los permisos de acceso se pueden


modificar con los comandos chown (CHange OWNer), chgrp (CHange GRouP) y
chmod (CHange MODe); esto sólo lo pueden hacer el propietario actual y root.
chown exige para un archivo el formato

chown usuario.grupo nombre_de_archivo

Los permisos del archivo pueden ser dados como adición, sustracción o
explícitamente.
Válidos serían, por ejemplo:
chmod u+x El propietario obtiene el permiso de ejecutar el archivo.
chmod g=rw Todos los miembros del grupo pueden leer y escribir.
chmod u=rwx El propietario recibe todos los permisos.
chmod u=rwx,g=rw,o=r El propietario tiene todos los permisos, el grupo
tiene permiso para leer y escribir, y el resto de los usuarios, permiso de lectura.
chmod +x Todos los usuarios (propietario, grupo y demás) obtienen el
permiso para ejecutar el archivo.
chmod a+x Todos los usuarios (propietario, grupo y demás)
obtienen el permiso para ejecutar el archivo.

Junto a la escritura con letras, existe también la escritura octal: los símbolos “rwx” se
pueden representar también mediante cifras:

Laboratorio 01: Redes IP en Linux 5


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

Propietario Grupo Otros


rwx rwx rwx
421 421 421

Además, cada una de las cifras se sumará de tres en tres:


r w x
4 2 1 => 4+2+1=7

r w -
4 2 - => 4+2 = 6

r - x
4 - 1 => 4+1 = 5

Por lo tanto, también sería válido el formato:


chmod 754 hola.txt ; Todos los permisos para el propietario, leer y ejecutar
para el grupo, y leer para el resto de los usuarios.
chmod 777 hola.txt ; Todos los usuarios (propietario, grupo, otros) obtienen
todos los permisos.

1.7. Ejecutar comando en segundo plano:


Si se añade & a un comando, éste se ejecuta directamente en segundo plano.
tierra:~ # xeyes &
[1] 1546

tierra:~ # xclock &

1.8. Expansión de secuencias entre llaves:

Si emitimos un comando como una secuencia de caracteres entre llaves, entonces la


“shell” crea en base a ello todas las combinaciones posibles de símbolos.
tux@tierra:~/tmp > mkdir test{1,2,3,4,5}
tux@tierra:~/tmp > ls
test1 test2 test3 test4 test5
tux@tierra:~/tmp >

Editores de texto:
Los editores de texto que se utilizaran en el Laboratorio son el vi, vim, nano, pico, mcedit,
gedit,etc.
$ nano /home/user1/test1.

1.9. Principales comandos

El número de comandos disponibles bajo una instalación estándar de Linux se estima


en varios cientos y no hay un límite superior. Muchos de esos comandos son para
ámbitos muy especiales (procesamiento de textos, desarrollo de programas). Algunos
pocos pertenecen al “equipamiento básico” del usuario.

Directorios:

Laboratorio 01: Redes IP en Linux 6


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

cd “change directory”
o cd con un parámetro: cambia al directorio indicado.
o cd sin parámetro: cambia al directorio home propio.
pwd . “print working directory”
o pwd indica el “path” del directorio actual.

mkdir . “make directory


o mkdir se invoca por lo menos con un parámetro: se crea un directorio con el
o nombre dado.
o mkdir con la opción “-p”, permite crear todo un “path” completo.
b. m

ls “list”
o ls sin parámetro muestra el contenido del directorio actual.
o ls con parámetro muestra información sobre los nombres de los ficheros
especificados.

Archivos:
cp “copy”
El proceso para copiar ficheros es sencillo:
Ejem: cp origen destino
$ cp /home/prueba.txt /home/redes/prueba.txt

mv “move”.
Mueve un archivo a una ruta específica, y a diferencia de cp, lo elimina del origen finalizada la
operación. Tiene la posibilidad de cambiar el nombre en el destino.
Por ejemplo:
$ mv /home/prueba.txt /home/redes/prueba2.txt

Para crear un archivo se utiliza un editor de texto.


Por ejemplo:
nano /home/prueba3.txt

rm “remove”.
Para borrar un archivo o directorio.
Ejemplo: Para borrar el archivo prueba.txt ubicado en /home,
ejecutamos:
$ rm /home/prueba.txt

cat
Permite ver el contenido de un archivo sin la necesidad de un editor
Ejemplo:Para ver el contenido del archivo prueba.txt en /home, sería:
$ cat prueba.txt
touch
Crea un archivo vacío, si el archivo existe actualiza la hora de modificación.
Ejemplo: Para crear el archivo prueba1.txt en /home, seria:
$ touch /home/prueba1.txt

clear “clear”.
Comando que limpiara nuestra terminal por completo dejándola como recién abierta.
Para ello ejecutamos:
$ clear

find

Laboratorio 01: Redes IP en Linux 7


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

El comando find ayuda a la hora de buscar archivos en todas las rutas.


Por ejemplo: Encontrar todas las rutas donde se ubican los archivos investiga.txt.
$ find / -name “investiga.txt”
grep.
Es el comando por excelencia para buscar cadenas de textos en archivos.
$ grep "virtual" /datos/proyectos/*/investiga.txt

Esto buscará la cadena virtual en todos los archivos investiga.txt que existan dentro de las
carpetas existentes en /datos/proyectos/.
Puede ser un problema si tenemos los archivos investiga.txt en rutas totalmente diferentes.
Para combinar estas dos acciones se puede usar el comando xargs que es capaz de ejecutar un
comando sobre los resultados obtenidos por la salida estándar. Esto quiere decir que, en
combinación con grep, ejecutará el comando sobre los resultados de find.
Por ejemplo, si ejecutamos:
$ find / -name “investiga.txt” | xargs grep “virtual”

Primero se ejecutará un find en toda la computadora en busca de archivos con nombre


investiga.txt. Una vez finalizada la ejecución, y gracias a xargs, el comando grep se ejecutará
únicamente sobre los resultados obtenidos por el comando find.

BONO: Para ver la documentación completa de todos los comandos, se utiliza man que
muestra una documentación completa de cada comando.
Por ejemplo: para ver las opciones del comando ls:
$ man ls

2. Parámetros de configuración del protocolo TCP/IP


Algunos de los parámetros que están basados en el protocolo TCP/IP y deben ser configurados
para que exista comunicación de datos entre dispositivos son:
 Dirección IP (Por ejemplo: 192.168.35.172)
 Máscara de Red (Por ejemplo: 255.255.255.0)
 Puerta de Enlace (Por ejemplo: 192.168.35.10
 Dirección IP de los Servidores DNS; etc. (Por ejemplo 8.8.8.8).
Estos parámetros deben ser configurados en forma estática o dinámica para la adecuada
comunicación de las aplicaciones y servicios de red.
Dependiendo del sistema operativo existen comandos para configurar o verificar estos
parámetros:
 En Windows se puede utilizar el comando ipconfig /all . Adicionalmente se puede liberar
una concesión dinámica de IP con la opción ipconfig /release y renovarla con ipconfig
/renew.

 En Linux se puede utilizar el comando ifconfig. Este comando permite verificar y configurar
algunos de los parámetros TCP/IP. Para más información se puede usar man ifconfig.

 En algunas versiones de Linux, se utiliza el comando: $ sudo ip addr list; para ver las
interfaces de red de la computadora.

Laboratorio 01: Redes IP en Linux 8


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

 Las tarjetas de red en Linux, utilizando la nomenclatura clásica, para tarjetas de red
Ethernet LAN, se identifican con ethX (X=0, 1, 2, ...), donde X indica el orden de las
interfaces (X=0 primera tarjeta de red; X=1, segunda tarjeta de red. En las versiones
modernas de Linux se utiliza la nomenclatura enpXsY (en: tarjeta ethernet; wl: WAN; ww:
WWAN p: PCI geographical location; s: hotplug slot index number; X: indica el número de
slot de PCI; Y: indica el número de slot hotplug) Este cambio (Predictable Network
Interface Names) pretende asignar identificadores estables a las interfaces de red
basándose en el tipo (local Ethernet, WLAN, WWAN…) y evitar los problemas de la
nomenclatura clásica.

 Para renovación dinámica de una dirección IP, se puede ejecutar el comando:

$sudo dhclient eno

 Para ver los parámetros de la tarjeta de red eth0:

$sudo ifconfig eno

eno Link encap:Ethernet direccionHW c4:34:6b:6c:52:75


Direc. inet:192.168.35.172 Difus.:192.168.35.255 MÃsc:255.255.255.0
Direccion inet6: fe80::c634:6bff:fe6c:5275/64 Alcance:Enlace
ACTIVO DIFUSIÓN FUNCIONANDO MULTICAST MTU:1500 Métrica:1
Paquetes RX:1230 errores:0 perdidos:0 overruns:0 frame:0
Paquetes TX:446 errores:0 perdidos:0 overruns:0 carrier:0
colisiones:0 long.colaTX:1000
Bytes RX:660450 (660.4 KB) TX bytes:48985 (48.9 KB)
Interrupción:20 Memoria:f7f00000-f7f20000

Se observa la dirección IP, Máscara, la dirección MAC de la interface, y los paquetes que
recibe y transmite.

Direccionamiento IP en Linux (Ubuntu):


Existen distintas maneras de poder habilitar una o más interfaces de red con un
direccionamiento en particular. La primera es a través del modo gráfico, explicaremos las otras
dos, realizadas a través de un terminal.

 Modo temporal. Si sólo se desea habilitar/modificar temporalmente una dirección, es


posible hacerlo desde el terminal ejecutando el comando ifconfig. Por ejemplo, se
habilitaría una dirección 192.168.35.100/24 en la interfaz eth1 con
$ sudo ifconfig eth1 192.168.35.100/24.
Posteriormente, puede ser necesaria la habilitación manual del Gateway, éste se realiza
con el comando.

Laboratorio 01: Redes IP en Linux 9


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

$ sudo route add default gw 192.168.35.10.

 Modo permanente antiguo. Para ello se debe editar el archivo /etc/network/interfaces,


para el ejemplo visto previamente habría que añadir lo siguiente (tabla 2).

Tabla 2. Habilitación estática de interfaz de red eth1 en /etc/network/interfaces.


Allow-hotplug eth1
iface eth1 inet static
address 192.168.35.100
netmask 255.255.255.0
network 192.168.35.0
broadcast 192.168.35.255
gateway 192.168.35.10

La opción static podría ser reemplazado por dhcp, en tal caso no se utilizar la opción de
configuración dinámica por DHCP.
Ya que se han modificado archivos de configuración del sistema es necesario siempre reiniciar
los servicios asociados a éstos. En este caso habrá que ejecutar.
$ sudo service networking restart
ó
$ sudo /etc/init.d/network restart o
$ sudo systemctl restart networking

Todas las configuraciones hechas por medio de comandos se pierden al reiniciar la


computadora; para guardar la configuración se debe configurar en los archivos respectivos de
cada servicio.

 Modo permanente nuevo.

Abra una ventana de terminal en su servidor Ubuntu 18.04 (o inicie sesión a través de un shell
seguro). Cambie al directorio / etc / netplan con el comando cd / etc / netplan. Emita el
comando ls y debería ver un archivo llamado 50-cloud-init.yaml. Si tampoco ve un archivo
llamado 01-netcfg.yaml, créelo con el comando sudo touch 01-netcfg.yaml. Antes de editar ese
archivo, necesitamos saber el nombre de nuestra interfaz de red. Emita el comando ip a y
debería ver la interfaz de red de su sistema listada por nombre (Figura A).

Laboratorio 01: Redes IP en Linux 10


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

Ahora vamos a crear un nuevo archivo de configuración de netplan. Si no ve el archivo 01-


netcfg.yaml, cree uno con el comando sudo nano 01-netcfg.yaml. Nuestro archivo se parecerá
al que se ve en la Figura B.

Lo que es crucial sobre el diseño de este archivo es no usar exactamente el mismo espaciado
que en mi ejemplo, pero que sea consistente. Si no es coherente con sus sangrías, el archivo
no funcionará. Lo que ve en ese archivo de muestra es todo lo que necesita para configurar esa
dirección IP estática. Tenga en cuenta que no está configurando la dirección de la misma
manera que lo hizo con Ubuntu 16.04. Con el método anterior, configuraba la dirección IP y la
máscara de red de la siguiente manera:

dirección = 192.168.1.206
máscara de red = 255.255.255.0

Laboratorio 01: Redes IP en Linux 11


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

Con netplan, estos se establecen con una sola línea:

direcciones: [192.168.1.206/24]

 Reiniciar / probar la red

Con el nuevo método, debe reiniciar la red mediante netplan. Entonces, una vez que haya
configurado su interfaz, emita el comando:

aplicar sudo netplan apply


El comando anterior reiniciará la red y aplicará la nueva configuración. No debería ver ningún
resultado. Si la red no funciona correctamente, puede ejecutar el comando:

sudo netplan --debug apply

3. Uso del Wireshark.


Para poder utilizar el WireShark como administrador Linux hacer:
$ sudo wireshark

Figura 3.1: Ventana de inicio del WireShark.

Cargue en el navegador una página web; luego seleccionar la interface, en este caso eno, y
empezar la captura de paquetes presionando la opción Start (símbolo de color verde), y
detener la captura presionando Stop (símbolo de color rojo).

Laboratorio 01: Redes IP en Linux 12


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

Figura 3.2: Ventana de resultados de la captura con el WireShark.

En la parte de Filter, podemos escribir una palabra válida que generalmente representa un
protocolo IP/TCP, para poder observar mejor los resultados. La imagen anterior es el resultado
de aplicar el filtro; y sobre este resultado podemos seleccionar una línea, este caso la línea 3
(Frame 3), y en la parte central de la ventana se puede observar los puertos que interviene en
la comunicación IP/TCP.
Cerramos la captura presionando el símbolo X, para empezar una nueva captura.

Laboratorio 01: Redes IP en Linux 13


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

4. Equipos de Interconexión de Redes


Switches: Dispositivo de capa 2 del modelo OSI, permite conectar las computadoras,
teléfonos IP, Access Point para formar una red LAN.
Router: Dispositivo de capa 3 del modelo OSI, permite la interconexión de Redes. Por ejemplo,
la red de la PUCP con la red del proveedor. La red de su casa y la red del proveedor de servicios
de Internet.

SWITCH DE 48 PUERTOS
de consola

ROUTER: Entrada de consola

5. Acceso a la consola del switch y Router vía MINICOM

Verificar con que identificador se detecta el adaptador. Si es cable SERIAL con Interfaz serial
RS-232C, COM 1, se usa ttyS0: /dev/ttyS0
root@marte:~# dmesg | grep tty

Ejecutar “minicom -s” como root para que tengamos


permisos de configuración y nos vamos a la opción de
configurar puerto serial y presionamos ENTER.

Tecleamos “A” para configurar el tty a utilizar y damos enter, después tecleamos “E” para
configurar la velocidad y el bit de paridad: 9600, 8, N, 1. (Vtx, 8 bits de datos, Sin paridad, 1 bit
de parada).
Guardar la configuración seleccionando la opción “Save setup as dfl ” y después elegimos exit.
Listo, ya tenemos configurado minicom para conectarnos a nuestros dispositivos. Switch y
Router.
Realizar las pruebas de conexión serial a un switch y luego a un Router.
Probar emulación de terminal en modo gráfico (tipo Hyperterminal) pueden instalar gtkterm o
cutecom, o putty.
Entrada de consola

EXPERIENCIA # 1: Comandos Básicos de Linux


Puntaje:

Laboratorio 01: Redes IP en Linux 14


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

Tiempo de duración: 100 min.

Ejercicio 1
Desde una ventana CLI, expandir las secuencias de caracteres entre llaves para
obtener el siguiente resultado
test1a test1c test2b test3a test3c test4b test5a test5c
test1b test2a test2c test3b test4a test4c test5b

En el recuadro indicar el comando utilizado:

leonardo@leonardo-VirtualBox:~$ cd Documentos/
leonardo@leonardo-VirtualBox:~/Documentos$ mkdir test{1,2,3,4,5} {a,b,c}
leonardo@leonardo-VirtualBox:~/Documentos$ ls

Ejercicio 2
En una consola, mediante el uso de un editor, crear un script ejecutable que diga: ¡Hola
Linuxeros de la Utec!
TIPS: use: echo ¡Hola, Linuxeros UTEC!
grabe el archivo creado con el nombre de hola en la carpeta
/home/usuario/Documentos.
Haga el archivo ejecutable con el comando
chmod +x /home/usuario/Documentos/hola.
Ejecute el archivo hola: ./hola

En el recuadro indicar los comandos utilizados y el contenido del archivo creado:


leonardo@leonardo-VirtualBox:~/Documentos$ nano hola.sh
#!/bin/bash
echo ¡Hola, Linuxeros UTEC!

leonardo@leonardo-VirtualBox:~/Documentos$ chmod +x hola.sh

Laboratorio 01: Redes IP en Linux 15


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

leonardo@leonardo-VirtualBox:~/Documentos$ ./hola.sh

Ejercicio 3
Utilizar los comandos y parámetros apropiados para visualizar la estructura de directorios y
subdirectorios de Linux

En el recuadro indicar los comandos y parámetros utilizados, y parte del resultado


obtenido:

leonardo@leonardo-VirtualBox:~/Documentos$ sudo su
sudo contraseña para leonardo:
root@leonardo-VirtualBox:/home/leonardo# tree / | more
root@leonardo-VirtualBox: apt install tree

Laboratorio 01: Redes IP en Linux 16


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

Ejercicio 4
Cree un directorio llamado proyectos dentro del directorio home de su usuario y dentro de
este, cree un archivo de texto plano con el siguiente nombre “holautec.c” y escriba un
programita en lenguaje “C” sobre Linux, que muestra el saludo clásico “Hola Linuxeros de la
UTEC”; compilarlo y ejecutarlo.
/ * Programa Hola Linuxeros * /
# i n c l u d e < s t d i o . h>
main ( )
{
p r i n t f ( " Hola Linuxeros de la UTEC \ n " ) ;
}
Compilar y ejecutar:
$ gcc -o holautec holautec.c

$ ./holapucp
Hola Linuxeros de la UTEC
En el recuadro indicar el programa fuente y los comandos de compilación y ejecución:

Laboratorio 01: Redes IP en Linux 17


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

root@leonardo-VirtualBox:/home/leonardo# nano holautec.c

root@leonardo-VirtualBox:/home/leonardo# gcc -o holautec holautec.c


root@leonardo-VirtualBox:/home/leonardo# apt install gcc

root@leonardo-VirtualBox:/home/leonardo# gcc -o holautec holautec.c


root@leonardo-VirtualBox:/home/leonardo# ./holaute

Laboratorio 01: Redes IP en Linux 18


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

En el mismo directorio home de su usuario y dentro de este, cree un archivo de texto plano
con el siguiente nombre “holautec.py” y escriba un programita en lenguaje “phyton” sobre
Linux, que muestra el saludo clásico “Hola Linuxeros de la UTEC”; interpretarlo y ejecutarlo.
print “Hola Linuxeros de la UTEC”

Luego ejecutarlo:
python holautec.py

En el recuadro indicar el programa fuente y los comandos de compilación y ejecución:

root@leonardo-VirtualBox:/home/leonardo# nano holautec.py

root@leonardo-VirtualBox:/home/leonardo# python holautec.py

root@leonardo-VirtualBox:/home/leonardo# apt install python3


root@leonardo-VirtualBox:/home/leonardo# apt install python
root@leonardo-VirtualBox:/home/leonardo# apt install python-minimal
root@leonardo-VirtualBox:/home/leonardo# apt install python holautec.py

Laboratorio 01: Redes IP en Linux 19


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

Ejercicio 5
Utilizar los comandos y parámetros apropiados para visualizar la lista de procesos y sus
dependencias entre padres, hijos, nietos, etc. En formato árbol. Así mismo indique usted el
padre de todos los procesos y el proceso que acoge a todos los procesos huérfanos.

En el recuadro indicar los comandos utilizados, parámetros utilizados y parte del resultado:

leonardo@leonardo-VirtualBox:~ $ cd
leonardo@leonardo-VirtualBox:~ $ pstree

Si bien los resultados continúan, podemos observar que el padre de todos es systemd, y los
procesos huérfanos son acogidos por el proceso init

Laboratorio 01: Redes IP en Linux 20


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

EXPERIENCIA # 2: Redes IP en Linux

Puntaje:
Tiempo de duración: 100 min.

Ejercicio 1
Desde una consola, ejecute los comandos necesarios para obtener los siguientes datos:

Comando Valor obtenido

Nombre del equipo hostname Leonardo-VirtualBox

Dirección IP del NIC ifconfig 10.0.2.15

Máscara de la NIC ifconfig 255.255.255.0

Dirección MAC de NIC ifconfig 08:00:27:9d:59:0f

Gateway route -n 10.0.2.2

Versión de la Distribución uname -a Linux leonardo-VirtualBox 5.4.0-42-


de Linux y el Kernel generic #46~18.04.1-Ubuntu

Laboratorio 01: Redes IP en Linux 21


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

Ejercicio 2
Al realizar el comando:
$sudo ifconfig ó ip addr:

¿Cuántas interfaces se observa?

Como podemos observar, se ven 2 interfaces (lo y enp0s3)

Ejercicio 3
Desde una consola, edite el o los archivos necesarios para cambiar la dirección IP y el Gateway
en la interface de red(use la segunda interface creada en modo internal). Escriba los
comandos utilizados.

IP: 10.11.11.200
Máscara: 255.255.255.0
Gateway: 10.11.11.100

root@leonardo-VirtualBox:/home/leonardo# nano /etc/network/interfaces

Laboratorio 01: Redes IP en Linux 22


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

root@leonardo-VirtualBox:/home/leonardo# /etc/init.d/networking restart


root@leonardo-VirtualBox:/home/leonardo# sudo ifconfig enp0s3 10.11.11.200 netmask
255.255.255.0
root@leonardo-VirtualBox:/home/leonardo# ifconfig

root@leonardo-VirtualBox:/home/leonardo# sudo route add default gw 10.11.11.100


root@leonardo-VirtualBox:/home/leonardo# netstat -rn

¿Cómo activar los cambios y cómo comprobar los cambios realizados?


Para activar los cambios: /etc/init.d/networking restart
Para comprobar los cambios: ifconfig

Laboratorio 01: Redes IP en Linux 23


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

Anexo 1: Instalación de Programas


Al igual que en Windows, en Linux es posible instalar diferentes programas bajando el
ejecutable desde la página web del proveedor. Sin embargo, hay ciertos programas que
requieren ciertas dependencias, por lo tanto, se tiene que instalar, manualmente, la versión del
software incluyendo las librerías dinámicas necesarias. Se entiende por dependencia a una
biblioteca que contiene diferentes archivos necesarios para el buen funcionamiento del
software.
Ante este problema se desarrolló un sistema avanzado para la administración de paquetes que
se encargaba, automáticamente, de conseguir las dependencias junto con el programa que se
desea instalar. Para archivos rpm (Red Hat Package Manager) se usa el comando yum y para
archivos .deb se usa el comando apt. Los archivos rpm son aquellos paquetes de software que
pertenecen a la distribución Red Hat Linux (distribución de Linux significa sistema operativo que
toma como base para su desarrollo el sistema operativo Linux). Por otro lado, los archivos con
extensión .deb pertenecen a la distribución Debian Linux.
En el caso de los paquetes de Debian Linux, el administrador de paquetes utiliza archivos que
contienen las fuentes donde conseguir los paquetes. Estos archivos se encuentran en /etc/apt.
Es importante actualizar la lista de los paquetes con los que están en los repositorios online o
sino el sistema va a trabajar con una lista desactualizada lo cual puede ocasionar dificultades.
Para actualizar esta lista se debe ejecutar el comando apt-get update. Al tener una lista
actualizada, para instalar cualquier paquete se debe ejecutar el comando: apt-get install
<nombre del paquete>.

Anexo 2: Resumen de Comandos


Comandos Complemento Descripción Sintaxis
Muestra la ruta del archivo
tty Tty
del terminal virtual.
gnome-
Ejecuta terminal virtual. gnome-terminal
terminal
xterm Ejecuta terminal virtual. Xterm
su <nombre de
su Cambia a otro usuario.
usuario>
Ejecuta comandos como
sudo otro usuario con privilegios sudo <comando>.
de superusuario.
Actualiza la lista de
apt-get update apt-get update
paquetes disponibles.
apt-get install
apt-get install Instala paquetes.
<nombre del archivo>
df Muestra la cantidad de Df
espacio disponible.
du Muestra la cantidad de Du
espacio que ocupa un
archivo.
ls Lista el contenido del ls /<nombre del
directorio. directorio>
ls -l Lista el contenido del ls –l /<nombre del
directorio en formato lista. directorio>
Incluye información de
permisos, tamaño, etc.
ls -a Muestra todos los archivos ls –a /<nombre del
y carpetas, incluyendo las directorio>
ocultas.
cd / Cambia de directorio. cd /<nombre del dir.>
cd .. Retrocede un nivel en el cd ..
árbol de directorios.
cd ../.. Retrocede dos niveles. cd ../..
pwd Muestra la ruta del Pwd
directorio actual.

Laboratorio 01: Redes IP en Linux 24


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

mkdir Crea un directorio. mkdir <nombre del


directorio>
rmdir Elimina un directorio. rmdir <nombre del
directorio>
mv Mueve un archivo a un mv <nombre del
directorio. directorio/archivo>
<nueva ubicación>
mv Renombre un archivo. mv <nombre del archivo
original> <nuevo
nombre del archivo>
cp Copia archivos. cp <nombre archivo
original/directorio>
<nombre archivo
copia/nuevo directorio>
touch Crea un archivo vacío. touch <nombre del
archivo>
rm Elimina un archivo. rm <nombre del
archivo/ruta del archivo>
rm -f Fuerza el borrado de rm –f <nombre del
archivos y directorios. archivo>
rm -rf Comando definitivo para la rm –rf <nombre del
eliminación. archivo>
vi Editor de archivo. vi <nombre del archivo>
vim Editor de texto. vim <nombre del
archivo>
gedit Editor de texto. gedit <nombre del
archivo>
nano Edita un archivo. nano <nombre del
archivo>
cat Muestra el contenido de un cat <nombre del
archivo. archivo>
more Muestra el contenido de un more <nombre del
archivo en páginas. archivo>
less Permite una mejor less <nombre del
navegación en el contenido archivo>
del archivo.
head Muestra la primera línea head <nombre del
del archivo. archivo/ruta del archivo>
tail Muestra la última línea del tail <nombre del
archivo. archivo/ruta del archivo>
hexdump Muestra el contenido de un hexdump <nombre del
archivo binario en formato archivo/ruta del archivo>
hexadecimal.
grep Busca coincidencias en grep <coincidencia>
archivos. <nombre del
archivo/ruta del archivo>
chmod Cambia los permisos de un chmod <intruccion de
archivo. permiso> <nombre del
archivo>

Tabla 3.1: Resumen de Comandos

Laboratorio 01: Redes IP en Linux 25


EL0045 – LABORATORIO DE INTRODUCCIÓN DE REDES DE COMPUTADORAS
_______________________________________________________________________________________________

Anexo 3. Procesos en Linux


Los procesos son programas que se están ejecutando en el sistema. Para saber cuáles son los
programas que se están ejecutando en el sistema se usa el comando ps. Este comando
muestra una lista informativa de todos los procesos que están corriendo. La información que
provee es: PID (ID del proceso), es un identificador único con el cual se enumeran los
procesos; TTY, muestra el terminal en el cual se ha ejecutado ese programa; TIME, indica
cuánto tiempo lleva ejecutándose ese programa; y CMD, muestra el nombre del programa. La
sintaxis que se usa solo es: ps.

3.1 Otros Comandos para Procesos


Como se mencionó en el capítulo anterior, el comando ps solo te muestra una lista continua de
todos los procesos que están corriendo en el sistema. Sin embargo, estos procesos, en
muchas ocasiones, guardan cierta relación, es decir, que uno deriva de otro. Para poder ver
esa relación se utiliza el comando pstree. Cabe resaltar que el primer proceso que se va a
mostrar es el init, ya que es el primer proceso que se ejecuta al cargar el sistema operativo y
por lo tanto se considera como la raíz de todos los procesos.
Otro comando parecido a ps es el comando top. Este comando te devuelve una lista de
procesos que está corriendo en el sistema, al igual que lo hace el comando ps, con la
diferencia de que se actualiza constantemente. Este permite evaluar el estado de cada proceso
conforme pasa el tiempo. Asimismo, proporciona más información como: espacio de memoria
que ocupa cada proceso, el número de usuarios, el porcentaje de uso de procesador, etc.
Si bien es posible ver los procesos que están corriendo, también se puede eliminarlos
(matarlos) en caso estén ocasionando problemas al sistema o su consumo de memoria sea
muy alto. Para matar un proceso se usa la siguiente sintaxis: kill <nombre del proceso>.

3.2. Resumen de Comandos


Comandos Complemento Descripción Sintaxis
Muestra el manual de un man <nombre del
man
comando. comando>
Lista los procesos del
Ps ps
sistema.
Lista procesos del
sistema indicando la
pstree pstree
relación que tienen entre
sí.
Lista los procesos del
sistema en tiempo real y
Top top
muestra información de
los recursos del sistema.

Laboratorio 01: Redes IP en Linux 26

También podría gustarte