Configurazione iniziale
Come amministratore Linux hai installato un nuovo box Linux con 6 schede NIC da eth0 a eth5. L'interfaccia eth0 è configurata correttamente e tutte le altre interfacce sono attualmente attive ma senza indirizzo IP. I ragazzi della rete hanno semplicemente collegato quattro cavi a questa scatola. Due cavi LAN vengono utilizzati per collegare la scatola alla rete di produzione e due per collegare la scatola a una rete privata. Sai solo che eth0 è collegato alla rete di produzione. Ma non sai quale altra scheda NIC è connessa allo stesso switch in quanto esistono diverse generazioni di server e / o i ragazzi della rete usano le NIC sbagliate per le loro connessioni.
Compito a portata di mano
Poiché questa configurazione è tipica della tua infrastruttura, vuoi automatizzare la configurazione delle interfacce di bonding. Ora hai il compito di rilevare quali schede di rete non sono affatto collegate e quali schede di rete sono collegate allo stesso switch in modo che possano essere collegate. Hai accesso solo alle caselle Linux e non puoi eseguire query sugli switch.
idee
Rilevare lo stato del collegamento è semplice:
ethtool $device | grep 'Link detected' | cut -d ':' -f 2
Ma come abbinare i dispositivi collegati allo stesso switch?
In HP-UX esiste uno strumento a tale scopo chiamato linkloop [1]. Manca lo strumento ufficiale Linux (esiste un vecchio progetto SourceForce).
Le possibili soluzioni che mi sono già venute in mente sono:
Ascolta su tutte le interfacce con tcpdump. Crea e invia un pacchetto ICMP (broadcast). Le interfacce che vedono quel pacchetto devono essere collegate allo stesso switch. -> bisogno di suggerimenti di strumenti semplici che possono essere utilizzati per questo. Vorrei usare semplici comandi shell o Python per lo scripting.
Prova a parlare con un box esterno tramite un protocollo semplice (HTTP?) E vedi se c'è una risposta. -> Errore incline e dipendente da una scatola esterna.
Hai ulteriori idee o suggerimenti su come risolvere questo compito?
Grazie in anticipo per tutti i commenti!