Ottenere l'IP del nostro server con uno script Bash

Ottenere l'IP del nostro server con uno script Bash

Nell'ambito dell'amministrazione di server, ottenere l'indirizzo IP di una macchina è spesso una necessità basilare. Ci sono diverse situazioni in cui potresti aver bisogno di recuperare l'IP di un server su cui stai lavorando direttamente tramite uno script Bash eseguito sullo stesso server. Potrebbe trattarsi di un automatismo per configurazioni di rete, per il monitoraggio dello stato del server o per altre attività di amministrazione di sistema.

In questo articolo, esamineremo un modo per ottenere l'IP di un server utilizzando uno script Bash eseguito sulla stessa macchina.

Un metodo intuitivo in apparenza sarebbe quello di usare il comando hostname, ma tale approccio non offre risultati coerenti. Un metodo più affidabile richiede l'uso del comando ip per ottenere le informazioni sull'interfaccia di rete principale (ad esempio eth0) e da li estrarre l'indirizzo IP del server.


#!/bin/bash

# Ottiene l'indirizzo IP del server
# dall'interfaccia di rete principale

int_output=$(ip a list eth0)
server_ip=$(echo "$int_output" | grep "inet " | awk '{print $2}' | awk -F/ '{print $1}')
echo $server_ip

Il cuore dello script risiede nell'interfaccia scelta tramite il comando ip. Con il comando grep, quindi, filtriamo la riga che presenta la stringa inet e da li individuiamo l'IP nella sequenza che segue. Se invece avessimo usato:


ip_address=$(ip addr show | grep -oE '\b([0-9]{1,3}\.){3}[0-9]{1,3}\b')

avremmo ottenuto l'elenco di tutti gli indirizzi IP del server, incluso quello di loopback, in quanto la selezione in questo caso comprende tutte le interfacce di rete.

Conclusione

Ottenere l'indirizzo IP di un server utilizzando uno script Bash eseguito sulla stessa macchina può essere un'operazione relativamente semplice utilizzando strumenti comuni come ip, insieme a strumenti di filtraggio come grep e awk. È importante considerare la specificità delle tue esigenze di rete e la tua preferenza personale quando si tratta di utilizzare uno strumento rispetto a un altro.

Assicurati sempre di testare attentamente i tuoi script e di considerare la sicurezza delle informazioni sensibili, specialmente quando si tratta di informazioni di rete.

Torna su