Se simula una pequeña red local formada por dos equipos Linux que deben comunicarse entre sí y permitir la administración remota de un servidor.
La práctica se realizará utilizando:
Ubuntu Server 24 (servidor)
Ubuntu Desktop 24 (cliente)
Aunque el cliente dispone de entorno gráfico, todas las tareas deberán realizarse desde terminal.
El objetivo es aprender a configurar la red, verificar la conectividad, analizar el funcionamiento de la red y gestionar recursos accesibles a través de ella. Infraestructura
Máquina 1 — servidor sistema: Ubuntu Server 24 hostname: srv01 rol: servidor accesible por red y por SSH
Máquina 2 — cliente sistema: Ubuntu Desktop 24 hostname: cli01 rol: equipo desde el que se realizan pruebas de conectividad y acceso remoto Configuración de red
Ambas máquinas estarán conectadas a la misma red local.
Red:
192.168.50.0/24
Direcciones IP:
srv01 → 192.168.50.10 cli01 → 192.168.50.20
En cada máquina, muestra las interfaces de red disponibles ejecutando:
ip a
Cliente:

Servidor:

Responde:
¿Que interfaz de red está activa?
La interfaz activa es enp0s3, ya que es la que tiene la conexión a la red.
¿Qué dirección IP tiene asignada actualmente?
En la maquina cliente tiene la dirección IP: 10.0.2.15/24
En la maquina servidor tiene la dirección IP: 10.0.2.15/24
¿Qué dirección MAC tiene la interfaz?
Cliente: 08:00:27:21:bb:a8 brd ff:ff:ff:ff:ff:ff
Servidor: 08:00:27:04:23:4d brd ff:ff:ff:ff:ff:ff
¿A qué red pertenece la dirección IP?
Ambas pertencen a la red 10.0.2.0/24
El comando ip a permite mostrar todas las interfaces de red del sistema, incluyendo su estado, dirección IP y dirección MAC. En la salida se puede observar la interfaz activa identificada con el estado UP, su dirección IP en formato inet y su dirección física MAC en la línea link/ether
He consultado la documentación usando únicamente el manual del comando ip en Ubuntu, con el comando:
man ip
Muestra nuevamente la configuración IP:
ip addr
Cliente:

Servidor:

Muestra la tabla de rutas del sistema:
ip route
Cliente:

Servidor:

Responde:
¿Qué red local aparece configurada?
Ambas aparecen con la red local: 10.0.2.0/24
¿Qué interfaz se utiliza para acceder a esa red?
enp0s3
¿Existe una puerta de enlace configurada?
Si existe una.

https://man7.org/linux/man-pages/man8/ip-route.8.html
La puerta de enlace 10.0.2.2 es tu puente hacia el mundo exterior. Es el dispositivo al que tu equipo le entrega todo el tráfico destinado a Internet porque, por sí solo, no sabe cómo salir de tu red local. Sin esta dirección, estarías aislado y solo podrías comunicarte con los equipos que tienes justo al lado.
Consulta el nombre actual del sistema ejecutando:
hostname
Cliente:

Servidor:

Configura el nombre correspondiente.
Servidor:
sudo hostnamectl set-hostname srv01
Cliente:
sudo hostnamectl set-hostname cli01

Comprueba el cambio ejecutando:
hostname
Cliente:

Servidor:

El comando hostname es básicamente el carné de identidad de tu equipo en la red. Sirve para consultar o cambiar el nombre que identifica a tu sistema y su dominio, permitiendo que otros dispositivos sepan exactamente quién eres. Es la herramienta principal para gestionar tu nombre de máquina y asegurar que tu equipo sea reconocible dentro de cualquier red local o de internet.
https://man7.org/linux/man-pages/man1/hostname.1.html

Edita el archivo de configuración de red:
sudo nano /etc/netplan/01-netcfg.yaml
Cliente:

Servidor:

Aplica la configuración:
sudo netplan apply
Cliente:

Servidor:

Comprueba la configuración:
ip a
Cliente:

Servidor:

network:
version: 2
renderer: networkd
ethernets:
enp0s3:
addresses:
- 192.168.50.20/24
routes:
- to: default
via: 192.168.50.1
nameservers:
addresses:
- 8.8.8.8
network: Indica el inicio de la configuración de red.
version: 2
Define la versión del formato de configuración de Netplan.
networkd → Usado normalmente en servidores.NetworkManager → Usado en sistemas con entorno gráfico.
ethernets:
Define las interfaces de red cableadas.
enp0s3:
Nombre de la interfaz de red configurada.
addresses:
Permite asignar una dirección IP manual.
192.168.50.20/24
Dirección IP estática con máscara de red /24.
routes:
Define la puerta de enlace (gateway).
to: default
Indica la ruta por defecto.
via: 192.168.50.1
Dirección IP del gateway o router.
nameservers:
Define los servidores DNS.
Desde el cliente ejecuta:
ping 192.168.50.10

Desde el servidor ejecuta:
ping 192.168.50.20

Responde:
¿Se reciben respuestas del otro equipo?
Sí, se reciben respuestas correctamente, lo que indica que existe conectividad entre ambas máquinas.
¿Cuántos paquetes se envían y reciben?
Se envían 4 paquetes y se reciben 4.
¿Qué información muestra el comando ping?
Dirección IP de destino. Tiempo de respuesta (time=) en milisegundos. Número de secuencia (icmp_seq). Tiempo total (ttl). Estadísticas finales de paquetes enviados y recibidos.
Página oficial man (Linux):
https://man7.org/linux/man-pages/man8/ping.8.html
Edita el archivo:
sudo nano /etc/hosts
Añade las entradas:
192.168.50.10 srv01
192.168.50.20 cli01
Cliente:

