En aquest mòdul, aprendrem com utilitzar Bash per a tasques relacionades amb xarxes. Això inclou la configuració de xarxes, la comunicació entre sistemes i la gestió de connexions de xarxa. Aquestes habilitats són essencials per a l'administració de sistemes i la gestió de servidors.

Objectius del Mòdul

  • Entendre les comandes bàsiques de xarxa en Bash.
  • Aprendre a utilitzar ping, curl, wget i altres eines de xarxa.
  • Gestionar connexions de xarxa i transferències de fitxers.
  • Automatitzar tasques de xarxa amb scripts Bash.

Contingut

Comandes Bàsiques de Xarxa

ping

La comanda ping s'utilitza per comprovar la connectivitat entre el teu sistema i un altre sistema de xarxa.

ping google.com

Explicació:

  • ping envia paquets ICMP a l'adreça especificada (en aquest cas, google.com) i espera una resposta.
  • És útil per diagnosticar problemes de xarxa.

curl

curl és una eina per transferir dades des d'un servidor o cap a un servidor, utilitzant diversos protocols.

curl http://example.com

Explicació:

  • curl fa una petició HTTP a example.com i mostra la resposta.
  • Pot utilitzar-se amb altres protocols com FTP, SMTP, etc.

wget

wget és una altra eina per descarregar fitxers des d'Internet.

wget http://example.com/file.txt

Explicació:

  • wget descarrega el fitxer file.txt des de example.com.
  • És útil per descarregar fitxers grans o múltiples fitxers.

netstat

netstat mostra informació sobre connexions de xarxa, taules de ruta, estadístiques d'interfície, etc.

netstat -tuln

Explicació:

  • -tuln mostra les connexions TCP i UDP en mode d'escolta i les adreces numèriques.

Transferència de Fitxers

scp

scp (Secure Copy) s'utilitza per copiar fitxers entre hosts en una xarxa de manera segura.

scp localfile.txt user@remotehost:/path/to/destination

Explicació:

  • localfile.txt és el fitxer local que vols copiar.
  • user@remotehost:/path/to/destination és la destinació remota.

rsync

rsync és una eina per sincronitzar fitxers i directoris entre dos llocs.

rsync -avz localdir/ user@remotehost:/path/to/destination

Explicació:

  • -avz són opcions per a l'arxiu, mode verbós i compressió.
  • localdir/ és el directori local que vols sincronitzar.

Automatització de Tasques de Xarxa

Exemple d'Automatització amb curl

#!/bin/bash

URLS=("http://example.com" "http://example.org" "http://example.net")

for URL in "${URLS[@]}"; do
    STATUS=$(curl -o /dev/null -s -w "%{http_code}\n" $URL)
    echo "Status code for $URL: $STATUS"
done

Explicació:

  • Aquest script comprova l'estat HTTP de diverses URL.
  • Utilitza curl per obtenir el codi d'estat HTTP i el mostra per a cada URL.

Exercicis Pràctics

Exercici 1: Comprovació de Connectivitat

Escriu un script que comprovi la connectivitat a una llista de servidors i mostri si cada servidor és accessible o no.

Solució:

#!/bin/bash

SERVERS=("google.com" "example.com" "nonexistentdomain.xyz")

for SERVER in "${SERVERS[@]}"; do
    if ping -c 1 $SERVER &> /dev/null; then
        echo "$SERVER is reachable"
    else
        echo "$SERVER is not reachable"
    fi
done

Exercici 2: Descarregar Fitxers

Escriu un script que descarregui una llista de fitxers des d'Internet i els guardi en un directori específic.

Solució:

#!/bin/bash

URLS=("http://example.com/file1.txt" "http://example.com/file2.txt")
DEST_DIR="/path/to/destination"

mkdir -p $DEST_DIR

for URL in "${URLS[@]}"; do
    wget -P $DEST_DIR $URL
done

Conclusió

En aquest mòdul, hem après a utilitzar diverses eines de xarxa en Bash, com ping, curl, wget, scp i rsync. També hem vist com automatitzar tasques de xarxa amb scripts Bash. Aquestes habilitats són essencials per a l'administració de sistemes i la gestió de servidors. En el següent mòdul, explorarem tècniques avançades de scripting per millorar encara més les nostres habilitats en Bash.

© Copyright 2024. Tots els drets reservats