Я пытаюсь получить список устройств, которые подключены к моему коммутатору Cisco (Catalyst 2960). Желательно через SNMP. Вот что я уже сделал:
Мне удалось получить таблицу ARP с коммутатора (через OMP-ходунки SNMP 1.3.6.1.2.1.4.22.1.2
на коммутаторе). Однако это не отражает «живой» набор IP-адресов, поскольку ARP не обновляется, когда устройства отключаются. Другими словами, когда я перезагружаю устройство, и оно получает новый IP-адрес (динамический), я получаю старый IP-адрес, также указанный в моей таблице ARP, даже если этот IP-адрес в данный момент отсутствует в сети.
Могу ли я найти этот «живой» список через коммутатор, предпочтительно избегая таблицы ARP?
PS Я не могу постоянно пинговать устройства, чтобы определить их состояние, я работаю в условиях очень низкой пропускной способности.
источник
Ответы:
Является ли широковещательный пинг в подсеть от SVI на коммутаторе (который имеет низкую пропускную способность), и использование
show mac address-table dynamic
вне вопроса?На этом этапе используйте таблицу ARP для сопоставления с mac-адреса на IP-адрес.
Делать это с помощью SNMP возможно, но несколько болезненно, если вам нужно знать, на каком порту находится каждый mac-адрес ... используйте dot1dTpFdbAddress для захвата mac-адресов, dot1dBasePortIfIndex для сопоставления с интерфейсом,
ifIndex
а затемifName
для сопоставления сifIndex
именем, которое вы ' узнаю.источник
172.16.1.0/24
это широковещательный пинг для этой подсетиping 172.16.1.255
... относительно snmp, я сказал, что это больно :-). .. ты уверен, что опросилsnmpbulkwalk -v 2c -m BRIDGE-MIB -c <snmp-community>@<vlan> <host-address> dot1dTpFdbAddress
? Другими словами, если ваше сообщество "PUBLIC" и вы опрашиваете Vlan 501, опросите BRIDGE-MIB с сообществом "PUBLIC @ 501"ifOperStatus
, что означает запутанное упражнение по сопоставлению значений MIB, которое я упомянул в своем ответе. Если все эти машины используют DHCP, вы можете рассмотреть DHCP snooping, как предложено в GeneralNetworkError нижеDHCP Snooping для IP-адресов L3 и MAC-адресов L2, если вы хотите просто идентифицировать своих клиентов, используя динамические адреса. Это используется для обеспечения безопасности, чтобы блокировать мошеннические DHCP-серверы и разрешать прием пакетов только на портах коммутатора с действительными адресами DHCP, которые были предложены и запрошены (т. Е. Фактически используются).
Включите dhcp snooping глобально для ваших VLAN, которые вы хотите наблюдать
Убедитесь, что идентифицировали ваши доверенные интерфейсы, за которыми стоят ваши DHCP-серверы, используя:
Пример таблицы привязок IP-MAC-адресов:
См. CiscoDhcpSnoopingMIB для доступа SNMP к этим объектам. OID 1.3.6.1.4.1.9.9.380
источник
Если IP-адреса динамические, то для получения пар mac-ip у вас должны быть логи dhcp. тогда с помощью SNMP вы можете попытаться понять, какие у вас устройства. но имейте в виду, что вам необходимо настроить и разрешить snmp со своей станции. Если вы говорите о компьютерах с Windows, тогда проще использовать powershell для сбора информации о рабочих станциях. Вы также можете попробовать использовать nmap для сканирования всей подсети и получения дополнительной информации о ее обитателях.
источник
Это, вероятно, нарушит ваши требования к пропускной способности, но вы можете использовать snmp discovery sw как «чувак». Вам необходимо настроить сообщества и частные vlans соответствующим образом, чтобы трафик snmp возвращался на сервер. Если вы заинтересованы в этом решении, я мог бы дать вам более подробную информацию о требуемых настройках vlans и sw.
источник