linux + qual ferramenta pode ajudar a identificar qual eth nas máquinas Linux conectadas a qual porta no switch cisco

2

Eu tenho um sistema com mais de 50 máquinas Linux diferentes (máquinas BLADE) com o seguinte intervalo IP

      165.23.1.21-165.23.1.64 ( each Linux machine have 4 eth - eth1,2,3,4)

O sistema conectado a 4 switches Cisco via cabo LANS

Minha meta é verificar se cada eth na máquina Linux foi este eth conectado a qual porta no switch

por exemplo

./ my_tool

   machine1 results


   linux_machine1_eth0  connected to switch_1_port_15
   linux_machine1_eth1  connected to switch_2_port_15
   linux_machine1_eth2  connected to switch_1_port_16
   linux_machine1_eth3  connected to switch_2_port_16


   machine2 results


   linux_machine2_eth0  connected to switch_1_port_22
   linux_machine2_eth1  connected to switch_4_port_7
   linux_machine2_eth2  connected to switch_1_port_23
   linux_machine2_eth3  connected to switch_4_port_8

   .
   .

Minha pergunta sobre qual ferramenta pode ajudar a identificar qual eth nas máquinas Linux conectadas a qual porta no switch?

       remark -     1. the tool can be also script that runs on the Linux machines
                    2. we have access to the switch by telnet 
    
por Diana 21.08.2011 / 15:04

4 respostas

2

Eu acho que você terá que ir para cada switch e emitir o comando

show mac-address-table

e anote as informações fornecidas. Então vá para cada máquina linux e faça algo como

echo $(hostname); ifconfig eth0 | grep HWaddr | awk '{print " "$1,$5}'

Agora você tem duas listas para corresponder.

    
por 21.08.2011 / 15:40
2

Se o CDP estiver ativado no switch, você pode fornecer cdpr uma tentativa. É um programa simples que você executa nos servidores e ouve os anúncios do CDP.

petrus@seth:~$ sudo cdpr
cdpr - Cisco Discovery Protocol Reporter
Version 2.2.1
Copyright (c) 2002-2006 - MonkeyMental.com

1. eth0 (No description available)
2. wlan0 (No description available)
3. virbr0 (No description available)
<snip>
12. lo (No description available)
Enter the interface number (1-12):1
Using Device: eth0
Waiting for CDP advertisement:
(default config is to transmit CDP packets every 60 seconds)

Device ID
  value:  switch01           
Addresses
  value:  192.168.12.15 
Port ID
  value:  0/15

cdpr também pode enviar os detalhes para um servidor da web usando uma solicitação GET.

    
por 21.08.2011 / 16:03
2

Você pode escrever um script perl usando Net::Telnet::Cisco e Net::OpenSSH para automatizar isso. Eu vou fornecer um aqui se eu encontrar algum tempo hoje.

UPDATE

Como solicitado pelo questionador em um comentário: Se você deseja obter as informações via SNMP, há uma excelente documentação na biblioteca do cisco: link

Resumindo: Você precisa mesclar as saídas de cinco snmpwalk s (onde crumpy é o nome do switch)

snmpwalk -c public crumpy .1.3.6.1.4.1.9.9.46.1.3.1.1.2 # get vlan states
snmpwalk -c public@1 crumpy .1.3.6.1.2.1.17.4.3.1.1     # get mac table
snmpwalk -c public@1 crumpy .1.3.6.1.2.1.17.4.3.1.2     # get the switchport numbers for the vlans (here Vlan1)
snmpwalk -c public@1 crumpy .1.3.6.1.2.1.17.1.4.1.2     # switchport to if number
snmpwalk -c public@1 crumpy .1.3.6.1.2.1.31.1.1.1.1     # get the interface names

Do Documentos:

6. Link a MAC address to the port on which the address was learned.

* From Step 1, the MAC address is:
      17.4.3.1.1.0.0.12.7.172.8 = Hex: 00 00 0C 07 AC 08

*  From Step 2, the bridge port tells that the MAC address belongs to bridge port number 13:
      17.4.3.1.2.0.0.12.7.172.8 = 13 

*  From Step 3, the bridge port number 13 has ifIndex number 2:
      17.1.4.1.2.13 = 2

*  From Step 4, the ifIndex 2 corresponds to port Fast Ethernet 0/1:
      ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.2 = Fa0/1
    
por 21.08.2011 / 15:42
1

OpenNMS faz isso bem por meio de seu Recurso Linkd , descobrindo automaticamente links entre nós por meio de SNMP, CDP e via informações de roteamento. Ele também permite que você crie mapas de topologia .

A página de links do switch é assim:

Enquantoapáginadelinksdonóseparececom:

Fora isso, você está preso a alguma versão de uma rotina show mac address no switch.

    
por 21.08.2011 / 15:46