Servidor:

Comprueba la resolución de nombres:
ping srv01

ping cli01

El archivo /etc/hosts permite asociar nombres de host con direcciones IP sin utilizar un servidor DNS. Cuando se escribe un nombre como srv01, el sistema consulta este archivo para obtener la dirección IP correspondiente.
https://man7.org/linux/man-pages/man5/hosts.5.html
Muestra la tabla de rutas del sistema:
ip route
Cliente:

Servidor:

Responde:
¿Qué red aparece en la tabla de rutas?
192.168.50.0/24
¿Qué interfaz se utiliza para acceder a esa red?
dev enp0s3
¿Qué significa cada columna mostrada en la tabla?
destination → red destino dev → interfaz utilizada proto → tipo de ruta scope → alcance de la ruta
https://man7.org/linux/man-pages/man8/ip-route.8.html
Muestra los puertos abiertos en el sistema:
ss -tuln
Cliente:

Servidor:

Responde:
¿Qué puertos aparecen abiertos?
Cliente: Puerto 53 DNS / Puerto 5353 mDNS / Puerto 631 IPP / Puertos UDP 51661 y 46714
Servidor: Puerto 53 DNS / Puerto 22 SSH
¿Qué significa cada columna mostrada en la salida del comando?
Netid → protocolo (TCP o UDP) State → estado del puerto Local Address → IP local Port → puerto utilizado
¿Qué protocolos se están utilizando?
TCP y UDP
https://man7.org/linux/man-pages/man8/ss.8.html
En el servidor ejecuta:
sudo apt update
sudo apt install openssh-server

Comprueba el estado del servicio:
sudo systemctl status ssh

Comprueba que el puerto está abierto:*
ss -tuln

El servicio SSH permite administrar un sistema de forma remota mediante conexión segura.
El puerto utilizado por defecto es:
22
https://man7.org/linux/man-pages/man1/ssh.1.html
Desde cli01, establece una conexión SSH con el servidor:
ssh usuario@192.168.50.10

Una vez conectado ejecuta:
whoami
hostname

¿Qué usuario está conectado?
El usuario mostrado por whoami.
¿En qué máquina se ejecutan los comandos? En el servidor remoto, identificado con hostname.
https://man7.org/linux/man-pages/man1/ssh.1.html
Muestra el estado de las interfaces ejecutando:
ip link
Cliente:

Servidor:

Responde:
¿Qué interfaces aparecen en el sistema?
lo → loopback
enp0s3 → red principal
¿Qué estado tiene cada una (UP, DOWN)?
UP → activa
DOWN → inactiva
https://man7.org/linux/man-pages/man8/ip-link.8.html
Muestra las entradas de la tabla ARP ejecutando:
ip neigh
Cliente:

Servidor:

Responde:
¿Qué dirección IP aparece asociada a la otra máquina?
Cliente: Aparece la del server = 192.168.50.10
Servidor: Aparece la del cliente = 192.168.50.20
¿Qué dirección MAC tiene?
Cliente: MAC server = 08:00:27:62:22:d6
Servidor: MAC cliente = 08:00:27:27:52:75
IP → dirección lógica MAC → dirección física
https://man7.org/linux/man-pages/man8/ip-neighbour.8.html
Desde el cliente crea un archivo:
nano prueba.txt

Copia el archivo al servidor utilizando:
scp prueba.txt usuario@192.168.50.10:/home/usuario

Comprueba en el servidor que el archivo se ha copiado correctamente.

El comando scp permite copiar archivos entre equipos mediante SSH de forma segura.
https://man7.org/linux/man-pages/man1/scp.1.html
En el servidor ejecuta:
sudo systemctl stop ssh

NOTA: He tenido que ejecutar el siguiente comando para pararlo completamente:
sudo systemctl stop ssh.socket
Comprueba si el puerto sigue abierto:
ss -tuln

Intenta conectarte desde el cliente.

Después vuelve a iniciar el servicio:
sudo systemctl start ssh

Vuelve a aparecer en ss -tuln:

Se puede conectar desde el cliente:

Cuando el servicio SSH se detiene:
el puerto 22 deja de estar disponible no es posible conectarse remotamente
Cuando se inicia nuevamente:
el puerto vuelve a abrirse las conexiones SSH funcionan
https://www.cyberciti.biz/faq/howto-start-stop-ssh-server/
Reinicia ambas máquinas.
Comprueba que:
la dirección IP sigue configurada correctamente el hostname se mantiene el servicio SSH se inicia automáticamente Utiliza los comandos necesarios para verificar cada elemento.
Cliente:

Servidor:

La configuración se mantiene tras reiniciar porque:
Netplan guarda la configuración de red.
Hostname se guarda en archivos del sistema.
SSH está habilitado para iniciar automáticamente.
Netplan: https://netplan.readthedocs.io/en/latest/netplan-yaml/
Hostname: https://man7.org/linux/man-pages/man1/hostname.1.html
SSH: https://man7.org/linux/man-pages/man1/systemctl.1.html