Ciscoスイッチ2960でGigabitEthernetインターフェイスを要求できません
。実行すると:
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
...
FastEthernet0 / 23
FastEthernet0 / 24
GigabitEthernet0 / 1
GigabitEthernet0 / 2
だから、今までは、すべてが大丈夫です。
GigabitEthernetインターフェイス(例:GigabitEthernet0 / 2)のifIndexを取得します。
my $in = $interfaces->interface("GigabitEthernet0/2");
print "INDEX:".$in->index()."\n";
戻ります:
INDEX:10102
だから、私は自分のインターフェースのifIndexを知っています。
ただし、このインターフェイスに接続されている速度、エイリアス、デュプレックス、MACアドレスに関する情報を取得するには、VLANも取得する必要があります。
ここで問題を開始します:
#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";
}
表示されます:
...
Clef = 10013 Valeur = 1
Clef = 10011 Valeur = 1
Clef = 10014 Valeur = 1
Clef = 10002 Valeur = 10
.. ..
しかし、GigabitEthernet0 / 2(10102)のifIndexがこのハッシュに含まれて
いないため、VLANが見つかりません。
GigabitEthernetインターフェイスのすべての情報を取得するにはどうすればよいですか?他の解決策?助けが必要です、大きな報酬!
編集:
解決策が見つかりました。GigabitEhernetポートは、lising vlanに表示されていなくても、VLAN1にあるようです。