Skip to content

Gestión de Redes

Objetivos

  • Aprender a inspeccionar interfaces de red y verificar su estado con ip link y nmcli.
  • Configurar conexiones de red estáticas y dinámicas usando nmcli y edición manual de archivos de configuración.
  • Diagnosticar problemas de conectividad y enrutamiento con herramientas como ping, traceroute y ss.
  • Gestionar la resolución de nombres y servidores DNS mediante la edición de /etc/hosts y /etc/resolv.conf.
  • Modificar y establecer nombres de host de manera estática y temporal con hostnamectl.

Entorno Inicial

  • Usuario: student
  • Máquina: servera
  • Contraseña inicial: student
  • Herramientas utilizadas: Shell Bash y utilidades básicas de Linux.

Pasos del Laboratorio

Prerequisitos

  1. Inicio de sesión

    • Inicia sesión en la máquina servera desde bastion como el usuario student utilizando la llave privada proporcionada:
    ssh student-#-servera
    

Parte 1: Validación de la Configuración de Red

  1. Identificar la interfaz de red activa

    • Usa ip link show para listar las interfaces de red disponibles:
    ip link show
    
    • Busca la interfaz asociada a la dirección MAC 42:01:0a:8a:00:0e.

    • Anota el nombre de la interfaz (ejemplo: eth0) para usarlo en los siguientes comandos.

  2. Verificar direcciones IP y máscara de red

    • Usa ip -br addr para visualizar las direcciones IP asignadas a cada interfaz:
    ip -br addr
    
    • Ejemplo de salida:
    lo               UNKNOWN        127.0.0.1/8 ::1/128
    eth0             UP             10.138.0.14/32 fe80::e5d7:1f7a:56ae:f183/64 
    
    • Confirma que la interfaz tiene una dirección IPv4 y una dirección IPv6 de enlace-local.
  3. Inspeccionar estadísticas de tráfico

    • Usa ip -s link show eth0 para visualizar el tráfico de red en la interfaz:
    ip -s link show eth0
    
    • Ejemplo de salida:
    RX: bytes packets errors dropped overrun mcast  
    89014225 168251 0 154418 0 0  
    TX: bytes packets errors dropped carrier collsns  
    608808 6090 0 0 0 0  
    
    • Analiza el número de paquetes transmitidos y recibidos, así como posibles errores.
  4. Verificar la configuración de enrutamiento

    • Usa ip route show para visualizar la tabla de enrutamiento:
    ip route show
    
    • Ejemplo de salida:
    default via 10.138.0.1 dev eth0 proto dhcp src 10.138.0.14 metric 100 
    10.138.0.1 dev eth0 proto dhcp scope link src 10.138.0.14 metric 100
    
    • Confirma que la interfaz tiene una ruta predeterminada y una ruta específica para su subred.
  5. Probar conectividad con el enrutador

    • Usa ping para verificar la comunicación con la puerta de enlace:
    ping -c3 10.138.0.1
    
    • Confirma que los paquetes llegan NO correctamente al enrutador.
  6. Rastrear la ruta de los paquetes

    • Usa tracepath para visualizar los saltos entre el servera y el servidor bastion:
    tracepath student-#-bastion.c.curso-centos-rhel.internal
    
    • Ejemplo de salida:
     1?: [LOCALHOST]                      pmtu 1460
     1:  student-0-bastion.c.curso-centos-rhel.internal        0.673ms reached
     1:  student-0-bastion.c.curso-centos-rhel.internal        0.291ms reached
         Resume: pmtu 1460 hops 1 back 1
    
    • Confirma que el tráfico pasa correctamente por los nodos de la red.
  7. Verificar puertos de escucha en el sistema

    • Usa ss -lt para listar los sockets TCP en escucha:
    ss -lt
    
    • Ejemplo de salida:
    State   Recv-Q Send-Q Local Address:Port Peer Address:Port  
    LISTEN  0      128    0.0.0.0:sunrpc     0.0.0.0:*  
    LISTEN  0      128    0.0.0.0:ssh        0.0.0.0:*  
    LISTEN  0      128    [::]:sunrpc        [::]:*  
    LISTEN  0      128    [::]:ssh           [::]:*  
    
    • Confirma que el sistema tiene puertos abiertos para servicios como SSH.

