En este módulo, aprenderemos cómo utilizar Bash para realizar tareas relacionadas con redes. Esto incluye la verificación de conectividad, la transferencia de archivos, la consulta de información de red y la automatización de tareas de red. Al final de este módulo, serás capaz de manejar diversas operaciones de red utilizando scripts de Bash.

Contenidos

Verificación de Conectividad

Ping

El comando ping se utiliza para verificar la conectividad entre tu máquina y otra máquina en la red.

ping -c 4 google.com
  • -c 4: Envía 4 paquetes de ping.

Ejercicio Práctico

Ejercicio: Escribe un script que verifique la conectividad a una lista de sitios web y guarde los resultados en un archivo de log.

#!/bin/bash

# Lista de sitios web
sites=("google.com" "github.com" "stackoverflow.com")

# Archivo de log
log_file="connectivity.log"

# Verificar conectividad
for site in "${sites[@]}"; do
    if ping -c 1 "$site" &> /dev/null; then
        echo "$(date): $site is reachable" >> "$log_file"
    else
        echo "$(date): $site is not reachable" >> "$log_file"
    fi
done

Solución

Este script itera sobre una lista de sitios web, realiza un ping a cada uno y guarda el resultado en un archivo de log.

Transferencia de Archivos

SCP (Secure Copy)

El comando scp se utiliza para transferir archivos de manera segura entre hosts.

scp localfile.txt user@remotehost:/path/to/destination
  • localfile.txt: Archivo local a transferir.
  • user@remotehost:/path/to/destination: Destino remoto.

Ejercicio Práctico

Ejercicio: Escribe un script que transfiera un archivo a múltiples servidores.

#!/bin/bash

# Archivo a transferir
file_to_transfer="localfile.txt"

# Lista de servidores
servers=("user1@server1:/path/to/destination" "user2@server2:/path/to/destination")

# Transferir archivo
for server in "${servers[@]}"; do
    scp "$file_to_transfer" "$server"
done

Solución

Este script itera sobre una lista de servidores y utiliza scp para transferir un archivo a cada uno.

Consulta de Información de Red

ifconfig y ip

El comando ifconfig se utiliza para configurar interfaces de red, mientras que ip es una herramienta más moderna y versátil.

ifconfig
ip addr show

Ejercicio Práctico

Ejercicio: Escribe un script que muestre la dirección IP de todas las interfaces de red.

#!/bin/bash

# Mostrar direcciones IP
ip addr show | grep "inet " | awk '{print $2}'

Solución

Este script utiliza ip addr show para mostrar la información de las interfaces de red y grep para filtrar las líneas que contienen direcciones IP.

Automatización de Tareas de Red

Cron Jobs

Los trabajos cron se utilizan para automatizar tareas en intervalos regulares.

crontab -e

Ejemplo de entrada en crontab para ejecutar un script cada día a las 2 AM:

0 2 * * * /path/to/script.sh

Ejercicio Práctico

Ejercicio: Escribe un script que verifique la conectividad a un servidor y lo programe para que se ejecute cada hora.

#!/bin/bash

# Servidor a verificar
server="google.com"

# Verificar conectividad
if ping -c 1 "$server" &> /dev/null; then
    echo "$(date): $server is reachable"
else
    echo "$(date): $server is not reachable"
fi

Solución

Este script verifica la conectividad a un servidor y puede ser programado en cron para ejecutarse cada hora.

0 * * * * /path/to/connectivity_check.sh

Conclusión

En este módulo, hemos aprendido cómo utilizar Bash para realizar diversas tareas relacionadas con redes, incluyendo la verificación de conectividad, la transferencia de archivos, la consulta de información de red y la automatización de tareas de red. Estos conocimientos te permitirán manejar operaciones de red de manera eficiente y automatizar tareas repetitivas, mejorando así tu productividad y capacidad de gestión de sistemas.

En el siguiente módulo, profundizaremos en la automatización y programación con Bash, explorando cómo utilizar trabajos cron y scripts para automatizar tareas complejas.

© Copyright 2024. Todos los derechos reservados