0


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にあるようです。

4

1 に答える 1

0

これらのインターフェイスがトランク モードの場合、その OID では表示されません。CISCO-VLAN-MEMBERSHIP-MIB は、非トランキング ポート専用です。

CISCO-VTP-MIB から vlanTrunkPortDynamicStatus を試して確認できます。

于 2011-05-12T14:00:07.993 に答える