Parte 2: Configuración de Redes con nmcli

  1. Cambiar a superusuario

    • Usa el comando sudo -i para obtener privilegios de root:
    sudo -i
    
  2. Verificar la configuración de red actual

    • Usa nmcli con show --active para listar las conexiones activas:
    nmcli con show --active
    
    • Ejemplo de salida:
    NAME                UUID                                  TYPE      DEVICE 
    Wired connection 1  9c9927b7-5a93-350f-acdf-562dab86dbeb  ethernet  eth0
    lo                  e977f020-17a3-453f-8e79-1addfef3144e  loopback  lo 
    
    • Confirma que la interfaz eth0 está activa y tiene una conexión asignada.
  3. Mostrar detalles de la conexión activa

    • Usa nmcli con show "Wired connection 1" para visualizar todos los parámetros de configuración:
    nmcli con show "Wired connection 1"
    
    • Ejemplo de salida:
    connection.id: Wired connection 1
    connection.type: 802-3-ethernet  
    connection.autoconnect: yes  
    ipv4.method: auto  
    
    • Confirma que la conexión usa una configuración DHCP con dirección IP dinámica.
  4. Modificar la conexión estática

    • Usa nmcli con mod para definir una conexión con los mismos parámetros de la conexión activa:
    nmcli con mod "Wired connection 1" ipv4.method manual \
    ipv4.addresses 10.138.0.X/32 ipv4.gateway 10.138.0.1 \
    ipv4.dns 169.254.169.254
    
  5. Verifica el cambio en la conexión

    • Usa nmcli connection reload para recargar la configuración:
    nmcli connection reload
    
  6. Reiniciar el sistema y verificar la nueva conexión

    • Reinicia la máquina servera:
    systemctl reboot
    
    • Tras el reinicio, inicia sesión nuevamente y verifica que la conexión mantenga los cambios persistentes:
    nmcli con show --active
    
    • Ejemplo de salida:
    NAME                UUID                                  TYPE      DEVICE 
    Wired connection 1  9c9927b7-5a93-350f-acdf-562dab86dbeb  ethernet  eth0
    lo                  e977f020-17a3-453f-8e79-1addfef3144e  loopback  lo 
    
  7. Verificar la conectividad con la nueva configuración

    • Confirma la dirección IP asignada:
    ip -br addr show eth0
    
    • Confirma la puerta de enlace predeterminada:
    ip route
    
  8. Cerrar sesión

    • Regresa al usuario student:
    exit
    

Parte 3: Edición Manual de Configuración de Red

  1. Cambiar a superusuario

    • Usa el comando sudo -i para obtener privilegios de root:
    sudo -i
    
  2. Ubicar el archivo de configuración de la conexión activa

    • Usa nmcli con show --active para identificar la conexión activa:
    nmcli con show --active
    
    • Ejemplo de salida:
    NAME                UUID                                  TYPE      DEVICE 
    Wired connection 1  9c9927b7-5a93-350f-acdf-562dab86dbeb  ethernet  eth0
    lo                  e977f020-17a3-453f-8e79-1addfef3144e  loopback  lo 
    
    • Confirma que Wired connection 1 es la conexión activa y su configuración se encuentra en:
    ls /etc/NetworkManager/system-connections/
    
    • Salida esperada:
    ens4.nmconnection  'Wired connection 1.nmconnection'
    
  3. Editar el archivo de configuración manualmente

    • Abre el archivo de configuración con vim:
    vim /etc/NetworkManager/system-connections/Wired\ connection\ 1.nmconnection
    
    • Cambia la IP de DNS en la sección [ipv4]:
    [ipv4]
    address1=10.138.0.X/32,10.138.0.1
    dns=8.8.8.8;
    
    • Guarda los cambios (:wq).
  4. Recargar la configuración de NetworkManager

    • Usa nmcli con reload para aplicar los cambios:
    nmcli con reload
    
  5. Verificar la nueva dirección DNS

    • Verifica el archivo /etc/resolv.conf para confirmar que la dirección DNS aún no se ha asignado correctamente:
    cat /etc/resolv.conf
    
    • Ejemplo de salida:
    # Generated by NetworkManager
    nameserver 169.254.169.254
    
  6. Recargar la configuración de DNS con el Daemon

    • Reinicia el daemon de NetworkManager:
    systemctl restart NetworkManager
    
  7. Probar la conectividad con el nuevo DNS

    • Desde servera, haz ping al DNS de google:
    ping -c3 google.com
    
    • Desde servera, haz tracepath al DNS de bastion:
    tracepath student-#-bastion.c.curso-centos-rhel.internal
    
    • Resultado esperado: Name or service not known
  8. Regresar a la dirección DNS default

    • Abre el archivo de configuración con vim:
    vim /etc/NetworkManager/system-connections/Wired\ connection\ 1.nmconnection
    
    • Cambia la IP de DNS en la sección [ipv4]:
    [ipv4]
    address1=10.138.0.X/32,10.138.0.1
    dns=169.254.169.254;
    
    • Guarda los cambios (:wq).
  9. Recargar la configuración de DNS con el Daemon

    • Reinicia el daemon de NetworkManager:
    systemctl restart NetworkManager
    
  10. Cerrar sesión

    • Regresa al usuario student:
    exit
    

