En tant qu'administrateur Linux, vous avez installé une boîte de Linux fraîche avec 6 niques ETH0 à ETH5. L'interface ETH0 est correctement configurée et toutes les autres interfaces sont actuellement en hausse mais sans adresse IP. Les gars du réseau ont simplement joint à quatre câbles à cette boîte. Deux câbles LAN sont utilisés pour connecter la boîte au réseau de production et deux sont utilisés pour connecter la boîte à un réseau privé. Vous savez que si l'ETH0 est connecté au filet de production. Mais vous ne savez pas quel autre NIC est connecté au même commutateur qu'il existe différentes générations de serveur et/ou les gars de réseau utilisent les mauvais NICS pour leurs connexions.
Comme cette configuration est typique de votre infrastructure, vous souhaitez automatiser la configuration des interfaces de liaison. Maintenant, vous avez la tâche à détecter quels nics ne sont pas connectés du tout et quels NIC sont liés au même commutateur afin qu'ils puissent être liés. Vous n'avez que l'accès aux boîtes Linux et ne pouvez pas interroger les commutateurs.
ethtool $device | grep 'Link detected' | cut -d ':' -f 2
Dans HP-UX, il y a un outil à cet effet appelé Linkloop [1]. L'outil officiel Linux est manquant (il y a un ancien projet Sourceforce, cependant).
Des solutions possibles qui sont déjà venues à mon esprit sont les suivantes:
Écoutez sur toutes les interfaces avec TCPDump. Craft et envoyer un paquet ICMP (diffusée). Les interfaces qui voient que le paquet doit être connecté au même commutateur. -> Besoin de suggestions d'outils simples pouvant être utilisés pour cela. Je voudrais utiliser des commandes de shell simples ou Python pour le script.
Essayez de parler à une boîte externe via un protocole facile (http?) Et voir s'il y a une réponse. -> Erreur sujette et dépendante d'une boîte externe.
Avez-vous d'autres idées ou suggestions comment résoudre cette tâche?
Merci d'avance pour tous les commentaires!
Si l'interrupteur communiquera avec vous à l'aide de LLDP, vous pourrez peut-être exécuter [~ # ~] lldp [~ # ~ ~] et trouver plus d'informations là-bas.
Si les interrupteurs sont des périphériques Cisco, vous pouvez peut-être obtenir des informations CDP, à condition qu'elles annonçaient/diffuser des informations CDP
par exemple outils CDP ou CDPR
Pourquoi ne pas simplement télécharger et construire l'outil linkloop
? Ce n'est pas si vieux ...
Sinon, j'utiliserais simplement un outil qui diffusera sur la couche 2 et vérifiera que vous le recevez via TCPDump.
Envoi d'un paquet ICMP de diffusion est facile ping -b 192.168.1.255