Я не могу запросить интерфейсы GigabitEthernet на коммутаторе cisco 2960.
Когда я выполню:
use Net::SNMP;
use Net::SNMP::Interfaces;
my $interfaces = Net::SNMP::Interfaces->new(Hostname => $hostname, Community => $community);
my @inter = $interfaces->all_interfaces();
my $it;
for my $i (@inter) {
my $it = $i->ifDescr();
print $i->name()."\n";
}
Я получаю вывод:
FastEthernet0 / 1
FastEthernet0 / 2
FastEthernet0 / 3 * +1010 *
...
FastEthernet0 / 23
FastEthernet0 / 24
GigabitEthernet0 / 1
GigabitEthernet0 / 2
Итак, до сих пор все в порядке.
Я получаю ifIndex интерфейса GigabitEthernet (например, GigabitEthernet0 / 2):
my $in = $interfaces->interface("GigabitEthernet0/2");
print "INDEX:".$in->index()."\n";
Возвращает:
INDEX:10102
Итак, я знаю ifIndex моего интерфейса.
Но мне нужно также получить VLAN, чтобы получить информацию о скорости, псевдониме, дуплексе, MAC-адресе, подключенном к этому интерфейсу ....
Здесь начинаются проблемы:
#Listing all VLANS
my $vmVlan = "1.3.6.1.4.1.9.9.68.1.2.2.1.2";
my $vlans = SnmpUtil->new($hostname, $community);
my %vl = $vlans->requeteTable($vmVlan);
foreach my $k (keys(%vl)) {
print "Clef=$k Valeur=$vl{$k}\n";
}
Отображается:
...
Ключ = 10013 Валер = 1
Clef = 10011 Valeur = 1
Ключ = 10014 Валер = 1
Ключ = 10002 Валер = 10
...
Но если в этом хеше нет индекса GigabitEthernet0 / 2 (10102) ...
Поэтому я не могу найти VLAN.
Как получить всю информацию об интерфейсе GigabitEthernet? Другое решение?
Нужна помощь, большая награда!
РЕДАКТИРОВАТЬ :
Решение найдено, порты GigabitEhernet, по-видимому, находятся в VLAN 1, даже если они не отображаются в lising vlan.