Gostaria de obter tabelas ARP de um switch para um servidor syslog-ng configurado no Ubuntu Server 12.04 LTS. Eu li sobre o SNMP e sei que o servidor atuará como gerente e o switch como agente. Eu tenho detalhes sobre onde o MIB está contido e devo usar o comando
snmpwalk -v2c -c <community> <SwitchIP> .1.3.6.1.2.1.17.4.3.1.2
Quero que as tabelas arp resultantes sejam direcionadas para o meu servidor.
Meu problema é que não sei exatamente onde executar o comando ou salve a saída em um arquivo.
Respostas:
Parece haver um pouco de confusão ... você está perguntando sobre tabelas ARP e está usando o OID
.1.3.6.1.2.1.17.4.3.1.2
; no entanto, esse OID é realmente para a tabela de endereços mac no comutador.Estou assumindo que você sabe como fazer login no seu servidor Ubuntu e que
NET-SNMP
está instalado ... por favor, deixe-me saber se você precisa de ponteiros para fazer isso (consulte esta pergunta para obter dicas sobre como carregar MIBs no linux ). Alguns dos meus exemplos assumem que você tem os MIBs carregados no servidor ... você só precisa remover a-m <mib-name>
opção nos comandos se não tiver os MIBs carregados localmente.Peço desculpas antecipadamente pela extensão desta resposta ... Desejo que a pesquisa com SNMP não seja tão complicada ...
Sondando a tabela de endereços mac:
Se você realmente deseja que a tabela de endereços MAC seja trocada, lembre-se de que você deve alterar a string da comunidade com a qual você pesquisa ... deve ser na forma de
<commity@vlan>
... cada vlan que você pesquisa precisa de uma comunidade diferente.No meu exemplo abaixo, o switch em 172.16.1.210 está configurado com
snmp-server community public ro
e estou pesquisando a tabela de endereços mac na vlan-10 com dot1dTpFdbPort do BRIDGE-MIB .Na saída acima, 52 é o valor de
dot1dBasePort
, que é um número que o MIB usa para indexar a tabela dot1dTp. Para converter isso em um nome de interface normal, é necessário mapear isso para um ifName ... O BRIDGE-MIB faz isso com dot1dBasePortIfIndex ...Portanto, sabemos que todos os endereços mac neste switch foram aprendidos através do FastEthernet 0/48 na vlan-10.
Sondando os Vlans ativos:
Se você não tiver certeza de quais vlans pesquisar em um switch, poderá obter essas informações
.1.3.6.1.4.1.9.9.46.1.3.1.1.2
, que é vtpVlanState no CISCO-VTP-MIB ...Lembre-se de que os Vlans 1002-1005 são Cisco Vlans internos que você não deve pesquisar.
Sondando a tabela ARP
Se você realmente deseja a tabela ARP a partir do switch, é necessário pesquisar atPhysAddress ...
Salvando a Saída do Comando em um Arquivo
Estamos investigando áreas que estão fora do escopo normal deste site, mas para salvar a tabela ARP acima em um arquivo
/tmp/S01_ARP.txt
, você adicionaria> /tmp/S01_ARP.txt
ao final das informaçõessnmpbulkwalk
acima ...Como você vê acima, você pode usar
cat
no linux para obter toda a saída de um arquivo de texto. NOTA: Algumas distribuições linux (ahem ... CentOS) limpam o/tmp
diretório mensalmente. Você deve usar seuHOME
diretório no linux para armazenar o arquivo. Não me lembro da limpeza do Ubuntu/tmp
, mas, por segurança, evitava guardar coisas lá.Notas diversas sobre SNMP ...
Se você não carregou todos os MIBs da Cisco em sua máquina Ubuntu, evite usar os
-m <mib-name>
sinalizadores nossnmpbulkwalk
comandos. Carregar MIBs permite pesquisar com um nome OID, em vez do número longo pontilhado ...Informação de referência:
Estou incluindo alguns comandos show do switch, caso você tenha dúvidas sobre a CLI dos comandos SNMP acima ...
fonte
man snmpcmd
se você está em um host Linux e tem o Net-SNMP instalado. Caso contrário, você pode encontrar essas informações aqui: net-snmp.sourceforge.net/docs/man/snmpcmd.html