Parte 4: Configuración de Nombres de Host y Resolución de Nombres

  1. Cambiar a superusuario

    • Usa el comando sudo -i para obtener privilegios de root:
    sudo -i
    
  2. Verificar el nombre de host actual

    • Usa hostname para mostrar el nombre de host actual:
    hostname
    
    • Usa hostnamectl status para obtener información detallada:
    hostnamectl status
    
    • Ejemplo de salida:
     Static hostname: student-0-servera
           Icon name: computer-vm
             Chassis: vm 🖴
          Machine ID: 71a2f780e4404218a0e68e65aba54ab2
             Boot ID: b711e41465ba409ba81399a14e7b7c26
      Virtualization: kvm
    Operating System: Red Hat Enterprise Linux 9.5 (Plow)
         CPE OS Name: cpe:/o:redhat:enterprise_linux:9::baseos
              Kernel: Linux 5.14.0-503.40.1.el9_5.x86_64
        Architecture: x86-64
    
  3. Configurar un nombre de host estático

    • Usa hostnamectl para establecer el nombre de host permanente:
    hostnamectl set-hostname servera.lab.example.com
    
    • Verifica que el archivo /etc/hostname se ha actualizado:
    cat /etc/hostname
    
    • Salida esperada:
    servera.lab.example.com
    
  4. Cerrar sesión y volver a iniciar sesión

    • Cierra la sesión en servera:
    exit
    
    • Vuelve a iniciar sesión y verifica el nombre de host:
    sudo -i
    
    • Confirma que el nombre de host temporal ya no se muestra.
  5. Configurar el nombre de host estático default

    • Usa hostnamectl para establecer el nombre de host permanente:
    hostnamectl set-hostname student-#-servera
    
    • Verifica que el archivo /etc/hostname se ha actualizado:
    cat /etc/hostname
    
    • Salida esperada:
    student-#-servera
    
  6. Configurar un nombre de host temporal

    • Usa hostname para cambiar el nombre de host temporalmente:
    hostname testname
    
    • Verifica el cambio con:
    hostname
    
    • Reinicia el sistema y verifica que el nombre de host vuelve al valor estático:
    systemctl reboot
    
  7. Agregar un alias en /etc/hosts

    • Usa host para obtener la dirección IP del servera:
    host student-#-servera
    
    • Ejemplo de salida:
    student-#-servera has address 10.138.0.X
    
    • Edita el archivo /etc/hosts para agregar un alias student:
    vim /etc/hosts
    
    • Agrega la siguiente línea:
    10.138.0.X student-X-servera.c.curso-centos-rhel.internal student-X-servera student
    
    • Guarda los cambios (:wq).
  8. Verificar la resolución de nombres

    • Usa getent hosts student para confirmar la resolución del alias:
    getent hosts student
    
    • Salida esperada:
    10.138.0.X student-X-servera.c.curso-centos-rhel.internal student-X-servera student
    
    • Usa ping para probar la conectividad con el alias student:
    ping -c3 student
    
    • Ejemplo de salida:
    PING student-0-servera.c.curso-centos-rhel.internal (10.138.0.14) 56(84) bytes of data.
    64 bytes from student-0-servera.c.curso-centos-rhel.internal (10.138.0.14): icmp_seq=1 ttl=64 time=0.045 ms
    64 bytes from student-0-servera.c.curso-centos-rhel.internal (10.138.0.14): icmp_seq=2 ttl=64 time=0.064 ms
    64 bytes from student-0-servera.c.curso-centos-rhel.internal (10.138.0.14): icmp_seq=3 ttl=64 time=0.062 ms
    
  9. Sal de servera y vuelve al bastion:

    exit
    

Resultados Esperados

  • Los participantes podrán identificar interfaces de red activas y analizar estadísticas de tráfico.
  • Se configurarán conexiones de red utilizando nmcli y archivos de configuración manuales.
  • Se aplicarán técnicas de diagnóstico para solucionar problemas de conectividad y enrutamiento.
  • Se entenderá el proceso de resolución de nombres en Linux y se configurarán correctamente los servidores DNS.
  • Se establecerán nombres de host para servidores, asegurando la correcta identificación de los equipos en la red.